Replace Pipeline Stages
Set the ordered stages: their names, kinds, probabilities and the fields a deal needs to enter each. A stage with an `id` is kept (with its deals); one left out is removed (409 `stage_has_deals` while a deal is in it).
API key access
crm:write scope with an API key (ro_pat_...). A signed-in session uses the caller's role./api/v1/pipelines/{pipeline_id}/stagesAccess token from /api/v1/auth/login, or an API key (ro_pat_..., RO-176) from /api/v1/workspaces/current/api-keys: the key implies its workspace and needs the route's scope. MCP connectors (/api/v1/mcp only) may use an OAuth access token (ro_oat_..., RO-284).
In: header
Path Parameters
uuidHeader Parameters
Id of the workspace to act on (must be a member).
The whole ordered list. A stage left out is removed (409 stage_has_deals while a deal
is in it).
Response Body
curl -X PUT "http://localhost:8000/api/v1/pipelines/497f6eca-6276-4993-bfeb-53cbbbba6f08/stages" \ -H "X-Workspace-Id: string" \ -H "Content-Type: application/json" \ -d '{ "stages": [ { "name": "string" } ] }'{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"position": 0,
"is_default": true,
"stages": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"pipeline_id": "ec036e81-7903-4e4d-bbfa-ac8516341cf0",
"name": "string",
"position": 0,
"kind": "open",
"probability": 0,
"required_fields": [
"value"
]
}
],
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Move Deal
Move a deal to another stage of its pipeline (the board's drag and drop), optionally at a `position` in the column. The stage's required fields must be set (422 `stage_requirements` with `missing`); won and lost stages close the deal.
Update Deal
Change some fields of a deal (only those given; `null` clears). Moving it to another stage or pipeline checks the stage's required fields (422 `stage_requirements` with `missing`).