Folders

Creates a folder at the root or inside parent_id. Pass its folder_id to POST /v3/videos or POST /v3/video-translations to file output there. Names need not be unique, so store the ids you receive. Send an Idempotency-Key to make retries safe.

post/v3/folders

Request

  • Base URL
    https://api.heygen.com
  • URL
    https://api.heygen.com/v3/folders
  • Auth
    • API key in header x-api-key
    • or HTTP bearer

Headers

Idempotency-Keystring

Optional client-supplied key for safely retrying mutations. Subsequent calls within 24 hours that share this key replay the original response — even if the request body differs slightly (a warning is logged). A retry that arrives while the original is still in flight gets a 409 request_in_progress. Keys must be 1–255 characters from [A-Za-z0-9_:.-]; a UUID is a safe default. Scope is per-endpoint and per-resource: the same key on a different route or path parameter is independent.

Request body

namestring required

Folder name, 1-256 characters. Sibling folders may share a name.

parent_idstring nullable

ID of the folder to create this one in. Omit, pass null, or pass an empty string to create it at the workspace root. The parent must be a folder in the caller's workspace, of a kind this endpoint creates, that is not in the trash. Assets library folders are flat and cannot hold folders.

type'mixed' | 'video' | 'video_translate'

The kinds POST /v3/folders creates, and the kinds a parent_id may name.

Assets library folders ('asset') are created in the HeyGen app; existing ones are accepted as a folder_id destination and returned by GET /v3/folders/{folder_id}.

Example request

{
  "name": "Module 3 - Deploying to production",
  "parent_id": "7c1f0b2e3d4a4f5e8a9b0c1d2e3f4a5b"
}

Response

Created.

Example response

{
  "data": {
    "created_at": 1711929600,
    "updated_at": 1711929600
  }
}

Changes