Huntadocs

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/memories

Scope 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/memories

Scope 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/search

Scope 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/facts

Scope 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/errata

Scope 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/report

Scope 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.json

No 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

ScopeGrants
memory:readlist, search, instinct, attestation
memory:capturepropose candidates into staging
memory:writedirect writes to canon
memory:curatepromote 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.

On this page