Обновить приложение
PATCH /v1/apps/:id
Изменяет свойства приложения. Передавайте только те поля, которые нужно изменить.
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
id (path) |
string | да | Идентификатор приложения из создания или списка |
Поля запроса (body)
| Поле | Тип | Описание |
|---|---|---|
title |
string | Название, от 1 до 255 символов. У приложения в каталоге предел — 100 символов |
description |
string | null | Описание, до 2000 символов |
appUrl |
string | Адрес приложения, только http:// или https://. Пустая строка сохраняется как null |
scopes |
array | Набор скоупов, минимум один |
redirectUris |
array | Адреса перенаправления для OAuth |
placements |
array | Места встраивания. Список кодов — GET /v1/placements/available |
handlerUrl менять нельзя — поле в теле приводит к 400 HANDLER_URL_READONLY.
Примеры
curl — личный ключ
curl -X PATCH https://vibecode.bitrix24.tech/v1/apps/APP_ID \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "appUrl": "https://app-abc12345.vibecode.bitrix24.tech/dashboard" }'
curl — OAuth-приложение
curl -X PATCH https://vibecode.bitrix24.tech/v1/apps/APP_ID \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "appUrl": "https://app-abc12345.vibecode.bitrix24.tech/dashboard" }'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/apps/APP_ID', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
appUrl: 'https://app-abc12345.vibecode.bitrix24.tech/dashboard',
}),
})
const { data } = await res.json()
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/apps/APP_ID', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
appUrl: 'https://app-abc12345.vibecode.bitrix24.tech/dashboard',
}),
})
const { data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
data |
object | Приложение после обновления. Набор полей совпадает с ответом создания, без rawKey |
data.updatedAt |
string | Дата изменения, ISO 8601 |
warnings |
array | Появляется при частичной синхронизации мест встраивания: коды, которые не удалось привязать |
Пример ответа
{
"success": true,
"data": {
"id": "33c4d5e6-f7a8-49b0-1234-5c6d7e8f9012",
"title": "Дашборд продаж",
"description": "Обновлено",
"scopes": ["crm", "user", "placement"],
"handlerUrl": "https://vibecode.bitrix24.tech/v1/bitrix-handler",
"appUrl": "https://app-abc12345.vibecode.bitrix24.tech/dashboard",
"redirectUris": [
"https://vibecode.bitrix24.tech/oauth/complete",
"http://localhost"
],
"bitrixClientId": "local.7c3d4e5f6a7b80.55556666",
"prefix": "vibe_app_local_7c3",
"suffix": "6666",
"authorId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"portalId": "8b1f0e2a-3c4d-5e6f-7a8b-9c0d1e2f3a4b",
"createdAt": "2026-06-24T09:12:45.781Z",
"updatedAt": "2026-06-24T09:13:36.974Z",
"placements": []
}
}
Пример ответа при ошибке
404 — приложение не найдено:
{
"success": false,
"error": {
"code": "APP_NOT_FOUND",
"message": "Application not found"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | HANDLER_URL_READONLY |
В теле передан handlerUrl — поле задаёт платформа и менять его нельзя |
| 400 | NO_USER_TOKEN |
Смена placements или переименование опубликованного приложения без токена пользователя на облачном портале |
| 400 | TITLE_TOO_LONG_FOR_CATALOG |
Новое название длиннее 100 символов у приложения, добавленного в каталог |
| 403 | UNAUTHORIZED |
Ключ не принадлежит автору или владельцу приложения |
| 404 | APP_NOT_FOUND |
Приложения с указанным id нет |
| 502 | BITRIX_PARTIAL_REBIND |
Битрикс24 отклонил перепривязку места встраивания при переименовании. Новое название не записано — повторите запрос |
Полный список общих ошибок API — Ошибки.
Известные особенности
- Переименование приложения в каталоге меняет и подписи на портале. Новое
titleуходит в карточку каталога (полеcatalogTitleпишется вместе сtitle) и в места встраивания — пункт левого меню и вкладки CRM. Поэтому переименование обращается к Битрикс24 и может вернуть400 NO_USER_TOKENили502 BITRIX_PARTIAL_REBIND; при отказе название не записывается, повтор запроса чинит состояние. Портал кэширует левое меню — новое имя видно после жёсткой перезагрузки страницы. У приложения вне каталога переименование меняет толькоtitle. - Смена
placementsу опубликованного приложения запускает синхронизацию мест встраивания на портале. Привязка и отвязка проходят прямо на портале Битрикс24, и часть кодов может не привязаться — тогда ответ несётwarningsсо списком таких кодов. На облачном портале без токена пользователя синхронизация невозможна, запрос возвращает400 NO_USER_TOKEN. У приложения в статусеPRIVATEplacementsпишутся в базу без обращения к порталу.