Developer reference
Five operations. Plain HTTP.
REST and MCP share your store, access keys and plan limits. Use /api/v1 on the same deployment. No separate SDK required.
# Set STORE_URL to your deployment and STORE_KEY locallycurl "$STORE_URL/api/v1/objects/notes/launch" \ -X PUT -H "Authorization: Bearer $STORE_KEY" \ -H "Content-Type: application/json" -H "If-None-Match: *" \ --data '{"kind":"note","value":{"text":"Launch Friday"},"searchable_text":"Launch Friday"}' curl "$STORE_URL/api/v1/search?query=launch" \ -H "Authorization: Bearer $STORE_KEY"GET and PUT /objects/{key} return the full object and a quoted version ETag. DELETE removes that key permanently. If-Match protects updates/deletes from stale versions; If-None-Match: * makes PUT create-only.
GET /objects lists metadata. GET /search adds a lexical query. Supply repeated kind/labels/source_client filters and limit. Pass a returned next_cursor as the cursor parameter on your next request. Follow cursors until null; concurrent changes can shift offset-based pages.
Search covers the complete store and requires every query lexeme to match. It is not semantic or typo-correcting search. Retrieve selected keys for original values.
Each object must fit within 64 KB including stored metadata. HTTP errors distinguish invalid input (400), unauthorized (401), missing objects (404), quota (409), stale version (412), size (413), media type (415), rate limit (429) and temporary failure (503). Respect Retry-After; never rotate keys to bypass limits.