---
title: "Create project milestone status"
method: POST
path: "/admin/project_milestone_statuses"
tags: ["Project milestone statuses"]
---

# Create project milestone status

`POST /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`

## Request body

- object
  - `project_milestone_status` ProjectMilestoneStatusWritable
    - `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).

## Response `200`

Successful Response

- ProjectMilestoneStatusAll
  - `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)
