[{"data":1,"prerenderedAt":7},["ShallowReactive",2],{"docs-changelog\u002F2026-11-09":3,"docs-tabs-changelog\u002F2026-11-09":6},{"content":4,"lastmod":5},"# API changes: November 9, 2026\n\n[← Changelog](\u002Fdocs\u002Fchangelog) · [November 2026](\u002Fdocs\u002Fchangelog\u002F2026-11)\n\n### BC-1109-1: a record deletion is not sent to Bitrix24 again\n\n> Old format supported until: not provided\n\n**Before**\n\nA `DELETE` of an entity record — for example [DELETE \u002Fv1\u002Fdeals\u002F{id}](\u002Fdocs\u002Fentities\u002Fdeals\u002Fdelete), [DELETE \u002Fv1\u002Fcontacts\u002F{id}](\u002Fdocs\u002Fentities\u002Fcontacts\u002Fdelete), [DELETE \u002Fv1\u002Fleads\u002F{id}](\u002Fdocs\u002Fentities\u002Fleads\u002Fdelete) or [DELETE \u002Fv1\u002Fcompanies\u002F{id}](\u002Fdocs\u002Fentities\u002Fcompanies\u002Fdelete) — was repeated on the Vibecode side when the account was temporarily unavailable (a `503` with no error code) or answered with a redirect, and one deletion reached the account more than once. A repeat after a deletion that had already happened was refused by the account because the `id` no longer existed, so the client got a refusal for a deletion that had gone through.\n\n**After**\n\nThe deletion is sent to Bitrix24 again only after a refusal the account gives before running the method — the request rate limit `QUERY_LIMIT_EXCEEDED`. Temporary unavailability and a redirect both answer `502 BITRIX_UNAVAILABLE`, with no repeat. A successful deletion still answers HTTP 204.\n\n**What integrators should do**\n\nAfter a `429` on `DELETE`, wait the number of seconds given in `Retry-After` and repeat the request: the deletion was not applied. After a `502` or `503`, read the record first: the deletion may have been applied, and a repeated `DELETE` for it answers with a \"not found\" refusal.\n\n### BC-1109-2: Application grants for connector reads\n\n> Old format supported until: not provided\n\n**Before**\n\nConnector calls from applications were allowed by the key scope and the owner's audience. Writes required approval.\n\n**After**\n\nApplications read data through `\u002Fv1\u002Fconnectors\u002Fmcp` only with a current administrator grant for the company connection. The key owner audience does not replace a grant. Application writes are no longer supported and do not create approval tickets. `GET \u002Fv1\u002Fconnectors` returns `appState` for every connector; [GET \u002Fv1\u002Fme](\u002Fdocs\u002Fkeys-auth\u002Fme) reports `readOnly` and refusal codes.\n\nRefusals have HTTP representation 403: `CONNECTOR_APP_NOT_GRANTED`, `CONNECTOR_APP_GRANT_PENDING`, `CONNECTOR_APP_EXPOSURE_WIDENED`, `CONNECTOR_APP_WRITE_NOT_ALLOWED`, `CONNECTOR_APP_NOT_CONNECTED`. MCP returns the code in `_meta[\"vibe\u002Ferror\"].code`. Widening link access or enabling the external application API suspends the grant until new approval. Cowork access is preserved.\n\n**What integrators should do**\n\nSubmit a connector request for the application: an administrator grants read access to the company connection. Remove write tool calls from the application.\n\n### NEW-1109-3: Application connectors and access requests\n\nAn application manager can list company connectors using `GET \u002Fv1\u002Fapplications\u002F:id\u002Fconnectors`: access status, read-only tools and the application's current exposure. `POST \u002Fv1\u002Fapplications\u002F:id\u002Fconnectors\u002F:slug\u002Faccess-request` submits a request to a Bitrix24 account administrator. Repeating a request while a decision is pending or access is active preserves its status.\n\n### NEW-1109-4: Chat file list\n\n`GET \u002Fv1\u002Fchats\u002F{chatId}\u002Ffiles` returns one page of chat files — the Media, Files and Voice tabs of the chat side panel. The required `group` takes one or more of `MEDIA`, `FILE`, `AUDIO`, separated by commas. Optional: `limit` (1–200), the cursor `lastId` and, together with it, `lastDate`, `order=date` only with `group=AUDIO`, `search` — the start of a file name. `data` holds `list`, `files`, `users` and `tariffRestrictions`. Requires the `im` scope; a read-only key may call the route too. A file link that carries credentials is replaced with `null` in the answer.\n",null,{},1794739486995]