API reference
The REST surface at mcp.hunta.ai. Bearer JWT auth; the tenant is bound to the token.
Base URL: https://mcp.hunta.ai. Authenticate with Authorization: Bearer <key>. The tenant is the
token's tid claim; no endpoint takes a tenant argument, so a key can never read or write outside its
own store. Scopes on the key gate each operation.
Hunta's interface is built around three verbs: Gather (write memory), Recall (read it back),
and Instinct (the governed reflex set). Over MCP those are the tool names your agent calls. Over
REST they map to the endpoints below, which use a common /v1/memories lexicon so any client already
built for a memory API works unchanged.
Gather
The write motion: propose or commit a memory. Over MCP, the gather tool (and capture). Over REST,
the /v1/memories endpoints.
Write a memory
POST /v1/memoriesScope memory:write (direct to canon) or memory:capture (lands as a staging candidate).
{ "text": "Our design partner is Acme Corp.", "valid_from": "2026-03-01T00:00:00Z" }valid_from is optional event-time: when the fact became true in the world, as distinct from when you
recorded it. Dates the extractor infers from the text itself take precedence.
List memories
GET /v1/memoriesScope memory:read.
Recall
The read motion: retrieve sealed facts by relevance, with point-in-time support. Over MCP, the recall
and search tools. Over REST, /v1/memories/search.
POST /v1/memories/searchScope memory:read. Returns sealed facts with provenance.
{ "query": "design partner", "limit": 5, "as_of": "2026-06-01T00:00:00Z", "entity": "Acme" }as_of is a bi-temporal point-in-time read: what was believed true at that moment.
Facts
GET /v1/factsScope memory:read. The current sealed facts, each with provenance and validity, that recall reads
from. A single fact is at /v1/facts/{id}; owners can invalidate or supersede it.
Instinct
GET /v1/errataScope memory:read. The governed reflex set (standing constraints). With ?action= it becomes the
deterministic per-action gate query; without it, the full current set.
Attestation
Run the isolation proof
POST /v1/admin/verify-isolation?nonce=<your-nonce>Scope memory:read (your own tenant's proof is a read). Runs the live probes and returns the signed
receipt. The nonce is echoed into the signed manifest for freshness.
Attestation report
GET /v1/admin/attestation/reportScope memory:read. A summary (probe results, timestamps, key id) plus the signed receipt, as shown
in the console's Provenance page.
Published keys
GET /.well-known/jwks.jsonNo auth. The Ed25519 public keys: hunta-auth-1 (token verification) and hunta-attest-1
(attestation signing). Pin hunta-attest-1 to verify receipts offline.
MCP
The same engine is an MCP server at https://mcp.hunta.ai/mcp (Streamable HTTP). See
Connect over MCP.
Scopes
| Scope | Grants |
|---|---|
memory:read | list, search, instinct, attestation |
memory:capture | propose candidates into staging |
memory:write | direct writes to canon |
memory:curate | promote or reject candidates |
Legacy scope memory means full access. Mint least-privilege keys from the console's Keys page:
agent keys get capture plus read; write and curate stay with owners.