Memory

Query items by field

Changed on

Find items by an indexed field instead of by key, within one scope.

The field must have been declared in indexes when the collection was created. Querying any other field returns 400 field_not_indexed — including every field of a collection that was auto-created by its first write, which has no indexes at all.

post/v1/memory/collections/{collection}/query

Request

  • Base URL
    https://api.zavu.dev
  • URL
    https://api.zavu.dev/v1/memory/collections/{collection}/query
  • Auth
    HTTP bearer

Path parameters

collectionstring required

Collection name.

Query parameters

scopestring

Scope as a query-string value: contact:<contactId>, conversation:<conversationId>, the literal project, or omitted for project scope.

Only the SHAPE of the id is validated, never its existence — the partition already carries your project, so an id that matches nothing simply addresses an empty scope rather than returning 404.

Example:contact:jd7x2k3m4n5p6q7r8s9t0abc

Which scope to address: contact:<contactId>, conversation:<conversationId>, or omitted for the project scope.

Note the asymmetry with POST /v1/memory and POST /v1/memory/search, which take the scope in the request BODY as scope plus contactId/conversationId. Every other Memory endpoint takes it here.

Request body

limitinteger
cursorstring

Example request

{
  "where": {
    "field": "status"
  }
}

Response

Matching items.

nextCursorstring nullable

Example response

{
  "items": [
    {
      "key": "ORD-12345",
      "value": {
        "status": "shipped",
        "total": 42.5
      },
      "rev": 3
    }
  ]
}

Changes