Skip to main content
GET
cURL

Authorizations

Authorization
string
header
required

Your secret key, rk_test_… or rk_live_…, sent as Authorization: Bearer <key>. Keep it on your server. Restricted keys carry only the scopes you give them.

Headers

Reflections-Version
string

The dated API version. Defaults to the version your account is pinned to.

Example:

"2026-10-15"

Path Parameters

receipt_id
string
required

The receipt's ID, rcpt_…. Anyone who has it may read the receipt.

Pattern: ^rcpt_[0-9a-hjkmnp-tv-z]{26}$

Response

The receipt.

id
string
required

Unique identifier, prefixed rcpt_. The JWS carries it as jti.

Pattern: ^rcpt_[0-9a-hjkmnp-tv-z]{26}$
object
string
required

Always receipt.

Allowed value: "receipt"
livemode
boolean
required

false for a test-mode receipt, signed with a test key. It verifies only with a test key.

kind
enum<string>
required

Whether subject is a check or a generation.

Available options:
check,
generation
subject
string
required

The check or generation ID.

decision
enum<string>
required

A receipt records a final decision. An escalated check or output gets its receipt when it is decided.

Available options:
allow,
deny
assurance
enum<string>
required

observed: Reflections checked these bytes or this request itself. attested: Reflections recorded what the platform stated, such as text sent withheld.

Available options:
observed,
attested
talent
string[]
required

Every talent the decision covers.

Pattern: ^tal_[0-9a-hjkmnp-tv-z]{26}$
licenses
object[]
required

The signed terms the decision relied on, one entry per talent whose license applied, in the order of talent. Empty when no license applied, as for a check whose inputs invoke no talent, or a deny with no_license.

use_status
enum<string> | null
required

Whether the output may still be used. null on a deny receipt, which permits nothing.

Available options:
permitted,
ceased,
withdrawn,
expired
jws
string
required

The signed receipt, a compact JWS with typ tlp-receipt+jwt.

issued_at
string<date-time>
required

When the decision was made and the receipt signed. The JWS carries it as iat.

licensee
string | null

The account whose license applied. null when no license applied.

Pattern: ^acct_[0-9a-hjkmnp-tv-z]{26}$
platform
string

The platform that made the request.

Pattern: ^acct_[0-9a-hjkmnp-tv-z]{26}$
request_digest
string

The request digest of the check, or for a generation, of the check it was made under.

Pattern: ^sha256:[0-9a-f]{64}$
artifact_sha256
string | null

SHA-256, in hex, of the bytes submitted to the generation, before any C2PA manifest was embedded. null on a check receipt.

Pattern: ^[0-9a-f]{64}$
permitted_use
object | null

The use the receipt covers.

obligations
object[]

The obligations the decision carried, with all their fields.

c2pa_signer
object

Generations only, when the platform declared it: the C2PA claim signer the receipt is bound to, signed as tlp.c2pa_signer. Absent means unbound: the receipt proves the decision, not which file carries it.

use_status_changed_at
string<date-time> | null

When use_status last changed. null if it never has.

cose
string

The same claims as a tagged COSE_Sign1 structure, for tools that work in CBOR.

page_url
string<uri>

The public receipt page.