Для AI-агентов: markdown этой страницы — /docs-content/entities/crm-document-templates/update.md индекс документации — /llms.txt
Обновить шаблон документа CRM
PATCH /v1/crm-document-templates/:id
Частично обновляет шаблон документа CRM: передайте в корне JSON только те поля, которые меняете, остальные значения шаблона сохраняются.
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
id (path) |
number | да | ID шаблона, положительное целое число. Список: GET /v1/crm-document-templates |
Поля запроса (body)
Все поля необязательные, но тело должно содержать хотя бы одно из них.
| Поле | Тип | Описание |
|---|---|---|
name |
string | Название шаблона |
file |
string | Новый файл .docx строкой base64, не больше 2 МиБ после декодирования. Заменяет файл шаблона |
numeratorId |
number | ID нумератора, который присваивает номера документам. Список нумераторов через /v1/... не выставлен |
region |
string | Регион шаблона, например ru |
entityTypeId |
array | Непустой массив типов записей CRM, числа или строки: 2 — сделка, 3 — контакт, 4 — компания. Типы смарт-процессов — GET /v1/smart-processes. Заменяет привязки целиком: [3] у шаблона сделки оставляет только контакт. Без поля привязки не меняются |
users |
array | Непустой массив кодов доступа строками: UA — все сотрудники, U<id> — сотрудник с этим ID из GET /v1/users |
active |
string | Активность шаблона: Y или N |
withStamps |
string | Печати и подписи в документах: Y или N |
sort |
number | Индекс сортировки |
code |
string | Символьный код шаблона |
Поля id, fileId, moduleId, download, downloadMachine, isDeleted, isDefault, createTime, updateTime, createdBy, updatedBy, providers только для чтения. Запрос с любым из них отклоняется с 400 READONLY_FIELD. Имя сравнивается без учёта регистра и подчёркиваний: module_id и ModuleId тоже отклоняются.
Примеры
curl — личный ключ
curl -X PATCH "https://vibecode.bitrix24.tech/v1/crm-document-templates/263" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Договор поставки, редакция 2",
"sort": 200
}'
curl — OAuth-приложение
curl -X PATCH "https://vibecode.bitrix24.tech/v1/crm-document-templates/263" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Договор поставки, редакция 2",
"sort": 200
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-document-templates/263', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Договор поставки, редакция 2',
sort: 200,
}),
})
const { success, data } = await res.json()
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm-document-templates/263', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Договор поставки, редакция 2',
sort: 200,
}),
})
const { success, data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data |
object | Шаблон целиком после изменения |
data.id |
string | ID шаблона, строкой |
data.name |
string | Название шаблона |
data.region |
string | Регион шаблона |
data.code |
string | null | Символьный код шаблона, null — код не задан |
data.download |
string | Адрес скачивания файла шаблона в веб-интерфейсе Битрикс24. Для скачивания через API используйте downloadMachine |
data.active |
string | Активность: Y или N |
data.moduleId |
string | Модуль-владелец, всегда crm |
data.numeratorId |
string | ID нумератора, строкой |
data.withStamps |
string | Печати и подписи: Y или N |
data.users |
object | Коды доступа объектом, код служит и ключом, и значением: {"UA": "UA"} |
data.isDeleted |
string | Признак удаления: N у действующего шаблона |
data.sort |
string | Индекс сортировки, строкой |
data.createTime |
string | Дата создания в ISO 8601 со смещением часового пояса |
data.updateTime |
string | Дата последнего изменения в ISO 8601 со смещением часового пояса |
data.entityTypeId |
array | Типы записей CRM строками. Если entityTypeId был в теле запроса, значения совпадают с переданными. Без него сделка приходит раскрытой по воронкам — см. Что нужно знать перед работой |
data.downloadMachine |
string | Адрес скачивания .docx через API Вайбкод — GET /v1/crm-document-templates/:id/download |
Пример ответа
{
"success": true,
"data": {
"id": "263",
"name": "Договор поставки, редакция 2",
"region": "ru",
"code": null,
"download": "https://example.bitrix24.ru/bitrix/services/main/ajax.php?action=crm.documentgenerator.template.download&SITE_ID=s1&id=263",
"active": "Y",
"moduleId": "crm",
"numeratorId": "1",
"withStamps": "N",
"users": {
"UA": "UA"
},
"isDeleted": "N",
"sort": "200",
"createTime": "2026-10-08T13:20:29+03:00",
"updateTime": "2026-10-08T13:20:41+03:00",
"entityTypeId": [
"2_category_0",
"2_category_1",
"2_category_11",
"2_category_13",
"2_category_21",
"2_category_3",
"2_category_5",
"2_category_9"
],
"downloadMachine": "https://vibecode.bitrix24.tech/v1/crm-document-templates/263/download"
}
}
Пример ответа при ошибке
404 — шаблон не найден:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "CRM template not found."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 404 | ENTITY_NOT_FOUND |
Шаблона с таким id нет либо это не шаблон CRM, например шаблон приложения из раздела Шаблоны документов |
| 400 | INVALID_PARAMS |
id не положительное целое число |
| 400 | MISSING_REQUIRED_FIELDS |
Пустое тело {} |
| 400 | INVALID_PARAMS |
users — пустой массив или в нём есть значение, которое не является непустой строкой |
| 400 | INVALID_PARAMS |
entityTypeId — пустой массив, не массив либо в нём есть значение, которое не является положительным числом или непустой строкой |
| 400 | INVALID_PARAMS |
file не является строкой base64 |
| 400 | INVALID_PARAMS |
Тело запроса не JSON-объект |
| 400 | READONLY_FIELD |
В теле передано поле только для чтения. Проверка идёт до поиска шаблона, поэтому этот отказ приходит и на несуществующем id |
| 413 | PAYLOAD_TOO_LARGE |
Файл больше 2 МиБ после декодирования file либо JSON-тело больше 3 МиБ |
| 429 | LARGE_BODY_BACKEND_BUSY |
Тело больше 1 МиБ, а платформа уже обрабатывает предельный объём крупных тел. Повторите запрос через Retry-After секунд |
| 422 | BITRIX_WRITE_NOT_APPLIED |
Битрикс24 не сохранил переданные entityTypeId или users. Остальные поля из тела уже записаны — прочитайте шаблон через GET /v1/crm-document-templates/:id до повтора |
| 422 | BITRIX_ERROR |
Битрикс24 отклонил изменение. Текст причины — в error.message |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Ключ работает в режиме только для чтения |
| 403 | SCOPE_DENIED |
Ключу не хватает скоупа crm |
| 401 | TOKEN_MISSING |
У ключа нет настроенных токенов |
| 429 | RATE_LIMITED |
Битрикс24 ограничил частоту запросов к порталу. Повторите после срока из заголовка Retry-After |
Полный список общих ошибок API — Ошибки.