Skip to main content
Planned Feature - This API endpoint is planned for ClypAI’s 2026 launch. The documentation below represents the intended design and may change before release.

Overview

Projects are containers for organizing your video content and clips. Use the Projects API to create, list, update, and delete projects.
All project endpoints require authentication. See Authentication for details.

The Project Object

id
string
Unique identifier for the project
name
string
Display name of the project
description
string
Optional description of the project
organizationId
string
ID of the organization that owns this project
status
string
Project status: active, archived, draft
settings
object
Project-specific settings and preferences
clipCount
number
Number of clips in this project
createdAt
string
ISO 8601 timestamp of project creation
updatedAt
string
ISO 8601 timestamp of last update

Example Project Object

{
  "id": "proj_a1b2c3d4e5",
  "name": "Product Launch Campaign",
  "description": "Video clips for Q1 2024 product launch",
  "organizationId": "org_1234567890",
  "status": "active",
  "settings": {
    "defaultBrandKitId": "brand_xyz123",
    "autoCaption": true,
    "targetPlatforms": ["youtube", "instagram", "tiktok"]
  },
  "clipCount": 12,
  "createdAt": "2024-01-15T10:30:00Z",
  "updatedAt": "2024-01-20T14:22:00Z"
}

Create Project

curl -X POST https://api.clypai.com/v1/projects \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product Launch Campaign",
    "description": "Video clips for Q1 2024 product launch",
    "settings": {
      "autoCaption": true,
      "targetPlatforms": ["youtube", "instagram"]
    }
  }'

Parameters

name
string
required
Display name for the project (1-100 characters)
description
string
Optional description of the project (max 500 characters)
status
string
default:"active"
Initial project status: active, archived, or draft
settings
object
Project-specific settings

Response

success
boolean
Whether the request was successful
data
object
The created project object
{
  "success": true,
  "data": {
    "id": "proj_a1b2c3d4e5",
    "name": "Product Launch Campaign",
    "description": "Video clips for Q1 2024 product launch",
    "organizationId": "org_1234567890",
    "status": "active",
    "settings": {
      "autoCaption": true,
      "targetPlatforms": ["youtube", "instagram"]
    },
    "clipCount": 0,
    "createdAt": "2024-01-15T10:30:00Z",
    "updatedAt": "2024-01-15T10:30:00Z"
  }
}

List Projects

Retrieve a paginated list of all projects in your organization.
curl "https://api.clypai.com/v1/projects?limit=20&status=active" \
  -H "Authorization: Bearer YOUR_API_KEY"

Query Parameters

limit
integer
default:"20"
Number of projects to return (max 100)
cursor
string
Pagination cursor from previous response
status
string
Filter by status: active, archived, draft
Search projects by name or description
sortBy
string
default:"updatedAt"
Sort field: name, createdAt, updatedAt, clipCount
sortOrder
string
default:"desc"
Sort direction: asc or desc

Response

{
  "success": true,
  "data": [
    {
      "id": "proj_a1b2c3d4e5",
      "name": "Product Launch Campaign",
      "description": "Video clips for Q1 2024 product launch",
      "status": "active",
      "clipCount": 12,
      "createdAt": "2024-01-15T10:30:00Z",
      "updatedAt": "2024-01-20T14:22:00Z"
    }
  ],
  "pagination": {
    "hasMore": true,
    "nextCursor": "eyJpZCI6InByb2pfYTFiMmMzZDRlNSJ9"
  }
}

Get Project

Retrieve a specific project by ID.
curl https://api.clypai.com/v1/projects/proj_a1b2c3d4e5 \
  -H "Authorization: Bearer YOUR_API_KEY"

Path Parameters

projectId
string
required
The unique identifier of the project

Response

{
  "success": true,
  "data": {
    "id": "proj_a1b2c3d4e5",
    "name": "Product Launch Campaign",
    "description": "Video clips for Q1 2024 product launch",
    "organizationId": "org_1234567890",
    "status": "active",
    "settings": {
      "defaultBrandKitId": "brand_xyz123",
      "autoCaption": true,
      "targetPlatforms": ["youtube", "instagram", "tiktok"]
    },
    "clipCount": 12,
    "createdAt": "2024-01-15T10:30:00Z",
    "updatedAt": "2024-01-20T14:22:00Z"
  }
}

Update Project

Update an existing project. Only provided fields will be updated.
curl -X PATCH https://api.clypai.com/v1/projects/proj_a1b2c3d4e5 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q1 Product Launch",
    "status": "archived"
  }'

Path Parameters

projectId
string
required
The unique identifier of the project

Body Parameters

name
string
Updated display name
description
string
Updated description
status
string
Updated status: active, archived, draft
settings
object
Updated settings (partial updates supported)

Response

{
  "success": true,
  "data": {
    "id": "proj_a1b2c3d4e5",
    "name": "Q1 Product Launch",
    "description": "Video clips for Q1 2024 product launch",
    "status": "archived",
    "updatedAt": "2024-01-25T09:15:00Z"
  }
}

Delete Project

Permanently delete a project and all associated clips.
This action cannot be undone. All clips within the project will also be deleted.
curl -X DELETE https://api.clypai.com/v1/projects/proj_a1b2c3d4e5 \
  -H "Authorization: Bearer YOUR_API_KEY"

Path Parameters

projectId
string
required
The unique identifier of the project to delete

Response

{
  "success": true,
  "data": {
    "id": "proj_a1b2c3d4e5",
    "deleted": true
  }
}

Error Responses

Project Not Found

{
  "success": false,
  "error": {
    "code": "not_found",
    "message": "Project not found"
  }
}

Invalid Project Name

{
  "success": false,
  "error": {
    "code": "invalid_request",
    "message": "Project name must be between 1 and 100 characters",
    "field": "name"
  }
}

Unauthorized Access

{
  "success": false,
  "error": {
    "code": "forbidden",
    "message": "You don't have permission to access this project"
  }
}

Build docs developers (and LLMs) love