API referenceAgents APIMemory storesCreate a store

Create a memory store

⚠️
Preview — this feature is being built; the design below is the spec.
POST https://app.syntic.ai/v1/memory_stores

Create a store where agents keep what they learn between sessions. Attach it to an agent with memory_store_ids, then pass memory_scope when starting sessions so each customer’s memories stay separate.

For how this fits into a full workflow, see Memory stores.

Headers

HeaderRequiredValue
AuthorizationYesBearer <key>: a private inference key (sk_live_...). See Authentication.
syntic-betaYes, while in previewagents-2026-11-01. Without it the call fails with 400 beta_required. See Versioning.
Content-TypeYesapplication/json
Idempotency-KeyNoUp to 255 characters. Retrying with the same key within 24 hours returns the first result instead of creating a duplicate. See Idempotency.

Body parameters

ParameterTypeRequiredNotes
namestringYesUnique in the workspace.
descriptionstringNoShown in the Console.
agent_writestringNonone, scoped (default) or scoped_and_global.
max_memories_per_scopeintegerNo1 to 10,000, default 500. The oldest memories are dropped beyond it.
default_ttl_daysinteger or nullNoExpiry for new memories; null never expires.

Response

201 Created, Content-Type: application/json

{
  "id": "mem_01JC1A3C5E7G9J1L3N5Q",
  "type": "memory_store",
  "name": "support-customers",
  "description": "What the support agents know about each customer.",
  "agent_write": "scoped",
  "max_memories_per_scope": 500,
  "default_ttl_days": 365,
  "memory_count": 0,
  "created_at": "2026-11-02T12:00:00Z"
}

Examples

curl -sS https://app.syntic.ai/v1/memory_stores \
  -H "Authorization: Bearer $SYNTIC_API_KEY" \
  -H "syntic-beta: agents-2026-11-01" \
  -H "Idempotency-Key: 8d6f0c1e-4b2a-4a57-9f0e-2f1d3c4b5a69" \
  -H "Content-Type: application/json" \
  -d '{
      "name": "support-customers",
      "description": "What the support agents know about each customer.",
      "default_ttl_days": 365
    }'

Errors

Errors use the error envelope and carry a request_id. Codes specific to this operation:

StatustypecodeWhen
400invalid_request_errorbeta_requiredThe syntic-beta header is missing.
403permission_errormemory_disabled_by_retentionThe organization uses zero data retention and has not allowed agent memory.
409conflict_errorname_takenAnother store uses this name.
401authentication_errorinvalid_api_keyThe key is missing, unknown, revoked or expired.
429rate_limit_errorrate_limitedToo many requests; wait for Retry-After. See Rate-limit headers.
Was this page helpful?