Skip to main content
How to change and remove data after ingestion, and exactly what each delete cascades to.

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.
curl -sS -X PATCH \
  "$MP_API_URL/v1/collections/$COLLECTION_ID/documents/$DOCUMENT_ID" \
  -H "Authorization: Bearer $MP_API_KEY" \
  -H "X-Namespace: $MP_NAMESPACE" \
  -H "Content-Type: application/json" \
  -d '{ "status": "reviewed", "priority": 3 }'
To update many documents at once, use PATCH /v1/collections/{collection_id}/documents/batch (bulk update).
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.
To change access control (not metadata), use the dedicated ACL endpoint PATCH /v1/collections/{collection_id}/documents/{document_id}/acl — see Permissions.

Delete data

Deletes are permanent and some cascade. Read the cascade column before deleting — removing a bucket object or a collection also destroys derived documents.
DeleteEndpointCascades to
A documentDELETE /v1/collections/{collection_id}/documents/{document_id}Just that document
Many documentsDELETE /v1/collections/{collection_id}/documents/batchThe documents you list
A bucket objectDELETE /v1/buckets/{bucket_id}/objects/{object_id}Hard-deletes every collection document derived from that object
A collectionDELETE /v1/collections/{collection_id}All documents in the collection
A namespaceDELETE /v1/namespaces/{namespace_id}Everything in the namespace (buckets, collections, documents, retrievers)
# Delete a single document
curl -sS -X DELETE \
  "$MP_API_URL/v1/collections/$COLLECTION_ID/documents/$DOCUMENT_ID" \
  -H "Authorization: Bearer $MP_API_KEY" -H "X-Namespace: $MP_NAMESPACE"

# Delete a bucket object (also removes its derived documents)
curl -sS -X DELETE \
  "$MP_API_URL/v1/buckets/$BUCKET_ID/objects/$OBJECT_ID" \
  -H "Authorization: Bearer $MP_API_KEY" -H "X-Namespace: $MP_NAMESPACE"
Deleting the object is the right move when you want the source asset and its derived documents gone. Deleting just the document leaves the source object in the bucket, so a re-process would recreate the document.

Synced sources

If documents came from a storage sync, set on_delete: "cascade" on the sync so that deleting a file in the source (S3, Google Drive, etc.) automatically removes the corresponding object and its derived documents. Otherwise deletes at the source are ignored.
  • Documents — document structure and payload
  • Syncs — source-deletion cascade (on_delete)
  • Ingest Data — objects, batches, collections