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"

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

Body

application/json
license
string
required

The license to revoke. The revocation has scope license and names the license's talent in targets.talent.

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

Revoked for a breach. Only then does a license's withdraw policy apply.

cause
string

Required when for_cause is true. Shown to the licensee and to every platform that must act, as the revocation's cause.

Maximum string length: 1000
note
string

Shown to the licensee and platforms as the revocation's note.

Maximum string length: 1000

Response

The revocation, in effect.

id
string
required

The revocation's ID. Pass it as after to read the revocations created after it.

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

Always revocation.

Allowed value: "revocation"
livemode
boolean
required

true in live mode, false for an object created with a test key.

scope
enum<string>
required

license: one license. facet: a facet withdrawn, which narrows every license that covers it. mandate: a representative's authority ended. talent: consent withdrawn everywhere.

Available options:
license,
facet,
mandate,
talent
targets
object
required

What the revocation cuts. Which fields are set depends on scope.

status
enum<string>
required

pending_acknowledgement until every required action is acknowledged, then acknowledged, or overdue if a deadline passes first.

Available options:
pending_acknowledgement,
acknowledged,
overdue
initiated_by
enum<string>
required

Who revoked: the talent in the Talent Portal, a representative whose mandate has revoke, or Reflections.

Available options:
talent,
representative,
reflections
effective_at
string<date-time>
required

When the revocation took effect. acknowledge_by is 24 hours later.

required_actions
enum<string>[]
required

What every platform that used the targets must do and acknowledge.

stop_generation: issue nothing new under the targets. purge_cached_decisions: drop cached checks and authorizations. delete_provider_copies: delete copies held at model providers, such as voices. cease_distribution: place released outputs nowhere new. withdraw_outputs: take released outputs down.

Available options:
stop_generation,
purge_cached_decisions,
delete_provider_copies,
cease_distribution,
withdraw_outputs
acknowledge_by
string<date-time>
required

When every required action except withdraw_outputs must be acknowledged: 24 hours after effective_at.

acknowledgements
object[]
required

Each acknowledgement a platform sent, in the order received. Shown on the talent's record.

created_at
string<date-time>
required

When Reflections recorded the revocation.

for_cause
boolean

Revoked for a breach. Only then can withdraw apply.

cause
string | null

For a revocation for cause, the breach, as whoever revoked it stated it.

note
string | null

A note from whoever revoked it.

post_revocation
object

What happens to outputs released before effective_at, copied from the license's post_revocation term.

provider_copies
object[]

Copies at model providers you must delete.

affected
object

What the revocation cut, at effective_at.