Write an item
Store 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.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
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.
"3"
Path Parameters
Collection name.
Item key. 1-255 chars from A-Z a-z 0-9 . _ : @ -
Query Parameters
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.
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.
"contact:jd7x2k3m4n5p6q7r8s9t0abc"
Body
Response
Existing item replaced.
One JSON document in a collection.
