Create a pipeline

Create a pipeline, optionally with its stages in display order. Stage colours are assigned automatically, the same way the app does.

POST https://api.centerfy.ai/webhooks/inbound/pipelines

Headers

HeaderRequiredValueDescription
x-api-keyYesyour sub-account API key (cfy_…)Authenticates the request; or use Authorization: Bearer <key>.

Body parameters

NameTypeRequiredDefaultDescription
namestringYes—Pipeline name.
stagesstring[]No—Stage names in display order (max 50).

Request body

{
  "name": "Sales",
  "stages": [
    "New",
    "Won"
  ]
}

Example

curl -X POST "https://api.centerfy.ai/webhooks/inbound/pipelines" \
  -H "x-api-key: $CENTERFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Sales",
  "stages": [
    "New",
    "Won"
  ]
}'
import { CenterfyClient } from "@centerfy/sdk";

const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });

const result = await centerfy.pipelines.create({
  "name": "Sales",
  "stages": [
    "New",
    "Won"
  ]
});
console.log(result);
centerfy pipelines create '{"name":"Sales","stages":["New","Won"]}'

MCP tool: centerfy_pipelines_create (see MCP server)

Response

{
  "status": "success",
  "pipeline": {
    "id": "7d2e9f10-4b3c-4a1d-9e8f-2a3b4c5d6e7f",
    "name": "Sales",
    "created_at": "2026-10-01T10:00:00.000Z",
    "updated_at": "2026-10-01T10:00:00.000Z",
    "stages": [
      {
        "id": "0b6f2c1e-3a4d-4e5f-8a9b-1c2d3e4f5a60",
        "pipeline_id": "7d2e9f10-4b3c-4a1d-9e8f-2a3b4c5d6e7f",
        "name": "New",
        "position": 0,
        "color": "#3B82F6",
        "created_at": "2026-10-01T10:00:00.000Z",
        "updated_at": "2026-10-01T10:00:00.000Z"
      },
      {
        "id": "1c7a3d2f-4b5e-4f60-9a1b-2c3d4e5f6a71",
        "pipeline_id": "7d2e9f10-4b3c-4a1d-9e8f-2a3b4c5d6e7f",
        "name": "Won",
        "position": 1,
        "color": "#8B5CF6",
        "created_at": "2026-10-01T10:00:00.000Z",
        "updated_at": "2026-10-01T10:00:00.000Z"
      }
    ]
  }
}

Errors

  • 400 — if name is empty.

Notes

Returns 201. If a stage can’t be created the pipeline is not left behind.

© 2026 Centerfy AI. All rights reserved.