Skip to main content
POST
/
crm
/
pipelines
/
2026-03
/
{objectType}
/
{pipelineId}
/
stages
Create a pipeline stage
curl --request POST \
  --url https://api.hubapi.com/crm/pipelines/2026-03/{objectType}/{pipelineId}/stages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "displayOrder": 123,
  "label": "<string>",
  "metadata": {},
  "stageId": "<string>"
}
'
{
  "archived": true,
  "createdAt": "2023-11-07T05:31:56Z",
  "displayOrder": 123,
  "id": "<string>",
  "label": "<string>",
  "metadata": {},
  "updatedAt": "2023-11-07T05:31:56Z",
  "writePermissions": "CRM_PERMISSIONS_ENFORCEMENT",
  "archivedAt": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://developers.hubspot.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Supported products

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

objectType
string
required
pipelineId
string
required

Body

application/json
displayOrder
integer<int32>
required

The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.

label
string
required

A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.

metadata
object
required

A JSON object containing properties that are not present on all object pipelines.

For deals pipelines, the probability field is required ({ "probability": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1.

For tickets pipelines, the ticketState field is optional ({ "ticketState": "OPEN" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.

stageId
string

Response

successful operation

archived
boolean
required

Whether the pipeline is archived.

createdAt
string<date-time>
required

The date the pipeline stage was created. The stages on default pipelines will have createdAt = 0.

displayOrder
integer<int32>
required

The order for displaying this pipeline stage. If two pipeline stages have a matching displayOrder, they will be sorted alphabetically by label.

id
string
required

A unique identifier generated by HubSpot that can be used to retrieve and update the pipeline stage.

label
string
required

A label used to organize pipeline stages in HubSpot's UI. Each pipeline stage's label must be unique within that pipeline.

metadata
object
required

A JSON object containing properties that are not present on all object pipelines.

For deals pipelines, the probability field is required ({ "probability": 0.5 }), and represents the likelihood a deal will close. Possible values are between 0.0 and 1.0 in increments of 0.1.

For tickets pipelines, the ticketState field is optional ({ "ticketState": "OPEN" }), and represents whether the ticket remains open or has been closed by a member of your Support team. Possible values are OPEN or CLOSED.

updatedAt
string<date-time>
required

The date the pipeline stage was last updated.

writePermissions
enum<string>
required

Defines the level of write access for the pipeline stage, with possible values being CRM_PERMISSIONS_ENFORCEMENT, READ_ONLY, or INTERNAL_ONLY.

Available options:
CRM_PERMISSIONS_ENFORCEMENT,
INTERNAL_ONLY,
READ_ONLY
archivedAt
string<date-time>

The date the pipeline was archived. archivedAt will only be present if the pipeline is archived.

Last modified on May 15, 2026