{"openapi":"3.1.0","info":{"title":"Liceat API","version":"0.6.0","description":"The authority control plane for AI agents: issue attenuable, offline-verifiable, revocable warrants; enforce them; prove every decision on a transparency log. See /llms.txt for an agent-oriented guide.","contact":{"email":"support@liceat.com","url":"https://liceat.com"},"license":{"name":"BUSL-1.1"}},"servers":[{"url":"https://liceat.com"}],"components":{"securitySchemes":{"tenantKey":{"type":"http","scheme":"bearer","description":"Tenant API key: Authorization: Bearer lk_…"},"warrant":{"type":"apiKey","in":"header","name":"Authorization","description":"Authorization: Warrant CW1~…"}}},"paths":{"/signup":{"post":{"summary":"Create a self-serve tenant account (returns an API key + free credits)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/t/issue":{"post":{"summary":"Issue a metered warrant","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/t/revoke":{"post":{"summary":"Revoke your warrant by jti","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/t/me":{"get":{"summary":"Account balance, usage, open invoices","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/t/audit":{"get":{"summary":"Your own audit entries (plaintext, tenant-scoped)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/attenuate":{"post":{"summary":"Narrow a warrant for a sub-agent (authority can only shrink)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/verify":{"post":{"summary":"Dry-run a request against a warrant (no side effects)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/call":{"post":{"summary":"Enforced + audited action; 402 with x402 accepts[] when out of credits","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"warrant":[]}]}},"/authorize":{"post":{"summary":"Enforced decision without forwarding (for sidecars)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"warrant":[]}]}},"/inspect":{"post":{"summary":"Decode + structurally verify a warrant token","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/demo/issue":{"post":{"summary":"Public playground: mint a capped demo warrant (no auth)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/billing/usdc/invoice":{"post":{"summary":"Create an exact-amount USDC-on-Base invoice","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/billing/checkout":{"post":{"summary":"Stripe card checkout (when enabled)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/agents":{"get":{"summary":"Public agent directory: registered agents + attestations + reputation (?limit=&offset=)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/agents/register":{"post":{"summary":"Register an agent identity","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/agents/{id}":{"get":{"summary":"Resolve an agent: card + attestations + reputation","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/attest":{"post":{"summary":"Attest a claim about a subject agent","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/attestations/vc":{"get":{"summary":"An attestation as a W3C Verifiable Credential (JWT-VC)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/transparency/sth":{"get":{"summary":"Signed tree head (root+size, Ed25519-signed)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/transparency/inclusion":{"get":{"summary":"Inclusion proof (leaf hash + audit path)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/transparency/consistency":{"get":{"summary":"Consistency proof (append-only) between two sizes","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/transparency/checkpoint":{"get":{"summary":"Signed checkpoint with witness cosignatures + quorum (non-equivocation)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/transparency/checkpoints":{"get":{"summary":"Append-only signed-checkpoint history (the gasless public anchor; ?n= or ?since=)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/transparency/cosign":{"post":{"summary":"Submit a witness cosignature","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/transparency/anchors":{"get":{"summary":"Bitcoin anchor summary + recent .ots proofs (gasless OpenTimestamps)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/transparency/anchor":{"get":{"summary":"The Bitcoin anchor for a checkpoint size (metadata + base64 .ots; ?size=N)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/.well-known/liceat-jwks":{"get":{"summary":"Issuer public keys (offline verification)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/.well-known/did.json":{"get":{"summary":"did:web issuer document","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/metrics":{"get":{"summary":"Prometheus metrics","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/admin/backup":{"get":{"summary":"Encrypted, self-verifying state backup (owner-only)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/admin/telemetry":{"get":{"summary":"Traffic, funnel, and discovery analytics (owner-only; ?days=N)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"tenantKey":[]}]}},"/telemetry/page":{"post":{"summary":"Anonymous page-view beacon ({path, ref} only; no identifiers, no cookies)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/telemetry/client":{"post":{"summary":"Client-side error report ({msg, page}) so browser failures are never silent","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/selfcheck":{"get":{"summary":"Self-heal watchdog + background-job health (nothing fails silently)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/health":{"get":{"summary":"Liveness (+ recoverable flag + background-job health)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sentinel":{"get":{"summary":"Latest adversarial self-check report","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}