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

# Create Folder

> Create a folder in the authenticated key scope

Creates a folder for one media type. Use `parent_folder_id` to create nested folders.

## Body Parameters

<ParamField body="name" type="string" required>
  Folder name (`1-255` chars).
</ParamField>

<ParamField body="media_type" type="string" required>
  Folder media type: `ai_image`, `ai_video`, `upload`, or `slideshow`.
</ParamField>

<ParamField body="parent_folder_id" type="string">
  Optional parent folder ID for nesting.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://www.genviral.io/api/partner/v1/folders \
    --header 'Authorization: Bearer <token>' \
    --header 'Content-Type: application/json' \
    --data '{
      "name": "March Campaign",
      "media_type": "upload",
      "parent_folder_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "ok": true,
    "code": 201,
    "message": "Folder created",
    "data": {
      "id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
      "name": "March Campaign",
      "media_type": "upload",
      "parent_folder_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
      "file_count": 0,
      "subfolder_count": 0,
      "preview_files": []
    }
  }
  ```
</ResponseExample>

## Error Responses

* `400 invalid_json` - malformed JSON body
* `404 parent_folder_not_found` - `parent_folder_id` not visible in key scope
* `409 folder_name_conflict` - duplicate folder name at destination
* `422 invalid_payload` - body validation failed
* `500 folder_create_failed` - unexpected create failure
