Skip to content

Pipeline ​

The pipeline is the ordered list of stages your deals move through.

Permissions: contacts:read and contacts:write.

The stage object ​

json
{
  "id": 1,
  "name": "Proposal",
  "position": 1,
  "color": "#6366f1",
  "is_won": false,
  "is_lost": false,
  "probability": 40,
  "deals_count": 6,
  "created_at": "...",
  "updated_at": "..."
}

Mark one stage as is_won (for example "Closed won") and another as is_lost (for example "Closed lost"). The won and lost actions on deals move deals to these stages.

Endpoints ​

MethodPathDescription
GET/crm/pipelineEvery stage, sorted by position (not paginated)
POST/crm/pipelineCreate a stage
POST/crm/pipeline/reorderReorder the stages
PUT/crm/pipeline/{id}Update a stage (partial)
DELETE/crm/pipeline/{id}Delete a stage. Returns 204.

Create a stage ​

FieldRules
nameRequired. Max 255 characters
colorHex color such as #22c55e. Default #6366f1
positionInteger ≥ 0. Defaults to after the last stage
is_won / is_lostboolean, default false
probability0–100, default 0

201: { "data": DealStage }

Reorder ​

json
{ "stages": [4, 1, 2, 3] }

Each stage's position in the array becomes its new position, starting at 0.

200: { "data": [DealStage], "message": "Pipeline reordered" }

Delete ​

You can't delete a stage that still has deals:

json
{ "error": "HttpError", "message": "Cannot delete a stage that has deals. Move or delete the deals first.", "code": 422 }

API v1.0