> ## Documentation Index
> Fetch the complete documentation index at: https://heygen-1fa696a7.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# API Key Permission Scopes

> Find the API key permission scopes required by each public HeyGen API endpoint.

Permission scopes let you restrict an API key to the HeyGen resources and actions it needs. Each scope uses the form `resource:read` or `resource:write`.

## How permissions work

* An endpoint can require one scope or several scopes. When several are listed, the key must satisfy all of them.
* A `resource:write` grant also satisfies `resource:read` for the same resource. A read grant never satisfies a write requirement.
* Full-access keys use `*:*`. Read-only keys use `*:read`, which satisfies every current and future read requirement.
* A key without the required permissions receives a `403` [`insufficient_api_key_scope`](/docs/error-codes#insufficient-api-key-scope) response.

Create and manage keys in the [HeyGen API dashboard](https://app.heygen.com/home?from=\&nav=API).

## Scope-to-endpoint mapping

This reference is generated from the permission metadata in the published OpenAPI specification. Only public, documented endpoints are included. An endpoint with multiple requirements appears under every required scope.

### `account:read`

| Endpoint                                          | Description      | Required scopes |
| ------------------------------------------------- | ---------------- | --------------- |
| [`GET /v3/users/me`](/reference/get-current-user) | Get Current User | `account:read`  |

### `ai_clipping:read`

| Endpoint                                                     | Description      | Required scopes    |
| ------------------------------------------------------------ | ---------------- | ------------------ |
| [`GET /v3/ai-clipping`](/reference/list-ai-clipping)         | List AI Clipping | `ai_clipping:read` |
| [`GET /v3/ai-clipping/{job_id}`](/reference/get-ai-clipping) | Get AI Clipping  | `ai_clipping:read` |

### `ai_clipping:write`

| Endpoint                                                           | Description        | Required scopes     |
| ------------------------------------------------------------------ | ------------------ | ------------------- |
| [`POST /v3/ai-clipping`](/reference/create-ai-clipping)            | Create AI Clipping | `ai_clipping:write` |
| [`DELETE /v3/ai-clipping/{job_id}`](/reference/delete-ai-clipping) | Delete AI Clipping | `ai_clipping:write` |

### `assets:read`

| Endpoint                                                                 | Description                           | Required scopes |
| ------------------------------------------------------------------------ | ------------------------------------- | --------------- |
| [`GET /v3/assets/batches/{batch_id}`](/reference/get-asset-batch)        | Get Asset Batch                       | `assets:read`   |
| [`GET /v3/assets/statuses`](/reference/bulk-asset-statuses)              | Bulk Asset Statuses                   | `assets:read`   |
| [`GET /v3/assets/{asset_id}`](/reference/get-asset)                      | Get Asset                             | `assets:read`   |
| [`GET /v3/audio/sounds`](/reference/search-audio-music-or-sound-effects) | Search audio (music or sound effects) | `assets:read`   |

### `assets:write`

| Endpoint                                                                         | Description                 | Required scopes |
| -------------------------------------------------------------------------------- | --------------------------- | --------------- |
| [`POST /v3/assets`](/reference/upload-asset)                                     | Upload Asset                | `assets:write`  |
| [`POST /v3/assets/complete/batches`](/reference/complete-asset-upload-batch)     | Complete Asset Upload Batch | `assets:write`  |
| [`POST /v3/assets/direct-uploads`](/reference/create-asset-upload)               | Create Asset Upload         | `assets:write`  |
| [`POST /v3/assets/direct-uploads/batches`](/reference/create-asset-upload-batch) | Create Asset Upload Batch   | `assets:write`  |
| [`DELETE /v3/assets/{asset_id}`](/reference/delete-asset)                        | Delete Asset                | `assets:write`  |
| [`POST /v3/assets/{asset_id}/complete`](/reference/complete-asset-upload)        | Complete Asset Upload       | `assets:write`  |

### `avatars:read`

| Endpoint                                                        | Description        | Required scopes |
| --------------------------------------------------------------- | ------------------ | --------------- |
| [`GET /v3/avatars`](/reference/list-avatar-groups)              | List Avatar Groups | `avatars:read`  |
| [`GET /v3/avatars/looks`](/reference/list-avatar-looks)         | List Avatar Looks  | `avatars:read`  |
| [`GET /v3/avatars/looks/{look_id}`](/reference/get-avatar-look) | Get Avatar Look    | `avatars:read`  |
| [`GET /v3/avatars/{group_id}`](/reference/get-avatar-group)     | Get Avatar Group   | `avatars:read`  |

### `avatars:write`

| Endpoint                                                                  | Description           | Required scopes |
| ------------------------------------------------------------------------- | --------------------- | --------------- |
| [`POST /v3/avatars`](/reference/create-avatar)                            | Create Avatar         | `avatars:write` |
| [`PATCH /v3/avatars/looks/{look_id}`](/reference/update-avatar-look)      | Update Avatar Look    | `avatars:write` |
| [`DELETE /v3/avatars/looks/{look_id}`](/reference/delete-avatar-look)     | Delete Avatar Look    | `avatars:write` |
| [`PATCH /v3/avatars/{group_id}`](/reference/update-avatar-group)          | Update Avatar Group   | `avatars:write` |
| [`DELETE /v3/avatars/{group_id}`](/reference/delete-avatar-group)         | Delete Avatar Group   | `avatars:write` |
| [`POST /v3/avatars/{group_id}/consent`](/reference/create-avatar-consent) | Create Avatar Consent | `avatars:write` |

### `brand:read`

| Endpoint                                                                        | Description           | Required scopes |
| ------------------------------------------------------------------------------- | --------------------- | --------------- |
| [`GET /v3/brand-glossaries`](/reference/list-brand-glossaries)                  | List Brand Glossaries | `brand:read`    |
| [`GET /v3/brand-glossaries/{brand_glossary_id}`](/reference/get-brand-glossary) | Get Brand Glossary    | `brand:read`    |
| [`GET /v3/brand-kits`](/reference/list-brand-kits)                              | List Brand Kits       | `brand:read`    |
| [`GET /v3/brand-kits/{brand_kit_id}`](/reference/get-brand-kit)                 | Get Brand Kit         | `brand:read`    |

### `brand:write`

| Endpoint                                                                              | Description           | Required scopes |
| ------------------------------------------------------------------------------------- | --------------------- | --------------- |
| [`POST /v3/brand-glossaries`](/reference/create-brand-glossary)                       | Create Brand Glossary | `brand:write`   |
| [`PATCH /v3/brand-glossaries/{brand_glossary_id}`](/reference/update-brand-glossary)  | Update Brand Glossary | `brand:write`   |
| [`DELETE /v3/brand-glossaries/{brand_glossary_id}`](/reference/delete-brand-glossary) | Delete Brand Glossary | `brand:write`   |
| [`POST /v3/brand-kits`](/reference/create-brand-kit)                                  | Create Brand Kit      | `brand:write`   |
| [`PATCH /v3/brand-kits/{brand_kit_id}`](/reference/update-brand-kit)                  | Update Brand Kit      | `brand:write`   |
| [`DELETE /v3/brand-kits/{brand_kit_id}`](/reference/delete-brand-kit)                 | Delete Brand Kit      | `brand:write`   |

### `filler_removal:read`

| Endpoint                                                                                      | Description             | Required scopes       |
| --------------------------------------------------------------------------------------------- | ----------------------- | --------------------- |
| [`GET /v3/filler-word-removals/{filler_word_removal_id}`](/reference/get-filler-word-removal) | Get Filler Word Removal | `filler_removal:read` |

### `filler_removal:write`

| Endpoint                                                                 | Description                | Required scopes        |
| ------------------------------------------------------------------------ | -------------------------- | ---------------------- |
| [`POST /v3/filler-word-removals`](/reference/create-filler-word-removal) | Create Filler Word Removal | `filler_removal:write` |

### `hyperframes:read`

| Endpoint                                                                       | Description              | Required scopes    |
| ------------------------------------------------------------------------------ | ------------------------ | ------------------ |
| [`GET /v3/hyperframes/renders`](/reference/list-hyperframes-renders)           | List HyperFrames Renders | `hyperframes:read` |
| [`GET /v3/hyperframes/renders/{render_id}`](/reference/get-hyperframes-render) | Get HyperFrames Render   | `hyperframes:read` |

### `hyperframes:write`

| Endpoint                                                                             | Description               | Required scopes     |
| ------------------------------------------------------------------------------------ | ------------------------- | ------------------- |
| [`POST /v3/hyperframes/renders`](/reference/create-hyperframes-render)               | Create HyperFrames Render | `hyperframes:write` |
| [`DELETE /v3/hyperframes/renders/{render_id}`](/reference/delete-hyperframes-render) | Delete HyperFrames Render | `hyperframes:write` |

### `lipsync:read`

| Endpoint                                                              | Description           | Required scopes |
| --------------------------------------------------------------------- | --------------------- | --------------- |
| [`GET /v3/lipsyncs`](/reference/list-lipsyncs)                        | List Lipsyncs         | `lipsync:read`  |
| [`GET /v3/lipsyncs/batches/{batch_id}`](/reference/get-lipsync-batch) | Get Lipsync Batch     | `lipsync:read`  |
| [`GET /v3/lipsyncs/statuses`](/reference/bulk-lipsync-statuses)       | Bulk Lipsync Statuses | `lipsync:read`  |
| [`GET /v3/lipsyncs/{lipsync_id}`](/reference/get-lipsync)             | Get Lipsync           | `lipsync:read`  |

### `lipsync:write`

| Endpoint                                                        | Description          | Required scopes |
| --------------------------------------------------------------- | -------------------- | --------------- |
| [`POST /v3/lipsyncs`](/reference/create-lipsync)                | Create Lipsync       | `lipsync:write` |
| [`POST /v3/lipsyncs/batches`](/reference/create-lipsync-batch)  | Create Lipsync Batch | `lipsync:write` |
| [`PATCH /v3/lipsyncs/{lipsync_id}`](/reference/update-lipsync)  | Update Lipsync       | `lipsync:write` |
| [`DELETE /v3/lipsyncs/{lipsync_id}`](/reference/delete-lipsync) | Delete Lipsync       | `lipsync:write` |

### `templates:read`

| Endpoint                                                                      | Description                  | Required scopes                  |
| ----------------------------------------------------------------------------- | ---------------------------- | -------------------------------- |
| [`GET /v3/templates`](/reference/list-templates)                              | List Templates               | `templates:read`                 |
| [`GET /v3/templates/{template_id}`](/reference/get-template)                  | Get Template                 | `templates:read`                 |
| [`POST /v3/templates/{template_id}`](/reference/generate-video-from-template) | Generate Video from Template | `templates:read`, `videos:write` |

### `translations:read`

| Endpoint                                                                                        | Description                          | Required scopes     |
| ----------------------------------------------------------------------------------------------- | ------------------------------------ | ------------------- |
| [`GET /v3/video-translations`](/reference/list-video-translations)                              | List Video Translations              | `translations:read` |
| [`GET /v3/video-translations/batches/{batch_id}`](/reference/get-video-translation-batch)       | Get Video Translation Batch          | `translations:read` |
| [`GET /v3/video-translations/languages`](/reference/list-supported-translation-languages)       | List Supported Translation Languages | `translations:read` |
| [`GET /v3/video-translations/proofreads/{proofread_id}`](/reference/get-proofread-session)      | Get Proofread Session                | `translations:read` |
| [`GET /v3/video-translations/proofreads/{proofread_id}/srt`](/reference/download-proofread-srt) | Download Proofread SRT               | `translations:read` |
| [`GET /v3/video-translations/statuses`](/reference/bulk-video-translation-statuses)             | Bulk Video Translation Statuses      | `translations:read` |

### `translations:write`

| Endpoint                                                                                                     | Description                    | Required scopes      |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------ | -------------------- |
| [`POST /v3/video-translations`](/reference/create-video-translation)                                         | Create Video Translation       | `translations:write` |
| [`POST /v3/video-translations/batches`](/reference/create-video-translation-batch)                           | Create Video Translation Batch | `translations:write` |
| [`POST /v3/video-translations/proofreads`](/reference/create-proofread-session)                              | Create Proofread Session       | `translations:write` |
| [`POST /v3/video-translations/proofreads/{proofread_id}/generate`](/reference/generate-video-from-proofread) | Generate Video from Proofread  | `translations:write` |
| [`PUT /v3/video-translations/proofreads/{proofread_id}/srt`](/reference/upload-proofread-srt)                | Upload Proofread SRT           | `translations:write` |

### `video_agent:read`

| Endpoint                                                                                       | Description               | Required scopes    |
| ---------------------------------------------------------------------------------------------- | ------------------------- | ------------------ |
| [`GET /v3/video-agents`](/reference/list-video-agent-sessions)                                 | List Video Agent Sessions | `video_agent:read` |
| [`GET /v3/video-agents/styles`](/reference/list-video-agent-styles)                            | List Video Agent Styles   | `video_agent:read` |
| [`GET /v3/video-agents/{session_id}`](/reference/get-video-agent-session)                      | Get Video Agent Session   | `video_agent:read` |
| [`GET /v3/video-agents/{session_id}/resources/{resource_id}`](/reference/get-session-resource) | Get Session Resource      | `video_agent:read` |
| [`GET /v3/video-agents/{session_id}/videos`](/reference/list-session-videos)                   | List Session Videos       | `video_agent:read` |

### `video_agent:write`

| Endpoint                                                                            | Description                      | Required scopes     |
| ----------------------------------------------------------------------------------- | -------------------------------- | ------------------- |
| [`POST /v3/video-agents`](/reference/create-video-agent-session)                    | Create Video Agent Session       | `video_agent:write` |
| [`POST /v3/video-agents/{session_id}`](/reference/send-message-or-request-revision) | Send Message or Request Revision | `video_agent:write` |
| [`POST /v3/video-agents/{session_id}/stop`](/reference/stop-video-agent-session)    | Stop Video Agent Session         | `video_agent:write` |

### `videos:read`

| Endpoint                                                          | Description         | Required scopes |
| ----------------------------------------------------------------- | ------------------- | --------------- |
| [`GET /v3/videos`](/reference/list-videos)                        | List Videos         | `videos:read`   |
| [`GET /v3/videos/batches/{batch_id}`](/reference/get-video-batch) | Get Video Batch     | `videos:read`   |
| [`GET /v3/videos/statuses`](/reference/bulk-video-statuses)       | Bulk Video Statuses | `videos:read`   |
| [`GET /v3/videos/{video_id}`](/reference/get-video)               | Get Video           | `videos:read`   |
| [`GET /v3/videos/{video_id}/scenes`](/reference/get-video-scenes) | Get Video Scenes    | `videos:read`   |

### `videos:write`

| Endpoint                                                                      | Description                  | Required scopes                  |
| ----------------------------------------------------------------------------- | ---------------------------- | -------------------------------- |
| [`POST /v3/templates/{template_id}`](/reference/generate-video-from-template) | Generate Video from Template | `templates:read`, `videos:write` |
| [`POST /v3/videos`](/reference/create-video)                                  | Create Video                 | `videos:write`                   |
| [`POST /v3/videos/batches`](/reference/create-video-batch)                    | Create Video Batch           | `videos:write`                   |
| [`DELETE /v3/videos/{video_id}`](/reference/delete-video)                     | Delete Video                 | `videos:write`                   |

### `voices:read`

| Endpoint                                            | Description | Required scopes |
| --------------------------------------------------- | ----------- | --------------- |
| [`GET /v3/voices`](/reference/list-voices)          | List Voices | `voices:read`   |
| [`GET /v3/voices/{voice_id}`](/reference/get-voice) | Get Voice   | `voices:read`   |

### `voices:write`

| Endpoint                                                    | Description     | Required scopes |
| ----------------------------------------------------------- | --------------- | --------------- |
| [`POST /v3/voices`](/reference/design-a-voice)              | Design a Voice  | `voices:write`  |
| [`POST /v3/voices/clone`](/reference/clone-a-voice)         | Clone a Voice   | `voices:write`  |
| [`POST /v3/voices/speech`](/reference/generate-speech)      | Generate Speech | `voices:write`  |
| [`DELETE /v3/voices/{voice_id}`](/reference/delete-a-voice) | Delete a Voice  | `voices:write`  |

### `webhooks:read`

| Endpoint                                                              | Description              | Required scopes |
| --------------------------------------------------------------------- | ------------------------ | --------------- |
| [`GET /v3/webhooks/endpoints`](/reference/list-webhook-endpoints)     | List Webhook Endpoints   | `webhooks:read` |
| [`GET /v3/webhooks/event-types`](/reference/list-webhook-event-types) | List Webhook Event Types | `webhooks:read` |
| [`GET /v3/webhooks/events`](/reference/list-webhook-events)           | List Webhook Events      | `webhooks:read` |

### `webhooks:write`

| Endpoint                                                                                              | Description                   | Required scopes  |
| ----------------------------------------------------------------------------------------------------- | ----------------------------- | ---------------- |
| [`POST /v3/webhooks/endpoints`](/reference/create-webhook-endpoint)                                   | Create Webhook Endpoint       | `webhooks:write` |
| [`PATCH /v3/webhooks/endpoints/{endpoint_id}`](/reference/update-webhook-endpoint)                    | Update Webhook Endpoint       | `webhooks:write` |
| [`DELETE /v3/webhooks/endpoints/{endpoint_id}`](/reference/delete-webhook-endpoint)                   | Delete Webhook Endpoint       | `webhooks:write` |
| [`POST /v3/webhooks/endpoints/{endpoint_id}/rotate-secret`](/reference/rotate-webhook-signing-secret) | Rotate Webhook Signing Secret | `webhooks:write` |
