Planned protocol reference. The Talent API sandbox does not serve revocation feeds, lifecycle
mutations or acknowledgements. The consent duties described below are not evidence of deployed
API support.
Start with the runnable quickstart and sandbox support matrix.
Scopes
initiated_by is talent, representative or reflections. for_cause is true when the
revocation is for a breach of the license, and cause then states the breach. note carries any
note from whoever revoked it. The talent revokes in the Talent Portal, at any scope. A
representative whose mandate has revoke can revoke one license at a time with
POST /v1/revocations. The same object reaches
you either way.
What it stops
Ateffective_at, Reflections:
- denies new checks under the targets with
license_revoked; - denies open escalations, and denies held outputs with
license_revokedso they can never be released, sendinggeneration.deniedfor each; - terminates live sessions, pushing
session.terminatedon the session stream; - ends reuse windows, and refuses renewals of session tokens.
expires_at, at most 15 minutes. That is why your platform must purge cached decisions and stop
generating as soon as the revocation arrives, rather than wait for tokens to expire.
What it leaves
Outputs already released follow the license’spost_revocation policy, copied onto the revocation:
A receipt stays valid evidence that a past output was licensed when it was made. Its
use_status
says what use is permitted now, so a distribution platform reading it sees the change.
What you must do
required_actions lists the actions this revocation needs from your platform:
affected reports what the revocation cut at effective_at: checks_denied,
generations_denied, sessions_terminated and released_outputs.
How fast
revocation.created is the fast path. The revocation
feed, GET /v1/revocations?after=rvk_…, is the source
of truth: it returns every revocation after the one you name, oldest first, so a platform that
missed a webhook still sees everything.
Acknowledging
Acknowledge withPOST /v1/revocations/{revocation_id}/acknowledgements.
By acknowledge_by, list every action in required_actions except withdraw_outputs, and each
provider copy you deleted. When withdraw_outputs is required, acknowledge it in a later call, by
post_revocation.withdraw_by, once the outputs are down. Each call adds to acknowledgements, which
are shown on the talent’s record.
A revocation stays pending_acknowledgement until every required action is acknowledged, then
becomes acknowledged. If either deadline passes first, it becomes overdue: you receive
revocation.overdue, and it is shown on the talent’s
record and to your account contact.
Suspension
A talent or representative can suspend a license instead, for example during a dispute. A suspension is not a revocation: there is no revocation object and nothing to acknowledge. Checks deny withlicense_suspended, live sessions are terminated, and renewals fail with 409 session_not_active. When you receive
license.suspended, drop cached decisions under the
license. Held outputs stay held, and released outputs are unaffected. When the license resumes, you
receive license.resumed and checks are decided on its terms again.
Example: Maya Okafor revokes a voice license
Northlight’s voice license lets its users make personal speech in Maya Okafor’s voice, and her voice lives at a voice provider. She revokes the license:retain.
Related
Handling revocations
The feed, purges, provider copies and acknowledgements.
Failure modes
Caching, outages and the revocation feed.
Revocation in the Standard
The deadlines a conformant platform meets.
Provenance
Receipts and their live
use_status.