> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reflections.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> The OpenAPI document at /api-reference/openapi.yaml defines the target contract. Its x-reflections-availability field and each operation's availability notice identify supported test and live forms. Do not infer implementation from a schema or code sample. Live keys support account details, reads of the licenses the calling account holds as licensee or issued as talent (GET /v1/licenses?role=issuer), and GET /v1/generations?license=… for the state of outputs under such a license (summaries only: no prompt, reference, bytes or metadata). Live image checks, submissions and receipts are built but not activated: until activation, a live POST /v1/checks or /v1/generations returns 403 live_not_activated, which must not be retried. Discovery and JWKS are at the origin root (https://app.reflections.ai/.well-known/...), not under /v1.
> Three rules hold everywhere: a decision is never an error (deny and escalate are 200 responses, and a live check still evaluating is a 202 with status checking); generate nothing for a named talent without an allow; deliver nothing until the generation is allow.
> The sandbox accepts personal rk_test_ keys. Persist a separate Idempotency-Key and body for each logical /v1 POST; retry an unknown outcome with the same key and body. OAuth and Talent API MCP remain planned.

# Use vocabulary

> The fields and values that describe a use of a talent, and the rule for when a license covers a use.

This page specifies the `use` object that every check and session carries: its fields, their
values, and the rule a license server applies to decide whether a license covers a use.

## The use object

| Field | Type | Required | Meaning |
| - | - | - | - |
| `modality` | string | Yes | What will be generated |
| `kind` | string | Yes | How the talent appears in it |
| `purpose` | string | Yes | What the output is for |
| `commercial` | boolean | Yes | Whether anyone earns money from the output, including through advertising |
| `channels` | array of strings | When `commercial` is `true` | Every place the output will appear, up to 20 |
| `territories` | array of strings | When `commercial` is `true` | Every country where the output will appear, up to 50 |

**TLP-USE-1.** A platform MUST send a `use` with every check and session. When `commercial` is
`true`, it MUST send `channels` and `territories`.

**TLP-USE-2.** A platform MUST describe the use the output will actually have, including every
channel and territory where it will appear. It MUST NOT state a narrower use than it intends. When
the intended use changes, it MUST send a new check.

**TLP-USE-3.** A license server MUST reject a value outside the lists below with a
`parameter_invalid` error. It MUST NOT treat an unknown value as covered.

## Modality

| Value | Meaning |
| - | - |
| `image` | Still images |
| `video` | Moving images, with or without sound |
| `speech` | A voice speaking words |
| `audio` | Any sound other than speech, such as singing or a vocal sound |
| `text` | Written words |

## Kind

| Value | Meaning | License needed |
| - | - | - |
| `depiction` | The talent is shown or heard | Yes |
| `impersonation` | The output speaks or writes as the talent | Yes |
| `endorsement` | The output implies the talent approves something | Yes |
| `reference` | The talent is talked about, without synthesis | No |

**TLP-USE-4.** A license server MUST NOT require a license for a use whose kind is `reference`. A
platform MUST NOT declare `reference` for a request that asks a model to show the talent, voice
them, write as them, or imply their approval.

## Purpose

| Value | Meaning |
| - | - |
| `advertising` | Paid promotion of a product, service or brand |
| `branded_content` | Content made for or sponsored by a brand that is not an advertisement |
| `entertainment` | Film, television, games, music and other creative works |
| `editorial` | News, commentary and documentary |
| `personal` | An individual's own non-commercial use |
| `education` | Teaching and learning |
| `political` | Elections, candidates, parties, ballot measures and issue advocacy |

## Channel

| Value | Meaning |
| - | - |
| `social` | Social media platforms |
| `web` | Websites, including the licensee's own |
| `in_app` | Inside the platform's own product |
| `streaming` | On-demand video services |
| `tv` | Broadcast, cable and connected television |
| `cinema` | Cinemas |
| `out_of_home` | Billboards, transit and venues |
| `print` | Printed matter |
| `audio` | Radio, podcasts and audio services |
| `email` | Email |
| `retail` | Stores, packaging and point of sale |
| `games` | Inside video games |
| `private` | Shown only to the end user who made it, and not published |

## Territory

**TLP-USE-5.** A territory MUST be an ISO 3166-1 alpha-2 country code in capitals, such as `US`, or
`WW` for worldwide. A use with `WW` is covered only by a scope whose territories include `WW`.

## When a license covers a use

**TLP-USE-6.** A license server MUST treat a use as covered by a license revision only when every
condition below holds, and MUST otherwise deny with the reason for the first condition that fails:

| Condition | Reason when it fails |
| - | - |
| The licensee holds the license, and the license is `active` | `account_not_licensee`, `license_pending_acceptance`, `license_suspended`, `license_revoked` |
| The time of the check is inside the license's window | `window_not_started`, `window_ended` |
| The license's `platforms` include the calling platform | `platform_not_licensed` |
| The facet the request invokes is in `facets` and is not withdrawn | `facet_not_licensed` |
| `modality` is in `modalities` | `modality_not_licensed` |
| `kind` is in `kinds` | `kind_not_licensed` |
| `purpose` is in `purposes` | `purpose_not_licensed` |
| `commercial` is `false`, or the scope allows commercial use | `commercial_use_not_licensed` |
| Every channel is in `channels` | `channel_not_licensed` |
| Every territory is in `territories`, or `territories` includes `WW` | `territory_not_licensed` |
| The license's delivery and monthly limits are not spent | `delivery_limit_reached`, `monthly_limit_reached` |

`platform_not_licensed` is the deny reason when no license the licensee holds covers the talent on the
calling platform. A check that names a `license` explicitly, where that license excludes the calling
platform, is not decided at all: the license server refuses it with the error
`platform_not_permitted` (HTTP 403), as the [Talent API errors](/api-reference/errors#403-forbidden)
define.

**TLP-USE-7.** Coverage of the use is necessary, not sufficient. A license server MUST then decide a
covered use on the license's other checked terms, such as allowed adjustments and the talent's own
rules, as [Decision semantics](/standard/decision-semantics) specifies.

## Example (informative)

Ridgeline's campaign image of Maya Okafor, for social media and the web in the United States and
Canada:

```json theme={null}
{
  "modality": "image",
  "kind": "depiction",
  "purpose": "advertising",
  "commercial": true,
  "channels": ["social", "web"],
  "territories": ["US", "CA"]
}
```

Ridgeline's license `K7Q4M2` covers image depiction for advertising on `social` and `web` in `US`
and `CA`. The same use with `tv` added is denied with `channel_not_licensed` and a
`license_change` remedy. A fan asking an assistant "Where did Maya Okafor race last year?" is a
`reference` use and needs no license.

## Related

<Columns cols={2}>
  <Card title="Decision semantics" icon="scale-balanced" href="/standard/decision-semantics">
    How a covered use becomes `allow`, `deny` or `escalate`.
  </Card>

  <Card title="ODRL" icon="code" href="/standard/interop/odrl">
    The same fields as ODRL constraints.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.