Skip to main content
POST
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"

Reflections-Account
string

Act for a connected licensee. The value is the licensee's account ID. Requires an active connection between that account and yours.

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

A unique key for this operation, up to 255 characters. In test mode, POST keys are scoped to your account and mode and bind the endpoint and body for 24 hours. A different endpoint or body with the same key is refused.

Initial live check and generation creation require a nonempty key. Each operation has a separate account-scoped namespace; retain the same API key, body and idempotency key for retries within 24 hours of creation. A pending check returns 202 with status: "checking". Completed checks replay their sealed response; successful generation POSTs replay the original accepted 202, so use GET for current state. Live verification is a read-only query that returns a fresh verification ID on each call, without exact response caching.

The broader delegated-account contract also scopes keys to Reflections-Account; delegated requests and the other planned live POST operations remain unsupported.

Maximum string length: 255

Path Parameters

license_id
string
required

The license's ID.

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

Body

application/json
decision
enum<string>
default:accept

Accept or decline the pending revision as the licensee would.

Available options:
accept,
decline

Response

The license after the decision.

id
string
required

Unique identifier for the license, lic_….

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

Always license.

Allowed value: "license"
livemode
boolean
required

true for a live-mode license, false for a test-mode one.

status
enum<string>
required

Where the license is in its life. Checks are decided on its terms only while it is active; under every other status they deny.

Available options:
pending_acceptance,
scheduled,
active,
suspended,
expired,
declined,
revoked,
void
talent
string
required

The talent who granted the license.

Pattern: ^tal_[0-9a-hjkmnp-tv-z]{26}$
licensee
string | null
required

The account that holds the license and answers for every use made under it. Null on a pending_acceptance license its talent reads before anyone accepts the invitation.

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

A six-character name for the license that people can read aloud, such as K7Q4M2.

Pattern: ^[0-9BCDFGHJKMNPQRSTVWXYZ]{6}$
current_revision
string
required

The revision in force. While the license is pending_acceptance, the first revision, waiting to be accepted.

Pattern: ^lrv_[0-9a-hjkmnp-tv-z]{26}$
revision_number
integer
required

The number of current_revision, starting at 1.

Required range: x >= 1
scope
object
required

The terms of current_revision in normalized form. A pending revision does not change it until the licensee accepts.

created_at
string<date-time>
required

When the talent's side signed the first revision.

issued_by
object

Who signed the first revision.

pending_revision
string | null

A new revision the talent's side signed, such as a change the licensee requested, an amendment or a renewal, waiting for the licensee to accept it at acceptance_url. current_revision stays in force until then.

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

The digest of the current revision's signed terms. Checks, authorizations and receipts decided under that revision carry the same value. A live read returns the digest of the full signed terms, not a digest of the partial scope; live revision retrieval and live decision endpoints remain planned.

Pattern: ^sha256:[0-9a-f]{64}$
acceptance_url
string<uri> | null

The hosted page where the licensee reads and accepts the license, or its pending_revision. Present while pending_acceptance, and while a revision is pending.

accepted_at
string<date-time> | null

When the licensee accepted the license. null until then.

suspended_at
string<date-time> | null

When the current suspension began. null unless the license is suspended.

revoked_at
string<date-time> | null

When the license was revoked. null unless it is revoked.

declined_at
string<date-time> | null

When the licensee declined the license. null unless it is declined.

metadata
object

Key-value pairs stored on the license.