Skip to main content
POST
/
api
/
partner
/
v1
/
folders
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"
  }'
{
  "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": []
  }
}
Creates a folder for one media type. Use parent_folder_id to create nested folders.

Body Parameters

name
string
required
Folder name (1-255 chars).
media_type
string
required
Folder media type: ai_image, ai_video, upload, or slideshow.
parent_folder_id
string
Optional parent folder ID for nesting.
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"
  }'
{
  "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": []
  }
}

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