External ID memory plane · Statekeeper

Give each external_id durable memory with one API.

Statekeeper is Memory-as-a-Service for developers. Send conversations or structured facts, we extract memories, build the profile, and hand you semantic recall for every external_id—ready for RAG prompts or product surfaces.

  • External IDs over teammates

    Map every end-user to an external_id and Statekeeper keeps their memories isolated per tenant.

  • Automatic profiles

    POST conversations or facts and we build timelines, attributes, and summaries automatically.

  • Unlimited variants

    Create named profiles for work, personal, or agent contexts without duplicating data.

Memory writeREST
await fetch('https://api.statekeeper.ai/v1/users/acme-user-42/memories', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer sk_live_***',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    content: 'Promised June pilot + custom telemetry dashboards.',
    metadata: {
      owner: 'lara',
      priority: 'p0',
      next_step: 'Confirm onboarding call',
    },
  }),
});
Semantic recallexternal_id scoped
“Context for acme-user-42”
- Prefers concise answers - Promised June pilot + telemetry dashboards - Next step: confirm onboarding call

Pipelines built for agents

The Statekeeper loop

A four-phase loop that shows how memories move through Statekeeper—from ingestion to trusted recall.

01

Write a memory

Send any promise, recap, or note to Statekeeper using a simple REST call. Include the profile and metadata that matter to you.

POST /v1/memoriesProfile + metadata keysPlain JSON payloads

02

Statekeeper builds the profile

We order every memory on a timeline, attach ownership, and keep profile variants in sync so context never drifts.

Chronological timelineOwnership trackingProfile variants

03

Retrieve what matters

Search semantically, filter by metadata, or scope to a specific variant to get back exactly what you promised.

Semantic searchMetadata filtersTime scoping

04

Share it with your team

Review profiles inside the console, export the context, or hand it to internal agents so everyone stays on the same page.

Console viewsProfile exportsNotes & mentions

Why Statekeeper

Everything you need to keep promises, not spreadsheets

A single memory plane that captures context, builds trustworthy profiles, and makes recall instant for humans and agents alike.

Memory write API

Send any call note, email recap, or agent transcript via REST with the metadata you care about. No SDKs or special runtimes required.

JSON over HTTPS

Profile timelines

Statekeeper organizes every memory into a chronological feed per user so you always know what was promised and by whom.

Auto ordering

Profile variants

Create as many versions of a profile as you need—per region, per team, or for a specific agent—without duplicating data.

Unlimited segments

Precision recall

Search semantically, filter by metadata, or scope to a specific profile variant to retrieve exactly the right promise.

Semantic + filters

Console review

Use the included console to inspect every memory, edit metadata, and confirm customer history before hopping on a call.

Built-in UI

Ownership & metadata

Track who owns a memory, mark priorities, and ensure each profile stays consistent with the commitments you made.

Role aware

Every workspace includes the REST API, the console, semantic search, and unlimited profile variants so you can roll out accurate memory without juggling extra tooling.

Pricing

Usage-based pricing with a generous free tier

Every plan uses the same memory plane—REST writes and reads, semantic search, and the console. Start free with capped usage and upgrade only when you need higher limits.

Free

Build and test with the same APIs as production, on capped usage.

Freeper workspace / mo
  • Memory write + read REST APIs
  • Console timeline + search
  • Up to 50 profiles per workspace
  • Single profile per user ID
  • Capped memories + monthly API calls
  • Community support
Start free
For teams & production

Usage

Scale usage as you grow. Only pay for what you store and query.

Usage based
  • Higher caps on profiles, memories, and API calls
  • Multiple profile variants per user ID
  • Same APIs and console as the Free tier
  • Usage-based pricing with volume discounts
  • Priority support & onboarding help
Talk to us

Every plan includes

REST memories write + read endpoints
Profile timelines & console inspector
Semantic + metadata search
Unlimited metadata fields

Need something bespoke?

Talk to us if you need custom retention, air-gapped deployments, or deeper workspace controls. We’ll configure the memory plane around your requirements.

Design your plan

FAQ

What can I do on the Free tier?

Everything—write memories, retrieve context, and ship real integrations. The Free tier gives you the same APIs with capped usage so you can experiment safely.

How do we move beyond the Free tier?

Ping us from inside the console or the contact form. We’ll review your current usage, turn on higher caps, and help you migrate any existing data if needed.

Can one user have multiple profiles?

On the Free tier, each user ID maps to a single profile so you stay within the default caps. Paid usage plans let you create multiple profile variants per user—each with its own memories and metadata—while still tying back to the same root identity.

Do I need an SDK?

Nope. Everything is a REST call. Use fetch, curl, or your favorite HTTP client and you’re fully integrated.

Developer first

Ship end-to-end workflows in under ten minutes

Everything runs over HTTPS. Use fetch, curl, or your favorite HTTP client to write and retrieve memories—you already have everything you need.

ingestion flow

Write a promise to Statekeeper

const response = await fetch('https://api.statekeeper.ai/v1/memories', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.STATEKEEPER_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    profile_id: 'acme-user-42',
    variant: 'customer-success',
    content: 'Promised June pilot + custom telemetry dashboards.',
    metadata: {
      owner: 'lara',
      priority: 'p0',
      next_step: 'Confirm onboarding call',
    },
  }),
});

const memory = await response.json();

Response

{
  "memory_id": "mem_7pn0s2",
  "profile_id": "acme-user-42",
  "variant": "customer-success",
  "content": "Promised June pilot + custom telemetry dashboards.",
  "metadata": {
    "owner": "lara",
    "priority": "p0",
    "next_step": "Confirm onboarding call"
  },
  "profile_summary": "Success variant expects June pilot with telemetry dashboards."
}

Why this rocks

  • • Plain REST requests—no proprietary SDKs
  • • Metadata-aware responses tied to each profile variant
  • • Same JSON schema for writes, reads, and exports

REST native

Works anywhere HTTP does

Profile aware

Every call scopes to a profile variant

Console included

Inspect memories without extra tooling

Ready when you are

Make Statekeeper your source of truth in a single week.

Connect your workflows to our REST API and console, capture every promise, and hand accurate profiles to anyone who needs them—no SDKs, no custom infra.

No card required
Profiles + variants included
Console + API access