Pipeline stages
The configurable stages a lead moves through.
5 endpoints. Every request needs an Authorization: Bearer mtro_... header, and responses follow the envelope described in Errors and conventions.
POST /pipeline-stages/create
Create a new pipeline stage for the CRM.
Required scope: leads.write
MCP tool: pipeline_stages_create
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | Stage name (e.g. New, Contacted, Qualified, Won, Lost) |
color | string | no | Hex color code for the stage (e.g. #3B82F6) |
isDefault | boolean | no | Whether this is the default stage for new leads |
isTerminal | boolean | no | Whether this is a terminal/final stage |
Example
curl -X POST 'https://core.mtro.app/pipeline-stages/create' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"name":"<name>"}'
POST /pipeline-stages/delete
Delete a pipeline stage. This action cannot be undone.
Required scope: leads.write
MCP tool: pipeline_stages_delete
Request body
| Field | Type | Required | Description |
|---|---|---|---|
stageId | string | yes | The stage ID to delete |
Example
curl -X POST 'https://core.mtro.app/pipeline-stages/delete' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"stageId":"<stageId>"}'
GET /pipeline-stages/get/entity/{entityId}
List all pipeline stages for a given entity. Pipeline stages define the CRM workflow for leads.
Required scope: leads.read
MCP tool: pipeline_stages_list
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
entityId | string | yes | The entity ID to get stages for |
Example
curl -X GET 'https://core.mtro.app/pipeline-stages/get/entity/<entityId>' \
-H 'Authorization: Bearer mtro_your_api_key'
Response
| Field | Type |
|---|---|
stages | object[] |
error | boolean |
Fields of stages[]
| Field | Type |
|---|---|
id | string |
entityId | string |
name | string |
color | string |
order | integer |
isDefault | boolean |
isTerminal | boolean |
lastUpdated | integer |
POST /pipeline-stages/reorder
Reorder CRM pipeline stages. This writes workflow configuration and should require owner confirmation when used by an agent.
Required scope: leads.write
MCP tool: pipeline_stages_reorder
Request body
Field names are taken from the Core handler, which reads exactly these. Types and which of them are required are not yet documented.
| Field | Type | Required | Description |
|---|---|---|---|
stageIds | any | no |
Example
curl -X POST 'https://core.mtro.app/pipeline-stages/reorder' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{}'
POST /pipeline-stages/update
Update a pipeline stage.
Required scope: leads.write
MCP tool: pipeline_stages_update
Request body
| Field | Type | Required | Description |
|---|---|---|---|
stageId | string | yes | The stage ID to update |
name | string | no | Updated stage name |
color | string | no | Updated hex color code |
isDefault | boolean | no | Whether this is the default stage |
isTerminal | boolean | no | Whether this is a terminal stage |
Example
curl -X POST 'https://core.mtro.app/pipeline-stages/update' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"stageId":"<stageId>"}'