Agent-readable docs index: /docs/llms.txt. Full docs in one file: /docs/llms-full.txt. Download /docs/docs.zip to grep all markdown files locally.

Check that a recalled pack is unchanged and still backed by its source events

/v1/attest/verifyPOST
Recomputes the pack signature and checks each citation hash against the stored event. Use it to prove to an auditor or another agent what this memory said and where it came from.
Authorization
bearer *Bearer <token>
API key of the form kaibo_<id>.<secret>. Scopes: read, write, read_write, forget, admin.
Request Bodyapplication/jsonrequired
pack *object
Show properties
items *object[]
Show item properties
memoryId *string
Min length: 1Max length: 128
type *"fact" | "decision" | "task" | "preference" | "procedure" | "episode"
mode *"quote" | "summary"
text *string
citations *object[]
Min items: 1
Show item properties
eventId *string
Min length: 1Max length: 128
seq *integer
Min: 1Max: 9007199254740991
hash *string
Pattern: ^[0-9a-f]{64}$
quote?string
Max length: 1000
confidence *number
Min: 0Max: 1
validFrom *string (date-time)
validTo *string (date-time) | null
freshness *"fresh" | "aging" | "unverified"
reverifyBy *string (date-time)
trust *"trusted" | "untrusted"
abstain *object
Show properties
abstained *boolean
reason *stringnull
version *integer
Min: 0Max: 9007199254740991
tokens *integer
Min: 0Max: 9007199254740991
asOf *string (date-time)
attestation?object
Show properties
mac *string
Pattern: ^[0-9a-f]{64}$
issuedAt *string (date-time)
Response
200 · Success
valid *boolean
reasons *string[]
400 · Invalid request
error *object
Show properties
code *"unauthenticated" | "forbidden" | "not_found" | "invalid_request" | "conflict" | "idempotency_mismatch" | "payload_too_large" | "rate_limited" | "internal"
message *string
requestId *string
details?object
401 · Missing, malformed, revoked or expired key
error *object
Show properties
code *"unauthenticated" | "forbidden" | "not_found" | "invalid_request" | "conflict" | "idempotency_mismatch" | "payload_too_large" | "rate_limited" | "internal"
message *string
requestId *string
details?object
403 · The key lacks the required scope
error *object
Show properties
code *"unauthenticated" | "forbidden" | "not_found" | "invalid_request" | "conflict" | "idempotency_mismatch" | "payload_too_large" | "rate_limited" | "internal"
message *string
requestId *string
details?object
429 · Rate limited. See Retry-After
error *object
Show properties
code *"unauthenticated" | "forbidden" | "not_found" | "invalid_request" | "conflict" | "idempotency_mismatch" | "payload_too_large" | "rate_limited" | "internal"
message *string
requestId *string
details?object
Request example
curl -X POST "/v1/attest/verify" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{ "pack": { "items": [ { "memoryId": "string", "type": "fact", "mode": "quote", "text": "string", "citations": [ { "eventId": "string", "seq": 1, "hash": "string", "quote": "string" } ], "confidence": 0, "validFrom": "2024-01-15T09:30:00Z", "validTo": "2024-01-15T09:30:00Z", "freshness": "fresh", "reverifyBy": "2024-01-15T09:30:00Z", "trust": "trusted" } ], "abstain": { "abstained": true, "reason": "string" }, "version": 0, "tokens": 0, "asOf": "2024-01-15T09:30:00Z", "attestation": { "mac": "string", "issuedAt": "2024-01-15T09:30:00Z" } } }'