Обновить приложение

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 — личный ключ

Terminal
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-приложение

Terminal
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 — личный ключ

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-приложение

javascript
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 Появляется при частичной синхронизации мест встраивания: коды, которые не удалось привязать

Пример ответа

JSON
{
  "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 — приложение не найдено:

JSON
{
  "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. У приложения в статусе PRIVATE placements пишутся в базу без обращения к порталу.

Смотрите также