Update document metadata
PATCH a document to change its fields. The body is a partial update — send only the fields you want to change; you never resend vectors. Any fields you pass are merged into the document.
PATCH /v1/collections/{collection_id}/documents/bulk.
Send update_data with the field-value pairs to apply, and filters to choose which
documents receive them. Omitting filters updates every document in the collection.
Updating metadata does not re-run extraction or change vectors — it only edits the stored payload. To change the embedding model, see Migrate Embedding Models.
PATCH /v1/collections/{collection_id}/documents/{document_id}/acl — see Permissions.
Object metadata vs document metadata are separate. The
PATCH above edits a document (a processed, searchable record in a collection). To edit the source object in the bucket, use PUT /v1/buckets/{bucket_id}/objects/{object_id} with a metadata object (merged with existing). Editing one does not change the other, and re-processing an object regenerates its documents from the object’s current state.Delete data
Deleting many documents
DELETE /v1/collections/{collection_id}/documents/batch takes document_ids or
filters, and the two are mutually exclusive. Which one you send decides whether the
call is synchronous, so the response shape differs between them.
reason is optional on both modes and is recorded on the DOCUMENT_BULK_SOFT_DELETED
audit entry.
Synced sources
If documents came from a storage sync, the sync’sreconcile.on_delete is true by default, so deleting a file in the source (S3, Google Drive, etc.) automatically removes the corresponding object and its derived documents. Set reconcile.on_delete to false to keep Mixpeek objects when the source asset is deleted.
Related
- Documents — document structure and payload
- Syncs — source-deletion cascade (
on_delete) - Ingest Data — objects, batches, collections

