POST /v1/checks or POST /v1/generations returns 403 live_not_activated.
The reference also documents the target protocol. Every endpoint shows its availability; planned
operations cannot be called. Sandbox lists the supported forms and current limits.
Try the sandbox
Check a use
POST /v1/checks before you generate. Returns allow, deny or escalate.Check the output
POST /v1/generations before anyone sees it. Sandbox outcomes are simulated; submit inline bytes or a digest.Read the receipt
GET /v1/receipts/{receipt_id} returns public JSON and a signed JWS.Verify a receipt
POST /v1/verifications accepts JSON with a receipt ID, JWS or digest.Three rules
1
A decision is never an error
deny and escalate are 200 responses with a decision. An error means the request could
not be evaluated at all. Handle the three decisions in your product, not in your error handler.2
No allow, no generation
Generate a named talent only with an
allow and an unexpired authorization. If Reflections
cannot be reached, do not generate. See failure modes.3
No allow, no delivery
Submit every output as a generation and deliver nothing until its decision is
allow. Embed
the receipt in the output’s C2PA manifest before you deliver it.Target integrations
Image and video platforms
Put the check and the generation check around your generation pipeline.
Voice platforms
Licensed voices, scripts, live sessions and provider-held voice copies.
LLM assistants
Impersonation and endorsement in text, and the mentions that need no license.
Agent builders
Pass an authorization with each tool call, and verify it in the tool.
Brands and agencies
Hold licenses, connect the platforms you generate on, and read statements.
Distribution platforms
Verify receipts when content is uploaded, and read their live status.
Start here
Quickstart
A working check, generation and receipt in test mode.
How it works
The lifecycle from prompt to receipt, and who decides what.