API Documentation
Four verbs run the platform: seal, verify, anchor, comply
A REST surface over the protocol. Every response is a signed object; every signed object is independently recomputable without asking us for permission.
Getting started
Authentication
Send your key as a bearer token. Keys are scoped per workspace and rotate without downtime.
curl https://api.sovereign-ai.services/v1/verify/rcpt_8fa10c \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json"
Reference
Endpoints
POST
/v1/sealSeal content and receive a signed provenance receipt.
Request
{
"content_hash": "sha256:9f2c...41ab",
"protocol_id": "psi-media",
"metadata": { "model": "gpt-x", "purpose": "editorial" }
}Response
{
"receipt_id": "rcpt_8fa10c",
"signature": {
"ed25519": "base64...",
"ml_dsa_65": "base64..."
},
"anchor_status": "pending"
}Failure modes
Error codes
Errors are explicit. The protocol never fails silently.
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | Body failed schema validation. |
| 401 | unauthenticated | Missing or malformed API key. |
| 402 | fee_required | Account balance below the metered fee. |
| 404 | receipt_not_found | No receipt exists for the supplied identifier. |
| 409 | already_anchored | The Merkle root is already committed for this window. |
| 422 | protocol_violation | The request contradicts a charter-level Article. |
| 429 | rate_limited | Too many requests for this key's tier. |
Metering and tier limits are published on the pricing page.
