Skip to main content
Protocol reference. The sandbox represents fictional talent and licenses under your test account. OAuth delegation, mandates and production account roles described below are not available through the current Talent API. Start with the runnable quickstart and sandbox support matrix.
Every licensed use involves the same small set of parties. This page names each one, says what it can do in the API, and shows how they appear on a check.

The chain

A talent, or a representative acting for them, signs a license with a licensee. The licensee connects the platforms it generates on. The platform runs checks, each attributed to one end user.

Talent

A talent is a person whose name, likeness and voice are protected through Reflections. The talent sets their public posture, signs or declines licenses, reviews escalations, and revokes consent. See Talent and facets.

Representatives

A representative is an account that acts for a talent under a mandate: an agency, a manager, an estate, a union or a legal representative. The mandate lists the representative’s powers: A talent’s representatives appear in talent.representation[], with role and powers. The talent can end a mandate at any time. Ending one is a revocation with scope: "mandate". Representatives work in the Talent Portal or through the talent side of the API, which reads their mandates and checks each call against them. See Talent representatives.

Licensees

A licensee is the account that holds a license. Every check names exactly one licensee in check.licensee. There are two kinds of license, and the difference is who the licensee is. A platform license covers end users only when its terms say so: scope.sublicense is end_users_personal, which allows personal, non-commercial outputs. A platform cannot use its own license for a customer’s commercial work.

Platforms

A platform is the account that generates and calls the API: POST /v1/checks, POST /v1/generations, POST /v1/sessions. Every check names exactly one platform in check.platform. A license can limit which platforms may run checks under it with scope.platforms: any_connected, or listed with account IDs. A platform acts for a licensee through a connection. The licensee approves it through OAuth 2.0 (authorization code with PKCE), seeing the platform’s display_name, the scopes and which licenses it may use (all or listed). The platform receives connection.created and then sends Reflections-Account with the licensee’s ID. Without an active connection, the call fails with 403 account_not_connected. Either side can end a connection, and Reflections can too (revoked_by). See Authentication.

End users

An end user is the person your product acts for. Send end_user.id on every check made for a person. End users are attributed on checks, but they are never licensees and never hold licenses. Send a stable ID scoped to your platform, never an email or a name. Reflections stores only an HMAC of it. See Privacy.

Reflections

Reflections runs the license server. It decides checks, generations and session samples against the signed license revision, signs receipts, and reviews escalations under platform licenses. It cannot sign, accept or widen a license.

Accounts

Brands, agencies, studios, platforms and representatives all use one account object. Its types describe the account to talent and give no permission. Its capabilities, such as hold_licenses, run_checks, act_for_licensees or represent_talent, are what the account may do, and Reflections approves each one. Read yours with GET /v1/account.

Example: Northlight checks for Ridgeline

Ridgeline holds license K7Q4M2 from Maya Okafor and has connected Northlight. A Ridgeline designer, usr_48213 on Northlight, asks for a campaign image. Northlight sends the check with its own key and Ridgeline’s account ID:
The check names both parties:
Without the header, Northlight would be the licensee. Its own platform license from Maya Okafor does not cover advertising images, so the same check would return deny.

Who answers for what

Licenses

Signed revisions, statuses and terms.

Brands and agencies

Hold licenses and connect the platforms you use.

Talent representatives

Mandates, reviews, revocation and audits.

Authentication

Keys, scopes, Reflections-Account and OAuth.