Manage phases within projects. Phases help organize projects into logical stages or milestones, each containing related tasks and deliverables.
{
"id": 456,
"title": "Design Phase",
"project_id": 789,
"is_internal": false,
"due_date": "2023-03-15T23:59:59Z",
"colour": "#9177FB",
"order": 1,
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:00Z",
"project": {
"id": 789,
"title": "Website Redesign",
"client": {
"id": 101,
"title": "Acme Corporation",
"company_id": 202
}
}
}
| Attribute | Type | Description |
|---|---|---|
| id | integer | Unique identifier for the phase |
| title | string | The phase's name |
| project_id | integer | ID of the project this phase belongs to |
| is_internal | boolean | Whether this phase is internal (not visible to clients) |
| due_date | string | Phase due date (ISO 8601 format) |
| colour | string | Hex color code for phase visualization |
| order | integer | Order of the phase within its project |
| project | object | The project object this phase belongs to |
Retrieves a list of phases the authenticated user has access to.
/api/v1/phases
| Parameter | Type | Description |
|---|---|---|
| project_id | integer | Filter phases by specific project ID |
| client_id | integer | Filter phases by specific client ID |
| company_id | integer | Filter phases by specific company ID |
| is_internal | boolean | Filter by internal/external phases |
| section_type | string | Filter by "client" (external) or "internal" phases |
| per_page | integer | Number of results per page (max 1000) |
GET /api/v1/phases?project_id=789§ion_type=client&per_page=25
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
[
{
"id": 456,
"title": "Design Phase",
"project_id": 789,
"is_internal": false,
"due_date": "2023-03-15T23:59:59Z",
"colour": "#9177FB",
"order": 1,
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:00Z",
"project": {
"id": 789,
"title": "Website Redesign",
"client": {
"id": 101,
"title": "Acme Corporation",
"company_id": 202
}
}
}
]
Retrieves a specific phase by ID.
/api/v1/phases/{id}
GET /api/v1/phases/456
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
{
"id": 456,
"title": "Design Phase",
"project_id": 789,
"is_internal": false,
"due_date": "2023-03-15T23:59:59Z",
"colour": "#9177FB",
"order": 1,
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:00Z",
"project": {
"id": 789,
"title": "Website Redesign",
"client": {
"id": 101,
"title": "Acme Corporation",
"company_id": 202
}
}
}
Creates a new phase within a project.
/api/v1/phases
| Parameter | Type | Required | Description |
|---|---|---|---|
| title | string | Yes | The phase's name (max 255 chars) |
| project_id | integer | Yes | ID of the project this phase belongs to |
| is_internal | boolean | No | Whether this phase is internal (defaults to false) |
| due_date | string | No | Phase due date (YYYY-MM-DD HH:MM:SS format) |
| colour | string | No | Hex color code (max 7 chars, e.g., "#9177FB") |
POST /api/v1/phases
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
Accept: application/json
{
"title": "Development Phase",
"project_id": 789,
"is_internal": false,
"due_date": "2023-04-30 23:59:59",
"colour": "#659DE5"
}
{
"id": 457,
"title": "Development Phase",
"project_id": 789,
"is_internal": false,
"due_date": "2023-04-30T23:59:59Z",
"colour": "#659DE5",
"order": 2,
"created_at": "2023-01-15T10:00:00Z",
"updated_at": "2023-01-15T10:00:00Z",
"project": {
"id": 789,
"title": "Website Redesign",
"client": {
"id": 101,
"title": "Acme Corporation",
"company_id": 202
}
}
}
Phases can be either client-facing or internal, allowing you to organize work visibility.
Template Projects: Phases cannot be created in template projects via the API. The API will return a 422 error if you attempt to create phases in template projects.
Phase Ordering: New phases are automatically assigned the next order number within their project. Phases are returned in order when listing.