Add a stage
Add a stage to a pipeline — appended to the end, or inserted at a position (later stages shift down).
POST
https://api.centerfy.ai/webhooks/inbound/pipelines/:id/stages Headers
| Header | Required | Value | Description |
|---|---|---|---|
x-api-key | Yes | your sub-account API key (cfy_…) | Authenticates the request; or use Authorization: Bearer <key>. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The pipeline id. |
Body parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | — | Stage name. |
position | integer | No | — | 0-based insert position. Defaults to the end. |
color | string | No | — | Hex colour, e.g. #10B981. Defaults to the app’s palette for that position. |
Request body
{
"name": "Demo booked",
"position": 1
}Example
curl -X POST "https://api.centerfy.ai/webhooks/inbound/pipelines/{id}/stages" \
-H "x-api-key: $CENTERFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Demo booked",
"position": 1
}' import { CenterfyClient } from "@centerfy/sdk";
const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });
const result = await centerfy.pipelines.createStage("<pipelineId>", {
"name": "Demo booked",
"position": 1
});
console.log(result); centerfy pipelines create-stage <pipelineId> '{"name":"Demo booked","position":1}' MCP tool: centerfy_pipelines_create_stage (see MCP server)
Response
{
"status": "success",
"stage": {
"id": "2d8b4e30-5c6f-4071-8b2c-3d4e5f6a7b82",
"pipeline_id": "7d2e9f10-4b3c-4a1d-9e8f-2a3b4c5d6e7f",
"name": "Demo booked",
"position": 1,
"color": "#8B5CF6",
"created_at": "2026-10-02T09:30:00.000Z",
"updated_at": "2026-10-02T09:30:00.000Z"
}
}Errors
404— if the pipeline is not in this sub-account.
Notes
Returns 201.