Skip to main content
POST
Store a new memory in your workspace. Memories are processed asynchronously — the response returns immediately with a pending memory ID that you can poll for status.

Request

Headers

string
required
Bearer token with your API key
string
required
application/json

Body

string
required
The memory content to store. Max 100,000 characters.
string
Optional display title for the memory.
string
default:"user"
Memory type. One of: user, knowledge, hive.
  • user: Personal memory for the calling user
  • knowledge: Shared knowledge base entry (admin/owner only)
  • hive: Workspace-wide shared memory (admin/owner only)
string
Collection ID to store the memory in. Defaults to the caller’s personal collection. For team collections, pass the collection_id returned from POST /memory/collections.
boolean
default:"true"
If true, the memory service extracts structured facts and preferences via LLM inference.
object
Optional metadata to attach to the memory. Filterable at search time.

Response

boolean
True on success
object

Example

Billing

This endpoint is billed at **0.0001per1,000charactersoftext.A500charmemorycosts0.0001 per 1,000 characters** of `text`. A 500-char memory costs 0.00005; a 5,000-char memory costs $0.0005. The charge is deducted upfront from the workspace owner’s wallet, and automatically refunded if the request fails. Response headers — every successful request returns: See Pricing & Billing for the full rate card and refund policy.

Error responses

Checking status

Poll GET /memory/:id/status to check if a memory has been fully processed. Statuses: pending, processing, ready, failed.