# CRM dictionaries and stage settings

Read communication types, activity providers and stage outcomes, replace stages of your own funnel, and switch the CRM mode.

Bitrix24 API: `crm.dictionary.*`, `crm.<E>.category.stage.replace`, `crm.lead.enable`, `crm.lead.disable`
Scope: `crm`

> **The methods are rolling out.** They require the CRM REST v3 capability introduced after `crm 26.2200.0`, and an administrator must enable them. The next release version has not been published yet. An unavailable method returns `422 METHOD_NOT_YET_AVAILABLE` with `error.release`.

## Operations

- [List dictionary entries](/docs/entities/crm-v3-dictionaries/list) — `GET /v1/crm-dictionaries/:dictionary`
- [Get a dictionary entry](/docs/entities/crm-v3-dictionaries/get) — `GET /v1/crm-dictionaries/:dictionary/:id`
- [Replace funnel stages](/docs/entities/crm-v3-dictionaries/stages-replace) — `PUT /v1/deal-categories/:categoryId/stages`
- [Enable leads](/docs/entities/crm-v3-dictionaries/leads-enable) — `POST /v1/leads/enable`
- [Disable leads](/docs/entities/crm-v3-dictionaries/leads-disable) — `POST /v1/leads/disable`

Select `:dictionary` from the table. Replacing Smart Process Automation stages uses `/v1/categories/:entityTypeId/:categoryId/stages`. Custom list field values have a [separate section](/docs/entities/crm-field-enum).

## Key fields

| Field | Description |
|---|---|
| `id` | String ID from the [dictionary list](/docs/entities/crm-v3-dictionaries/list) |
| `name` | Entry name, nullable for communication types |
| `nameShort` | Short communication type name, nullable |
| `categoryId` | ID from [deal funnels](/docs/entities/deal-categories/list) or [Smart Process Automation funnels](/docs/entities/categories/list) |
| `stageId` | Stage ID returned by [stage replacement](/docs/entities/crm-v3-dictionaries/stages-replace) or the [stage dictionary](/docs/entities/statuses/list) |
| `enabled` | Whether leads are enabled for the whole Bitrix24 account |

## Before you start

| `:dictionary` | Contents |
|---|---|
| `activity-providers` | CRM activity providers, their types and capabilities |
| `email-types` | Email address types |
| `phone-types` | Phone number types |
| `im-types` | Messaging service types |
| `web-types` | Website types |
| `stage-semantics` | CRM stage outcomes |

1. `READONLY` keys may read dictionaries. Changes require `READWRITE` and the employee's Bitrix24 permissions.
2. Enabling or disabling leads switches the **entire Bitrix24 account** between classic and simple CRM. CRM administrator permissions are required. Read the current mode in [CRM settings](/docs/entities/crm-settings).
3. Stage replacement changes one funnel's stage set. System and final stages remain. They cannot be modified, and a stage containing records cannot be deleted. Records are not moved to other stages.
4. After an ambiguous write failure, read the current state first. Do not repeat the change blindly.

## Typical workflow

1. [Read a dictionary](/docs/entities/crm-v3-dictionaries/list).
2. To configure a funnel, get its ID from the [funnel list](/docs/entities/deal-categories/list).
3. [Replace stages](/docs/entities/crm-v3-dictionaries/stages-replace), retaining the IDs of stages to keep.

## Limits

| Limit | Value |
|---|---|
| Dictionary read | One page, `limit` defaults to 50, `offset` to 0 |
| Entry count | No collection total is returned |
| CRM changes | Bitrix24 checks permissions and restrictions |

## See also

- [CRM list field values](/docs/entities/crm-field-enum)
- [CRM settings](/docs/entities/crm-settings)
- [Keys and authorization](/docs/keys-auth)
