Docs Blog Sign in

Projects

Projects are containers for your work within Airclou. Each project can have its own settings, members, and resources.

The project object

Attributes

AttributeTypeDescription
idstringUnique identifier for the project
namestringProject name
descriptionstringProject description
statusstringProject status: active, archived, or draft
owner_idstringID of the user who owns the project
team_idstringID of the team this project belongs to (optional)
created_attimestampWhen the project was created
updated_attimestampWhen the project was last updated

Example object

{
  "id": "proj_1234567890",
  "name": "Website Redesign",
  "description": "Complete redesign of company website",
  "status": "active",
  "owner_id": "usr_1234567890",
  "team_id": "team_1234567890",
  "created_at": "2025-01-15T10:30:00Z",
  "updated_at": "2025-11-06T09:15:00Z"
}

List all projects

GET /playbook/api/v1/projects

Query parameters

ParameterTypeDescription
limitintegerNumber of projects to return (1-100)
cursorstringPagination cursor
statusstringFilter by status: active, archived, or draft
team_idstringFilter by team ID
searchstringSearch by project name

Example request

curl "https://app.airclou.com/playbook/api/v1/projects?status=active" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example response

{
  "data": [
    {
      "id": "proj_1234567890",
      "name": "Website Redesign",
      "description": "Complete redesign of company website",
      "status": "active",
      "owner_id": "usr_1234567890",
      "team_id": "team_1234567890",
      "created_at": "2025-01-15T10:30:00Z",
      "updated_at": "2025-11-06T09:15:00Z"
    }
  ],
  "pagination": {
    "next_cursor": null,
    "has_more": false,
    "total_count": 1
  }
}

Retrieve a project

GET /playbook/api/v1/projects/{project_id}

Example request

curl "https://app.airclou.com/playbook/api/v1/projects/proj_1234567890" \
  -H "Authorization: Bearer YOUR_API_KEY"

Create a project

POST /playbook/api/v1/projects

Request body

FieldTypeRequiredDescription
namestringYesProject name
descriptionstringNoProject description
team_idstringNoTeam to assign project to
statusstringNoInitial status (default: draft)

Example request

curl -X POST "https://app.airclou.com/playbook/api/v1/projects" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Mobile App",
    "description": "iOS and Android mobile application",
    "team_id": "team_1234567890",
    "status": "active"
  }'

Example response

{
  "id": "proj_9876543210",
  "name": "Mobile App",
  "description": "iOS and Android mobile application",
  "status": "active",
  "owner_id": "usr_1234567890",
  "team_id": "team_1234567890",
  "created_at": "2025-11-06T10:30:00Z",
  "updated_at": "2025-11-06T10:30:00Z"
}

Update a project

PATCH /playbook/api/v1/projects/{project_id}

Request body

FieldTypeDescription
namestringProject name
descriptionstringProject description
statusstringProject status
team_idstringTeam ID (or null to remove from team)

Example request

curl -X PATCH "https://app.airclou.com/playbook/api/v1/projects/proj_1234567890" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "archived"
  }'

Delete a project

DELETE /playbook/api/v1/projects/{project_id}

Example request

curl -X DELETE "https://app.airclou.com/playbook/api/v1/projects/proj_1234567890" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example response

204 No Content

Warning: Deleting a project will permanently delete all associated resources. This action cannot be undone.


Project statuses

Active

Project is currently in progress and visible to team members.

Draft

Project is being planned and not yet fully active. Limited visibility.

Archived

Project is complete or on hold. Can be restored to active status if needed.