---
title: "List project milestone statuses"
method: GET
path: "/admin/project_milestone_statuses"
tags: ["Project milestone statuses"]
---

# List project milestone statuses

`GET /admin/project_milestone_statuses`

## Request

- Base URL: `https://api.pipelinecrm.com/api/v3`
- URL: `https://api.pipelinecrm.com/api/v3/admin/project_milestone_statuses`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer and API key in header `app-key`
  - API key in query parameter `api_key` and API key in query parameter `app_key`

## Response `200`

Successful Response

- ProjectMilestoneStatusList
  - `pagination` Pagination, required: Paging details returned alongside `entries` on every paginated list.
    - `page` integer: The page returned. Request another with `?page=N`.
    - `per_page` integer: Page size. `?per_page=N`, capped at 200.
    - `total` integer: Total number of records matching the request across all pages.
    - `pages` integer: Number of pages at this `per_page`.
    - `total_in_account` integer, nullable: Total number of records of this type visible to you before filters were applied. Null when not computed for the endpoint.
    - `page_var` string: Name of the query parameter that selects the page. Always `page`.
    - `url` string, nullable: Path of the request, when the endpoint reports it.
  - `entries` ProjectMilestoneStatusAll[], required: Paginated project milestone statuses
    - `id` integer: Unique identifier
    - `in_use` boolean: Whether any project milestone currently uses this status. Useful for the delete flow — when `true`, callers must supply `merge_into_project_milestone_status_id` on `DELETE`.
    - `created_at` string: Timestamp when the record was created (time zone in user's time zone).
    - `updated_at` string: Timestamp when the record was last touched (time zone in user's time zone).
    - `name` string: The name/label of the milestone status. Must be unique within the account.
    - `hex_color` string: The color to display the status (hex code with '#' prefix)
    - `position` integer: Order position in list of statuses. Custom statuses are inserted before the "Done" status by default.
    - `status_type` 'custom' | 'not_started' | 'in_progress' | 'blocked' | 'done': The type of status: - `custom`: User-created status. Can be reordered, edited, and deleted. - `not_started`: System status. Cannot be deleted. - `in_progress`: System status. Cannot be deleted. - `blocked`: System status. Cannot be deleted. - `done`: System status. Cannot be deleted. System statuses are automatically created per account and cannot be deleted (HTTP 403).

## Other responses

- `403`: The credentials are valid but this user may not perform the action (permissions, a read-only token, or API access switched off).

---

[API](https://skmtc.dev/pipelinecrm/apis/pipeline-crm-api.md) · [All operations](https://skmtc.dev/pipelinecrm/apis/pipeline-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pipelinecrm/apis/pipeline-crm-api/revisions/53ebfcc83597?raw)
