For AI agents: markdown of this page — /docs-content-en/entities/activities/configurable/update.md documentation index — /llms.txt
Update activity
PATCH /v1/activity-configurable/:id
Overwrites a configurable activity. fields and layout are passed in full — the method replaces the activity rather than updating individual fields. Unset values are reset.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
Parameterid (path) |
Typenumber | Requiredyes | DescriptionActivity ID. Returned in data.activity.id on creation. List: GET /v1/activities |
Request fields (body)
| Field | Type | Required | Description |
|---|---|---|---|
Fieldfields |
Typeobject | Requiredyes | DescriptionActivity fields |
Fieldfields.typeId |
Typestring | Requiredno | DescriptionActivity type. Defaults to CONFIGURABLE |
Fieldfields.completed |
Typeboolean | Requiredno | DescriptionActivity is closed. Accepts true/false, 1/0, Y/N |
Fieldfields.deadline |
Typestring | Requiredno | DescriptionDue date, ISO 8601. Incompatible with fields.isIncomingChannel |
Fieldfields.pingOffsets |
Typenumber[] | Requiredno | DescriptionOffsets in minutes relative to fields.deadline at which reminders are generated |
Fieldfields.isIncomingChannel |
Typeboolean | Requiredno | DescriptionActivity created from an incoming channel. Accepts true/false, 1/0, Y/N |
Fieldfields.responsibleId |
Typenumber | Requiredno | DescriptionID of the responsible employee. List: GET /v1/users |
Fieldfields.badgeCode |
Typestring | Requiredno | DescriptionActivity badge code on the Kanban board |
Fieldfields.originatorId |
Typestring | Requiredno | DescriptionID of the external data source |
Fieldfields.originId |
Typestring | Requiredno | DescriptionID of the record in the external source |
Fieldlayout |
Typeobject | Requiredyes | DescriptionActivity appearance |
Fieldlayout.icon.code |
Typestring | Requiredyes | DescriptionActivity icon code |
Fieldlayout.header.title |
Typestring | Requiredyes | DescriptionActivity title |
Fieldlayout.body.logo.code |
Typestring | Requiredyes | DescriptionLogo code in the body. Without logo, the request fails with 422 BITRIX_ERROR |
Fieldlayout.body.blocks |
Typeobject | Requiredno | DescriptionNamed body blocks |
Fieldlayout.footer.buttons |
Typeobject | Requiredno | DescriptionButtons in the bottom section of the activity |
A block in layout.body.blocks has a type and properties. Main block types:
text— valuelink— link with an actionlineOfBlocks— a row of nested blockswithTitle— block with a caption
The action of links and buttons is defined by the type field:
redirect— navigation to the URL from theurifieldopenRestApp— opening the application with the parameters fromactionParamsrestEvent— an event to the application byid, for menu items
Examples
Examples are given only for an OAuth application: a personal key does not work here. OAuth application requirements — Configurable activities.
curl — OAuth application
curl -X PATCH https://vibecode.bitrix24.com/v1/activity-configurable/8053 \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fields": { "typeId": "CONFIGURABLE", "completed": true, "responsibleId": 5 },
"layout": {
"icon": { "code": "call-completed" },
"header": { "title": "Call handled" },
"body": { "logo": { "code": "call-incoming" }, "blocks": {} },
"footer": { "buttons": {} }
}
}'
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/activity-configurable/8053', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
fields: { typeId: 'CONFIGURABLE', completed: true, responsibleId: 5 },
layout: {
icon: { code: 'call-completed' },
header: { title: 'Call handled' },
body: { logo: { code: 'call-incoming' }, blocks: {} },
footer: { buttons: {} },
},
}),
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typeobject | DescriptionThe result — the activity in the activity field |
Fielddata.activity.id |
Typenumber | DescriptionID of the updated activity |
Response example
{
"success": true,
"data": { "activity": { "id": 8053 } }
}
Error response example
404 — activity not found:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "Item not found"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeVALIDATION_ERROR |
Descriptionid in the path is not a number, or fields or layout is missing |
| HTTP404 | CodeENTITY_NOT_FOUND |
DescriptionAn activity with the given id does not exist |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionThe request uses a personal vibe_api_* key. The b24Code field of the response carries ERROR_WRONG_CONTEXT |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionThe activity was created by another application. The b24Code field of the response carries ERROR_WRONG_APPLICATION |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 rejected the request: layout.body.logo is missing, or layout is empty |
| HTTP403 | CodeWRITE_BLOCKED_READONLY_KEY |
DescriptionThe key is read-only — see access rights |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe key lacks the crm scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe authorization key was passed without a session token in the Authorization: Bearer header |
Full list of common API errors — Errors.