Skip to main content
POST
/
v1
/
documents
/
list
/
batch
Run multiple list-documents queries concurrently.
curl --request POST \
  --url https://api.mixpeek.com/v1/documents/list/batch \
  --header 'Content-Type: application/json' \
  --data '
{
  "queries": [
    {
      "key": "<string>",
      "request": {
        "filters": {
          "AND": [
            {
              "field": "name",
              "operator": "eq",
              "value": "John"
            },
            {
              "field": "age",
              "operator": "gte",
              "value": 30
            }
          ],
          "OR": [
            {
              "field": "status",
              "operator": "eq",
              "value": "active"
            },
            {
              "field": "role",
              "operator": "eq",
              "value": "admin"
            }
          ],
          "NOT": [
            {
              "field": "department",
              "operator": "eq",
              "value": "HR"
            },
            {
              "field": "location",
              "operator": "eq",
              "value": "remote"
            }
          ],
          "case_sensitive": true
        },
        "sort": {
          "field": "created_at",
          "direction": "desc"
        },
        "search": "<string>",
        "cursor": "<string>",
        "return_presigned_urls": false,
        "return_vectors": false,
        "return_vector_names": false,
        "group_by": "source_object_id",
        "select": [
          "metadata.title",
          "content"
        ],
        "expand": [
          "customer_id"
        ],
        "limit": 10,
        "offset": 0,
        "collection_ids": [
          "<string>"
        ]
      }
    }
  ]
}
'
{
  "results": [
    {
      "key": "<string>",
      "response": {
        "description": "Regular document list (no grouping)",
        "pagination": {
          "has_more": false,
          "limit": 10,
          "offset": 0,
          "total_count": 1
        },
        "results": [
          {
            "collection_id": "col_articles",
            "document_id": "doc_123",
            "metadata": {
              "title": "AI Article"
            }
          }
        ],
        "stats": {
          "avg_blobs_per_document": 1,
          "total_documents": 1
        }
      },
      "error": "<string>"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.mixpeek.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Headers

Authorization
string

REQUIRED: Bearer token authentication using your API key. Format: 'Bearer sk_xxxxxxxxxxxxx'. You can create API keys in the Mixpeek dashboard under Organization Settings.

Examples:

"Bearer YOUR_API_KEY"

"Bearer YOUR_STRIPE_API_KEY"

authorization
string
X-Namespace
string

Namespace identifier for scoping this request. All resources (collections, buckets, taxonomies, etc.) are scoped to a namespace. You can provide either the namespace name or namespace ID. Format: ns_xxxxxxxxxxxxx (ID) or a custom name like 'my-namespace'. Falls back to ?namespace= query parameter if the header is omitted.

Examples:

"ns_abc123def456"

"production"

"my-namespace"

Body

application/json

Batch-execute multiple namespace-scoped list-documents queries in parallel.

Intended to collapse dossier / multi-collection UI N+1 patterns into one round-trip. Canvas pages that fan out 5–10 parallel list_documents calls (e.g., scene counts + face clusters + scene archetypes filtered by the same brand_slug) should bundle them here instead.

queries
BatchListQuery · object[]
required

Queries to execute concurrently against the same namespace.

Required array length: 1 - 10 elements

Response

Successful Response

Response for POST /v1/documents/list/batch.

results
BatchListResult · object[]
required

One entry per input query, in the same order as requested.