REST API Reference

Project Endpoints

Programmatically manage Cloudizero project boundaries: create isolated asset containers, list accessible projects, update metadata, and cascade deletion across all contained files.

GET

/api/projects

Lists all projects accessible by your API key. You can optionally filter projects by workspace using the workspaceId query parameter.

Request (All Accessible)
curl -X GET "https://api.cloudizero.com/api/projects" \
  -H "Authorization: Bearer cz_live_..."
Request (Workspace Filtered)
curl -X GET "https://api.cloudizero.com/api/projects?workspaceId=wrk_IIZHBI7BIsUY7IOL" \
  -H "Authorization: Bearer cz_live_..."
Response (200 OK)
[
  {
    "id": "prj_LXAlEW70v24YSc0y",
    "name": "E-Commerce Assets",
    "description": "Production media assets for store catalog",
    "workspaceId": "wrk_IIZHBI7BIsUY7IOL",
    "sortOrder": 0,
    "totalSize": 104857600,
    "fileCount": 42,
    "createdAt": "2026-10-12T12:00:00.000Z",
    "updatedAt": "2026-10-21T18:00:00.000Z"
  }
]
POST

/api/projects

Creates a new isolated project container. Requires an API key with Global Access (All Projects).

Request
curl -X POST https://api.cloudizero.com/api/projects \
  -H "Authorization: Bearer cz_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Marketing Launch Campaign",
    "description": "Banners, hero images, and promotional videos",
    "workspaceId": "wrk_IIZHBI7BIsUY7IOL"
  }'
Response (201 Created)
{
  "id": "prj_LXAlEW70v24YSc0y",
  "userId": "usr_IIZHBI7BIsUY7IOL",
  "workspaceId": "wrk_IIZHBI7BIsUY7IOL",
  "name": "Marketing Launch Campaign",
  "description": "Banners, hero images, and promotional videos",
  "sortOrder": 1,
  "createdAt": "2026-10-21T18:00:00.000Z",
  "updatedAt": "2026-10-21T18:00:00.000Z"
}
PATCH

/api/projects

Updates an existing project's display name or description.

Request
curl -X PATCH https://api.cloudizero.com/api/projects \
  -H "Authorization: Bearer cz_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "prj_LXAlEW70v24YSc0y",
    "name": "Marketing Launch Q4",
    "description": "Updated asset collection for Q4 campaign"
  }'
Response (200 OK)
{
  "project": {
    "id": "prj_LXAlEW70v24YSc0y",
    "userId": "usr_IIZHBI7BIsUY7IOL",
    "workspaceId": "wrk_IIZHBI7BIsUY7IOL",
    "name": "Marketing Launch Q4",
    "description": "Updated asset collection for Q4 campaign",
    "sortOrder": 1,
    "createdAt": "2026-10-21T18:00:00.000Z",
    "updatedAt": "2026-10-21T18:30:00.000Z"
  }
}
PATCH

/api/projects/reorder

Updates the display sort order of projects by providing an ordered list of project IDs.

Request
curl -X PATCH https://api.cloudizero.com/api/projects/reorder \
  -H "Authorization: Bearer cz_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "projectIds": [
      "prj_LXAlEW70v24YSc0y",
      "prj_ARaZjwdPpUqXhDHf"
    ]
  }'
Response (200 OK)
{
  "success": true
}
DELETE

/api/projects

Permanently deletes a project container and recursively purges all associated files, folders, thumbnails, and relational metadata.

Request
curl -X DELETE "https://api.cloudizero.com/api/projects?projectId=prj_LXAlEW70v24YSc0y" \
  -H "Authorization: Bearer cz_live_..."
Response (200 OK)
{
  "success": true,
  "message": "Project deleted successfully"
}
Irreversible Operation
Project deletion is permanent. All binary assets and database metadata within the project will be permanently destroyed.