Phases API

Manage phases within projects. Phases help organize projects into logical stages or milestones, each containing related tasks and deliverables.

The Phase Object

{
  "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
    }
  }
}

Attributes

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

List Phases

Retrieves a list of phases the authenticated user has access to.

GET /api/v1/phases

Query Parameters

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)

Example Request

GET /api/v1/phases?project_id=789§ion_type=client&per_page=25
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json

Example Response

[
  {
    "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
      }
    }
  }
]

Get a Phase

Retrieves a specific phase by ID.

GET /api/v1/phases/{id}

Example Request

GET /api/v1/phases/456
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json

Example Response

{
  "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
    }
  }
}

Create a Phase

Creates a new phase within a project.

POST /api/v1/phases

Request Body

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")

Example Request

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"
}

Example Response

{
  "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
    }
  }
}

Phase Types

Phases can be either client-facing or internal, allowing you to organize work visibility.

Client Phases

  • is_internal: false
  • • Visible to clients
  • • Used for external deliverables
  • • Default phase type

Internal Phases

  • is_internal: true
  • • Hidden from clients
  • • Used for internal processes
  • • Team planning and coordination

Important Notes

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.