# API changes: July 25, 2026

[← Changelog](/docs/changelog) · [July 2026](/docs/changelog/2026-07)

### NEW-0725-1: deploy: optional changelog field

[POST /v1/infra/servers/:id/deploy](/docs/infra/deploy/deploy) accepts a new optional `changelog` field — plain text up to 2000 characters describing what changed in this version. When a new app version ships, the text is posted to subscribers in the app's Bitrix24 messenger channel feed; if the field is omitted, only the version number is posted. The field works in both JSON and multipart deploy modes. Existing deploy calls keep working unchanged.

### NEW-0725-2: model calls with a short-lived token issued to a partner system

**Before**

The AI router endpoints `/v1/chat/completions`, `/v1/embeddings`, `/v1/audio/transcriptions` and `/v1/models` accepted a regular platform key only.

**After**

The same endpoints (and their `/v1/ai/...` aliases) now also accept a short-lived token of a new type. A Bitrix24 partner system obtains it over its own signed channel; the token is bound to one account and one employee, lives for one hour, and is admitted to exactly these eight routes — any other path answers `SCOPE_FORBIDDEN`. Spend on such a token is metered by the platform itself and charged synchronously against the account AI quota, so an exhausted quota is refused before the model is called. Only models enrolled in the quota program are available — `/v1/models` under the same token returns that list.

Refusal codes this route can now return: `TOKEN_INVALID`, `SCOPE_FORBIDDEN`, `MODEL_NOT_IN_QUOTA_PROGRAM`, `CREDENTIAL_NOT_PLATFORM`, `ACCOUNT_FROZEN`, `PORTAL_DELETED`, `PORTAL_BLOCKED`, `PORTAL_SUSPENDED`. The envelope is unchanged: `success` plus `error` with `code` and `message`.

Regular platform keys are unaffected: without a token of the new type the responses are byte-identical to before.
