Write an item
Changed onStore a JSON document under a key. Creates the collection if it does not exist — with no indexes, which query then cannot use. Declare indexes with POST /v1/memory/collections first if you need them.
This replaces the whole document; it does not merge. Pass If-Match with the revision from a previous read to make the write conditional.
Request
- Base URLhttps://api.zavu.dev
- URLhttps://api.zavu.dev/v1/memory/collections/{collection}/items/{key}
- AuthHTTP bearer
Path parameters
Collection name.
Item key. 1-255 chars from A-Z a-z 0-9 . _ : @ -
Query parameters
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.
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.
Headers
Make the write conditional on the item's current revision, as returned by a previous read or write (plain 3 or ETag-quoted "3"). The write is refused with 409 revision_conflict if the item moved on in between. Without it, the write always wins and silently overwrites a concurrent one.
Request body
Response
Existing item replaced.
Example response
{
"item": {
"key": "ORD-12345",
"value": {
"status": "shipped",
"total": 42.5
},
"rev": 3
}
}Changes
- info
removed the non-success response with the status
- info
- info
endpoint added
- info