For AI agents: markdown of this page — /docs-content-en/entities/crm-card-config/force-common.md documentation index — /llms.txt
Common layout for all employees
POST /v1/crm/card-config/:entityTypeId/force-common
Removes the personal card layouts of all employees and keeps only the common layout of the chosen scope. After the call all employees see a single card layout. The method does not accept scope or userId — by design it acts on everyone at once.
Path parameter
| Parameter | Type | Description |
|---|---|---|
ParameterentityTypeId |
Typenumber | DescriptionCRM object type:1 — lead2 — deal3 — contact4 — company7 — quote31 — invoicesmart process — numeric type ID from GET /v1/smart-processes, field entityTypeId |
Request fields (body)
The body can be empty or {}. Scope refinements are passed as needed.
| Field | Type | Required | Description |
|---|---|---|---|
FielddealCategoryId |
Typenumber | Requiredno | DescriptionDeal pipeline, deals only (entityTypeId=2). Source: GET /v1/categories/2 |
FieldcategoryId |
Typenumber | Requiredno | DescriptionSmart process pipeline, smart processes only. Source: GET /v1/categories/:entityTypeId |
FieldleadCustomerType |
Typenumber | Requiredno | DescriptionLead type, leads only (entityTypeId=1): 1 — simple, 2 — repeat |
Examples
curl — personal key
curl -X POST "https://vibecode.bitrix24.com/v1/crm/card-config/2/force-common" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "dealCategoryId": 9 }'
curl — OAuth application
curl -X POST "https://vibecode.bitrix24.com/v1/crm/card-config/2/force-common" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "dealCategoryId": 9 }'
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/crm/card-config/2/force-common', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ dealCategoryId: 9 }),
})
const { success, data } = await res.json()
console.log('Common layout applied to everyone:', data.forced)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/crm/card-config/2/force-common', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({ dealCategoryId: 9 }),
})
const { success, data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typeobject | DescriptionOperation result |
Fielddata.entityTypeId |
Typenumber | DescriptionObject type from the path |
Fielddata.forced |
Typeboolean | DescriptionAlways true on success |
Response example
{
"success": true,
"data": {
"entityTypeId": 2,
"forced": true
}
}
Error response example
400 — invalid dealCategoryId value:
{
"success": false,
"error": {
"code": "INVALID_DEAL_CATEGORY_ID",
"message": "dealCategoryId must be a positive integer."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_ENTITY_TYPE_ID |
DescriptionentityTypeId in the path is not a positive integer |
| HTTP400 | CodeINVALID_DEAL_CATEGORY_ID |
DescriptiondealCategoryId is not a positive integer |
| HTTP400 | CodeINVALID_CATEGORY_ID |
DescriptioncategoryId is not a positive integer |
| HTTP400 | CodeINVALID_LEAD_CUSTOMER_TYPE |
DescriptionleadCustomerType is not 1 or 2 |
| HTTP502 | CodeCRM_CARD_CONFIG_FORCE_COMMON_FAILED |
DescriptionBitrix24 did not confirm the operation — for example, insufficient permissions or the target scope is unavailable |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 did not recognize the object type. The message is in error.message |
| HTTP403 | CodeWRITE_BLOCKED_READONLY_KEY |
DescriptionThe app key is in read-only mode — writes are blocked |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key does not have the crm scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe API key has no configured tokens |
For the full list of common API errors, see Errors.
Known specifics
The method removes the personal layouts of all employees. Personal card settings made by employees for the chosen scope are lost, and everyone switches to the common layout. The action is meant for the initial rollout of a single card layout across the Bitrix24 account.
scope and userId are not accepted. By design the method works on all employees. To write a common layout without removing personal ones, use PUT with scope: "C".