Get lead stage pipeline
Returns the workspace's statuses and lost reasons as two flat lists.
Use this to discover valid values for the status field on leads and valid lost reasons for leads in LOST stages.
Statuses from every stage are flattened into a single statuses array — each entry carries the stage it belongs to and whether it is archived. There is no nested stage object in the response.
Request
| Field | Value |
|---|---|
| Method | GET |
| URL | https://next.telecrm.in/autoupdate/v2/enterprise/{enterpriseId}/lead-stage-pipeline |
| Auth | Bearer token (Sync-typed). See Authentication. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
enterpriseId | string | yes | The enterprise (workspace) ID. |
Example request
bash
curl "https://next.telecrm.in/autoupdate/v2/enterprise/{enterpriseId}/lead-stage-pipeline" \
-H "Authorization: Bearer YOUR_SYNC_TOKEN"Responses
200 OK
json
{
"statuses": [
{ "id": 1, "label": "Fresh", "stage": "OPEN", "archived": false },
{ "id": 2, "label": "Contacted", "stage": "OPEN", "archived": false },
{ "id": 3, "label": "Qualified", "stage": "OPEN", "archived": false },
{ "id": 9, "label": "Old Flow", "stage": "OPEN", "archived": true },
{ "id": 10, "label": "Won", "stage": "WON", "archived": false },
{ "id": 20, "label": "Lost", "stage": "LOST", "archived": false }
],
"lostReasons": [
{ "id": 1, "label": "Price too high", "archived": false, "isDefault": false },
{ "id": 2, "label": "No Need", "archived": false, "isDefault": true },
{ "id": 7, "label": "Old Reason", "archived": true, "isDefault": false }
]
}| Field | Description |
|---|---|
statuses[].id | Numeric status ID. |
statuses[].label | The value to send as fields.status. Case-sensitive. |
statuses[].stage | The stage the status belongs to: OPEN, WON, or LOST. |
statuses[].archived | true for archived statuses — returned for historical leads, not writable. |
lostReasons[].label | The value to use for the workspace's lost-reason field. |
lostReasons[].isDefault | Whether this reason is applied automatically when a lead moves to a LOST status without one. |
401 Unauthorized
See the universal 401 in the overview.
Notes
stageenum:OPEN,WON,LOST.- Filter on
archived: falseto build the set of writable values. Archived entries are included so historical leads stay readable, but sending one on create or update leaves the lead's status unchanged. - Lost reasons are only meaningful when the lead's status belongs to a
LOSTstage. See Field Types → lostReason. - The response carries no colours, no stage IDs, no stage visibility and no version metadata — those exist on the underlying model but are not exposed here.
- See Pitfalls for
archivedhandling.