# API changes: July 2026

[← Changelog](/docs/changelog). Days are listed newest first, open an entry by its link.

## July 31, 2026

- [BC-0731-1: source uploads require Content-Length](/docs/changelog/2026-07-31#bc-0731-1-source-uploads-require-content-length)
- [FIX-0731-2: tariff name in GET /v1/me comes from the platform edition catalogue, in English](/docs/changelog/2026-07-31#fix-0731-2-tariff-name-in-get-v1-me-comes-from-the-platform-edition-catalogue-in-english)
- [FIX-0731-3: server user search returns active employees only](/docs/changelog/2026-07-31#fix-0731-3-server-user-search-returns-active-employees-only)
- [NEW-0731-4: an app now decides for itself whether the placement iframe auto-height is on](/docs/changelog/2026-07-31#new-0731-4-an-app-now-decides-for-itself-whether-the-placement-iframe-auto-height-is-on)
- [FIX-0731-5: an empty body with the JSON header is no longer rejected on the infrastructure routes](/docs/changelog/2026-07-31#fix-0731-5-an-empty-body-with-the-json-header-is-no-longer-rejected-on-the-infrastructure-routes)

## July 30, 2026

- [NEW-0730-1: withTotal in the list calls of a batch request](/docs/changelog/2026-07-30#new-0730-1-withtotal-in-the-list-calls-of-a-batch-request)
- [FIX-0730-2: meta.total arrives on a short page even when no count was ordered](/docs/changelog/2026-07-30#fix-0730-2-meta-total-arrives-on-a-short-page-even-when-no-count-was-ordered)
- [FIX-0730-3: free tier no longer gets 402 PLAN_NOT_ALLOWED_ON_TRIAL when deploying into a galaxy](/docs/changelog/2026-07-30#fix-0730-3-free-tier-no-longer-gets-402-plan_not_allowed_on_trial-when-deploying-into-a-galaxy)
- [FIX-0730-4: /v1/me no longer advertises access-token endpoints while the feature is off](/docs/changelog/2026-07-30#fix-0730-4-v1-me-no-longer-advertises-access-token-endpoints-while-the-feature-is-off)
- [FIX-0730-5: the X-Vibe-User-Id header no longer mixes identifier namespaces](/docs/changelog/2026-07-30#fix-0730-5-the-x-vibe-user-id-header-no-longer-mixes-identifier-namespaces)
- [BC-0730-6: a galaxy is no longer created on the free Bitrix24 plan](/docs/changelog/2026-07-30#bc-0730-6-a-galaxy-is-no-longer-created-on-the-free-bitrix24-plan)
- [FIX-0730-7: POST /v1/apps reports the plan requirement clearly on a self-hosted portal](/docs/changelog/2026-07-30#fix-0730-7-post-v1-apps-reports-the-plan-requirement-clearly-on-a-self-hosted-portal)
- [NEW-0730-8: new 429 TIMEOUT_QUARANTINE refusal: a method that stopped answering is paused](/docs/changelog/2026-07-30#new-0730-8-new-429-timeout_quarantine-refusal-a-method-that-stopped-answering-is-paused)
- [FIX-0730-9: the OPERATION_TIME_LIMIT refusal in a batch now arrives with its own code and delay instead of a generic one](/docs/changelog/2026-07-30#fix-0730-9-the-operation_time_limit-refusal-in-a-batch-now-arrives-with-its-own-code-and-delay-instead-of-a-generic-one)
- [NEW-0730-10: the machine-readable schema now describes 51 endpoints that worked but were missing from it](/docs/changelog/2026-07-30#new-0730-10-the-machine-readable-schema-now-describes-51-endpoints-that-worked-but-were-missing-from-it)
- [FIX-0730-11: the BYOK credential verification error no longer contains the key itself](/docs/changelog/2026-07-30#fix-0730-11-the-byok-credential-verification-error-no-longer-contains-the-key-itself)
- [FIX-0730-12: a multi-page list returns the start of the result set instead of an error when the count fails](/docs/changelog/2026-07-30#fix-0730-12-a-multi-page-list-returns-the-start-of-the-result-set-instead-of-an-error-when-the-count-fails)
- [FIX-0730-13: the spec declares create-mandatory fields on create, and stopped demanding them on update](/docs/changelog/2026-07-30#fix-0730-13-the-spec-declares-create-mandatory-fields-on-create-and-stopped-demanding-them-on-update)

## July 29, 2026

- [FIX-0729-1: task comments are no longer refused over key permissions](/docs/changelog/2026-07-29#fix-0729-1-task-comments-are-no-longer-refused-over-key-permissions)
- [FIX-0729-2: access changes for an app on a shared host now reach how it is shown in Bitrix24](/docs/changelog/2026-07-29#fix-0729-2-access-changes-for-an-app-on-a-shared-host-now-reach-how-it-is-shown-in-bitrix24)
- [FIX-0729-3: agents and bots no longer idle-sleep](/docs/changelog/2026-07-29#fix-0729-3-agents-and-bots-no-longer-idle-sleep)
- [BC-0729-4: the session in Authorization must belong to the app from X-Api-Key](/docs/changelog/2026-07-29#bc-0729-4-the-session-in-authorization-must-belong-to-the-app-from-x-api-key)
- [FIX-0729-5: an app on a personal key gets X-Vibe-Authorization again](/docs/changelog/2026-07-29#fix-0729-5-an-app-on-a-personal-key-gets-x-vibe-authorization-again)
- [NEW-0729-6: a management key whose owner account is pending erasure now returns 503](/docs/changelog/2026-07-29#new-0729-6-a-management-key-whose-owner-account-is-pending-erasure-now-returns-503)
- [FIX-0729-7: galaxy app deploy verifies reachability and returns steps](/docs/changelog/2026-07-29#fix-0729-7-galaxy-app-deploy-verifies-reachability-and-returns-steps)
- [FIX-0729-8: servers wake up after the debt is cleared on postpay accounts too](/docs/changelog/2026-07-29#fix-0729-8-servers-wake-up-after-the-debt-is-cleared-on-postpay-accounts-too)
- [FIX-0729-9: deploy no longer reports a false success after a hardened-unit rollback](/docs/changelog/2026-07-29#fix-0729-9-deploy-no-longer-reports-a-false-success-after-a-hardened-unit-rollback)
- [FIX-0729-10: metadata cache now covers Bitrix24 account data and field schemas](/docs/changelog/2026-07-29#fix-0729-10-metadata-cache-now-covers-bitrix24-account-data-and-field-schemas)
- [NEW-0729-11: delta of recent dialogs through the updatedAfter parameter](/docs/changelog/2026-07-29#new-0729-11-delta-of-recent-dialogs-through-the-updatedafter-parameter)
- [NEW-0729-12: a transient 503 at the platform edge now says how long to wait](/docs/changelog/2026-07-29#new-0729-12-a-transient-503-at-the-platform-edge-now-says-how-long-to-wait)
- [BC-0729-13: batch sub-calls reject a sort when the Bitrix24 method cannot do one](/docs/changelog/2026-07-29#bc-0729-13-batch-sub-calls-reject-a-sort-when-the-bitrix24-method-cannot-do-one)
- [BC-0729-14: `defaultOperatorData` on Open Channels is an object now, and empty means `null`](/docs/changelog/2026-07-29#bc-0729-14-defaultoperatordata-on-open-channels-is-an-object-now-and-empty-means-null)
- [BC-0729-15: telephony lines: writing `serverName`, sorting, filtering and offset no longer fail silently](/docs/changelog/2026-07-29#bc-0729-15-telephony-lines-writing-servername-sorting-filtering-and-offset-no-longer-fail-silently)
- [NEW-0729-16: the storages list can be sorted](/docs/changelog/2026-07-29#new-0729-16-the-storages-list-can-be-sorted)
- [FIX-0729-17: restart a galaxy app via /reboot](/docs/changelog/2026-07-29#fix-0729-17-restart-a-galaxy-app-via-reboot)
- [NEW-0729-18: totalDefault — the meta.total default on the API key itself](/docs/changelog/2026-07-29#new-0729-18-totaldefault-the-meta-total-default-on-the-api-key-itself)
- [NEW-0729-19: meta.nextAfterId — the next-page cursor when sorting by id](/docs/changelog/2026-07-29#new-0729-19-meta-nextafterid-the-next-page-cursor-when-sorting-by-id)
- [NEW-0729-20: withTotal — a list call can decline the count](/docs/changelog/2026-07-29#new-0729-20-withtotal-a-list-call-can-decline-the-count)
- [FIX-0729-21: meta.hasMore in lists is derived from page fullness, and meta.total may lag by up to a minute](/docs/changelog/2026-07-29#fix-0729-21-meta-hasmore-in-lists-is-derived-from-page-fullness-and-meta-total-may-lag-by-up-to-a-minute)

## July 28, 2026

- [NEW-0728-1: an erased author's app no longer issues new user tokens](/docs/changelog/2026-07-28#new-0728-1-an-erased-author-s-app-no-longer-issues-new-user-tokens)
- [NEW-0728-2: stuck-lock release is now cross-replica; the DELETE /lock response carries broadcast and localLock](/docs/changelog/2026-07-28#new-0728-2-stuck-lock-release-is-now-cross-replica-the-delete-lock-response-carries-broadcast-and-locallock)
- [NEW-0728-3: pointers to Open Channels, task checklists and app blueprints in the self-description responses](/docs/changelog/2026-07-28#new-0728-3-pointers-to-open-channels-task-checklists-and-app-blueprints-in-the-self-description-responses)
- [FIX-0728-4: galaxy deploy now recovers a dropped host tunnel](/docs/changelog/2026-07-28#fix-0728-4-galaxy-deploy-now-recovers-a-dropped-host-tunnel)
- [BC-0728-5: unified 404 envelope for nonexistent /v1 routes](/docs/changelog/2026-07-28#bc-0728-5-unified-404-envelope-for-nonexistent-v1-routes)
- [BC-0728-6: calendar: an unknown select name returns an error instead of an empty object](/docs/changelog/2026-07-28#bc-0728-6-calendar-an-unknown-select-name-returns-an-error-instead-of-an-empty-object)
- [NEW-0728-7: calendar: occurrenceIndex and version fields](/docs/changelog/2026-07-28#new-0728-7-calendar-occurrenceindex-and-version-fields)
- [NEW-0728-8: chats: limit clamp echo in meta](/docs/changelog/2026-07-28#new-0728-8-chats-limit-clamp-echo-in-meta)
- [NEW-0728-9: mutual updatedAt and createdAt date-field aliases](/docs/changelog/2026-07-28#new-0728-9-mutual-updatedat-and-createdat-date-field-aliases)
- [NEW-0728-10: POST alias for the Knowledge base search](/docs/changelog/2026-07-28#new-0728-10-post-alias-for-the-knowledge-base-search)
- [NEW-0728-11: feed: limit up to 200 records per request](/docs/changelog/2026-07-28#new-0728-11-feed-limit-up-to-200-records-per-request)
- [FIX-0728-12: calendar: honest offset and hasMore, deterministic order](/docs/changelog/2026-07-28#fix-0728-12-calendar-honest-offset-and-hasmore-deterministic-order)
- [FIX-0728-13: select accepts declared Bitrix24 names and warns about unknown fields](/docs/changelog/2026-07-28#fix-0728-13-select-accepts-declared-bitrix24-names-and-warns-about-unknown-fields)
- [FIX-0728-14: windowed search fails fast on an account-side timeout](/docs/changelog/2026-07-28#fix-0728-14-windowed-search-fails-fast-on-an-account-side-timeout)
- [FIX-0728-15: Galaxy .zip deploy: honest archive-extraction error instead of EMPTY_BUILD_CONTEXT](/docs/changelog/2026-07-28#fix-0728-15-galaxy-zip-deploy-honest-archive-extraction-error-instead-of-empty_build_context)
- [FIX-0728-16: the Bitrix24 operation-time-limit pushback now returns `OPERATION_TIME_LIMIT` with `Retry-After`](/docs/changelog/2026-07-28#fix-0728-16-the-bitrix24-operation-time-limit-pushback-now-returns-operation_time_limit-with-retry-after)
- [FIX-0728-17: The * value in select returns every field](/docs/changelog/2026-07-28#fix-0728-17-the-value-in-select-returns-every-field)
- [FIX-0728-18: windowed search stops once it has the requested rows and reports an incomplete window](/docs/changelog/2026-07-28#fix-0728-18-windowed-search-stops-once-it-has-the-requested-rows-and-reports-an-incomplete-window)

## July 27, 2026

- [NEW-0727-1: app favicon in one line — /_gw/icon](/docs/changelog/2026-07-27#new-0727-1-app-favicon-in-one-line-_gw-icon)
- [NEW-0727-2: source-at-create: SOURCE_AT_CREATE_GALAXY_ONLY now carries a hint with a path to a galaxy](/docs/changelog/2026-07-27#new-0727-2-source-at-create-source_at_create_galaxy_only-now-carries-a-hint-with-a-path-to-a-galaxy)
- [FIX-0727-3: galaxy apps: PATCH /sleep and PATCH /port now return 400 — manage them from the Galaxies page](/docs/changelog/2026-07-27#fix-0727-3-galaxy-apps-patch-sleep-and-patch-port-now-return-400-manage-them-from-the-galaxies-page)
- [FIX-0727-4: galaxy app recovers after its host tunnel drops](/docs/changelog/2026-07-27#fix-0727-4-galaxy-app-recovers-after-its-host-tunnel-drops)
- [NEW-0727-5: warning when a deploy changelog has nowhere to be published](/docs/changelog/2026-07-27#new-0727-5-warning-when-a-deploy-changelog-has-nowhere-to-be-published)
- [FIX-0727-6: bizproc-templates list without an explicit select now returns every field, including id](/docs/changelog/2026-07-27#fix-0727-6-bizproc-templates-list-without-an-explicit-select-now-returns-every-field-including-id)
- [NEW-0727-7: uploading a file to a knowledge-base document now returns assetMarkdown right away](/docs/changelog/2026-07-27#new-0727-7-uploading-a-file-to-a-knowledge-base-document-now-returns-assetmarkdown-right-away)
- [FIX-0727-8: `ttlSeconds` bounds for access tokens in the machine-readable schema now match the behaviour](/docs/changelog/2026-07-27#fix-0727-8-ttlseconds-bounds-for-access-tokens-in-the-machine-readable-schema-now-match-the-behaviour)
- [NEW-0727-9: A placement app can auto-resize its iframe](/docs/changelog/2026-07-27#new-0727-9-a-placement-app-can-auto-resize-its-iframe)
- [FIX-0727-10: list offset now counts records, not pages](/docs/changelog/2026-07-27#fix-0727-10-list-offset-now-counts-records-not-pages)
- [FIX-0727-11: a closed feedback ticket no longer reports itself as "in progress"](/docs/changelog/2026-07-27#fix-0727-11-a-closed-feedback-ticket-no-longer-reports-itself-as-in-progress)
- [FIX-0727-12: Connect keys: stored scopes are authoritative — vibe:ai / vibe:search are no longer added automatically](/docs/changelog/2026-07-27#fix-0727-12-connect-keys-stored-scopes-are-authoritative-vibe-ai-vibe-search-are-no-longer-added-automatically)
- [FIX-0727-13: Apps: a derived key and app-scope sync grant no more than the calling key holds](/docs/changelog/2026-07-27#fix-0727-13-apps-a-derived-key-and-app-scope-sync-grant-no-more-than-the-calling-key-holds)
- [FIX-0727-14: Bitrix24 call timeout is now configurable, the internal retry after a timeout is removed](/docs/changelog/2026-07-27#fix-0727-14-bitrix24-call-timeout-is-now-configurable-the-internal-retry-after-a-timeout-is-removed)

## July 25, 2026

- [NEW-0725-1: deploy: optional changelog field](/docs/changelog/2026-07-25#new-0725-1-deploy-optional-changelog-field)
- [NEW-0725-2: model calls with a short-lived token issued to a partner system](/docs/changelog/2026-07-25#new-0725-2-model-calls-with-a-short-lived-token-issued-to-a-partner-system)

## July 24, 2026

- [FIX-0724-1: activities: an unrecognized filter field name is now rejected with 400 UNKNOWN_FILTER_FIELD](/docs/changelog/2026-07-24#fix-0724-1-activities-an-unrecognized-filter-field-name-is-now-rejected-with-400-unknown_filter_field)
- [NEW-0724-2: bizproc activities and robots /fields now return field labels and descriptions](/docs/changelog/2026-07-24#new-0724-2-bizproc-activities-and-robots-fields-now-return-field-labels-and-descriptions)
- [FIX-0724-3: Downloading your own storage objects no longer returns 403](/docs/changelog/2026-07-24#fix-0724-3-downloading-your-own-storage-objects-no-longer-returns-403)
- [FIX-0724-4: GET /v1/workflows honours the limit parameter](/docs/changelog/2026-07-24#fix-0724-4-get-v1-workflows-honours-the-limit-parameter)
- [FIX-0724-5: deploy: an app wrapped in a single archive folder no longer fails with ENOENT package.json](/docs/changelog/2026-07-24#fix-0724-5-deploy-an-app-wrapped-in-a-single-archive-folder-no-longer-fails-with-enoent-package-json)
- [FIX-0724-6: /v1/users* endpoints no longer return 403 and 500 on keys with user access](/docs/changelog/2026-07-24#fix-0724-6-v1-users-endpoints-no-longer-return-403-and-500-on-keys-with-user-access)
- [NEW-0724-7: bizproc activity and robot callback delivery to a Black Hole app](/docs/changelog/2026-07-24#new-0724-7-bizproc-activity-and-robot-callback-delivery-to-a-black-hole-app)

## July 23, 2026

- [NEW-0723-1: app blueprints library — spec via API key](/docs/changelog/2026-07-23#new-0723-1-app-blueprints-library-spec-via-api-key)
- [NEW-0723-2: sources of a deleted server: access, cleanup, and an honest answer for purged bytes](/docs/changelog/2026-07-23#new-0723-2-sources-of-a-deleted-server-access-cleanup-and-an-honest-answer-for-purged-bytes)
- [FIX-0723-3: galaxy app deploy: a mid-build tunnel drop is no longer masked as "host unreachable"](/docs/changelog/2026-07-23#fix-0723-3-galaxy-app-deploy-a-mid-build-tunnel-drop-is-no-longer-masked-as-host-unreachable)
- [NEW-0723-4: deploy step timeout error now carries a recovery hint](/docs/changelog/2026-07-23#new-0723-4-deploy-step-timeout-error-now-carries-a-recovery-hint)
- [FIX-0723-5: a failed deploy step now shows the real cause, not a benign warning](/docs/changelog/2026-07-23#fix-0723-5-a-failed-deploy-step-now-shows-the-real-cause-not-a-benign-warning)
- [FIX-0723-6: list sorting by a non-unique field no longer drops records on the second page](/docs/changelog/2026-07-23#fix-0723-6-list-sorting-by-a-non-unique-field-no-longer-drops-records-on-the-second-page)
- [FIX-0723-7: reopening a ticket via a comment no longer leaves the resolution stamp](/docs/changelog/2026-07-23#fix-0723-7-reopening-a-ticket-via-a-comment-no-longer-leaves-the-resolution-stamp)
- [FIX-0723-8: list filters on statuses / departments / storages / currencies / products are no longer silently ignored](/docs/changelog/2026-07-23#fix-0723-8-list-filters-on-statuses-departments-storages-currencies-products-are-no-longer-silently-ignored)
- [BC-0723-9: POST /v1/apps no longer returns the prefix and suffix fields in the create response](/docs/changelog/2026-07-23#bc-0723-9-post-v1-apps-no-longer-returns-the-prefix-and-suffix-fields-in-the-create-response)
- [FIX-0723-10: POST /v1/batch now persists phone and email on lead and contact create and update](/docs/changelog/2026-07-23#fix-0723-10-post-v1-batch-now-persists-phone-and-email-on-lead-and-contact-create-and-update)
- [FIX-0723-11: Search and research no longer return 402 INSUFFICIENT_BALANCE on a funded account](/docs/changelog/2026-07-23#fix-0723-11-search-and-research-no-longer-return-402-insufficient_balance-on-a-funded-account)
- [FIX-0723-12: POST /v1/apps reports the plan requirement clearly on the cloud-shared path](/docs/changelog/2026-07-23#fix-0723-12-post-v1-apps-reports-the-plan-requirement-clearly-on-the-cloud-shared-path)
- [FIX-0723-13: starting a server no longer errors when the machine is already running](/docs/changelog/2026-07-23#fix-0723-13-starting-a-server-no-longer-errors-when-the-machine-is-already-running)
- [BC-0723-14: the /v1/me deployment.standalone.requiredFields.create shape is now an object + documents the name slug](/docs/changelog/2026-07-23#bc-0723-14-the-v1-me-deployment-standalone-requiredfields-create-shape-is-now-an-object-documents-the-name-slug)
- [NEW-0723-15: GET /v1/contacts/fields now returns label and description for every field](/docs/changelog/2026-07-23#new-0723-15-get-v1-contacts-fields-now-returns-label-and-description-for-every-field)
- [NEW-0723-16: smart-processes: relations and linkedUserFields fields in the input schema](/docs/changelog/2026-07-23#new-0723-16-smart-processes-relations-and-linkeduserfields-fields-in-the-input-schema)
- [FIX-0723-17: bizproc-activities and bizproc-robots: documentType type in /fields corrected to array](/docs/changelog/2026-07-23#fix-0723-17-bizproc-activities-and-bizproc-robots-documenttype-type-in-fields-corrected-to-array)
- [FIX-0723-18: PATCH /v1/bizproc-templates returns a numeric id](/docs/changelog/2026-07-23#fix-0723-18-patch-v1-bizproc-templates-returns-a-numeric-id)
- [FIX-0723-19: userfields: label type in the create schema corrected to string](/docs/changelog/2026-07-23#fix-0723-19-userfields-label-type-in-the-create-schema-corrected-to-string)
- [FIX-0723-20: sleep-now on a galaxy app now returns 400 — manage it from the Galaxies page](/docs/changelog/2026-07-23#fix-0723-20-sleep-now-on-a-galaxy-app-now-returns-400-manage-it-from-the-galaxies-page)
- [FIX-0723-21: a task comment is no longer served under a foreign task](/docs/changelog/2026-07-23#fix-0723-21-a-task-comment-is-no-longer-served-under-a-foreign-task)
- [FIX-0723-22: company type is a single field typeId, not companyType](/docs/changelog/2026-07-23#fix-0723-22-company-type-is-a-single-field-typeid-not-companytype)

## July 22, 2026

- [BC-0722-1: server icon is now served as PNG](/docs/changelog/2026-07-22#bc-0722-1-server-icon-is-now-served-as-png)
- [NEW-0722-2: scheduled wake (wake-schedules) is now available on every Bitrix24 account](/docs/changelog/2026-07-22#new-0722-2-scheduled-wake-wake-schedules-is-now-available-on-every-bitrix24-account)
- [NEW-0722-3: deploy 409 SERVER_NOT_READY now signals it is retryable](/docs/changelog/2026-07-22#new-0722-3-deploy-409-server_not_ready-now-signals-it-is-retryable)
- [NEW-0722-4: New endpoint to activate the Marketplace trial for the key's Bitrix24 account](/docs/changelog/2026-07-22#new-0722-4-new-endpoint-to-activate-the-marketplace-trial-for-the-key-s-bitrix24-account)
- [FIX-0722-5: the Bitrix24 plan probe no longer stops at a scope-limited developer key](/docs/changelog/2026-07-22#fix-0722-5-the-bitrix24-plan-probe-no-longer-stops-at-a-scope-limited-developer-key)
- [FIX-0722-6: the `region` field in infrastructure responses always returns a region id](/docs/changelog/2026-07-22#fix-0722-6-the-region-field-in-infrastructure-responses-always-returns-a-region-id)

## July 21, 2026

- [FIX-0721-1: built-in search engine name and description, cloud provider name](/docs/changelog/2026-07-21#fix-0721-1-built-in-search-engine-name-and-description-cloud-provider-name)
- [FIX-0721-2: creating a business-process template now accepts the template file](/docs/changelog/2026-07-21#fix-0721-2-creating-a-business-process-template-now-accepts-the-template-file)
- [NEW-0721-3: Aggregated source registry — GET /v1/me/sources](/docs/changelog/2026-07-21#new-0721-3-aggregated-source-registry-get-v1-me-sources)
- [NEW-0721-4: optional error.b24Code field in 422 BITRIX_ERROR responses](/docs/changelog/2026-07-21#new-0721-4-optional-error-b24code-field-in-422-bitrix_error-responses)
- [NEW-0721-5: Open Channels statistics — 6 dashboard methods](/docs/changelog/2026-07-21#new-0721-5-open-channels-statistics-6-dashboard-methods)
- [FIX-0721-6: a Bitrix24 plan refusal is returned as 403 B24_TARIFF_RESTRICTION on every endpoint](/docs/changelog/2026-07-21#fix-0721-6-a-bitrix24-plan-refusal-is-returned-as-403-b24_tariff_restriction-on-every-endpoint)
- [FIX-0721-7: Versioned deploy runtimes install the advertised version on Ubuntu 24.04](/docs/changelog/2026-07-21#fix-0721-7-versioned-deploy-runtimes-install-the-advertised-version-on-ubuntu-24-04)
- [FIX-0721-8: server repair status is correct when polled](/docs/changelog/2026-07-21#fix-0721-8-server-repair-status-is-correct-when-polled)
- [FIX-0721-9: apps on a standalone server no longer run with administrator privileges](/docs/changelog/2026-07-21#fix-0721-9-apps-on-a-standalone-server-no-longer-run-with-administrator-privileges)
- [BC-0721-10: a broken image_url candidate no longer fails the whole request](/docs/changelog/2026-07-21#bc-0721-10-a-broken-image_url-candidate-no-longer-fails-the-whole-request)

## July 20, 2026

- [NEW-0720-1: Application responses now return the publication status](/docs/changelog/2026-07-20#new-0720-1-application-responses-now-return-the-publication-status)
- [FIX-0720-2: chat rename no longer reports a false success to a non-participant](/docs/changelog/2026-07-20#fix-0720-2-chat-rename-no-longer-reports-a-false-success-to-a-non-participant)
- [NEW-0720-3: streaming chat-completions now ends a stalled upstream response with an explicit error](/docs/changelog/2026-07-20#new-0720-3-streaming-chat-completions-now-ends-a-stalled-upstream-response-with-an-explicit-error)
- [NEW-0720-4: tasks: new timeSpentInLogs field](/docs/changelog/2026-07-20#new-0720-4-tasks-new-timespentinlogs-field)
- [FIX-0720-5: GET /v1/files/:id?include=folder now returns the folder](/docs/changelog/2026-07-20#fix-0720-5-get-v1-files-id-include-folder-now-returns-the-folder)
- [FIX-0720-6: /v1/me: infra block now accurate for server cap, provider id, and breakdown](/docs/changelog/2026-07-20#fix-0720-6-v1-me-infra-block-now-accurate-for-server-cap-provider-id-and-breakdown)
- [FIX-0720-7: deal-categories: unknown filter fields are rejected, sort by id respects direction](/docs/changelog/2026-07-20#fix-0720-7-deal-categories-unknown-filter-fields-are-rejected-sort-by-id-respects-direction)
- [FIX-0720-8: openline-configs: unrecognised fields in a write body no longer vanish silently](/docs/changelog/2026-07-20#fix-0720-8-openline-configs-unrecognised-fields-in-a-write-body-no-longer-vanish-silently)
- [FIX-0720-9: GET /v1/{entity}/fields signals partial metadata on a Bitrix24 failure](/docs/changelog/2026-07-20#fix-0720-9-get-v1-entity-fields-signals-partial-metadata-on-a-bitrix24-failure)

## July 19, 2026

- [BC-0719-1: Cowork/Code: tier lineup renamed — Free / Pro / Max / Ultra, Ultra price reduced](/docs/changelog/2026-07-19#bc-0719-1-cowork-code-tier-lineup-renamed-free-pro-max-ultra-ultra-price-reduced)
- [FIX-0719-2: Cowork/Code tier prices on the international version now use the dollar scale](/docs/changelog/2026-07-19#fix-0719-2-cowork-code-tier-prices-on-the-international-version-now-use-the-dollar-scale)

## July 18, 2026

- [FIX-0718-1: deploy reuses the application's server instead of creating a duplicate](/docs/changelog/2026-07-18#fix-0718-1-deploy-reuses-the-application-s-server-instead-of-creating-a-duplicate)
- [FIX-0718-2: DELETE /lock now releases a stuck lock even on a deleted server](/docs/changelog/2026-07-18#fix-0718-2-delete-lock-now-releases-a-stuck-lock-even-on-a-deleted-server)
- [NEW-0718-3: connector app-install error codes are now also possible on cloud portals (phased rollout)](/docs/changelog/2026-07-18#new-0718-3-connector-app-install-error-codes-are-now-also-possible-on-cloud-portals-phased-rollout)

## July 17, 2026

- [FIX-0717-1: deploying to a sleeping galaxy host now answers before client timeouts](/docs/changelog/2026-07-17#fix-0717-1-deploying-to-a-sleeping-galaxy-host-now-answers-before-client-timeouts)
- [NEW-0717-2: server user search explains an empty list](/docs/changelog/2026-07-17#new-0717-2-server-user-search-explains-an-empty-list)
- [NEW-0717-3: the catalog field references now report nullable fields](/docs/changelog/2026-07-17#new-0717-3-the-catalog-field-references-now-report-nullable-fields)
- [NEW-0717-4: EXEC_BUSY tells you when to retry](/docs/changelog/2026-07-17#new-0717-4-exec_busy-tells-you-when-to-retry)
- [FIX-0717-5: deploying a galaxy app with an oversized archive returns 413, not "host unreachable"](/docs/changelog/2026-07-17#fix-0717-5-deploying-a-galaxy-app-with-an-oversized-archive-returns-413-not-host-unreachable)
- [NEW-0717-6: displayName and description on deploy set the Bitrix24 catalog card](/docs/changelog/2026-07-17#new-0717-6-displayname-and-description-on-deploy-set-the-bitrix24-catalog-card)
- [FIX-0717-7: galaxy deploy returns 503 on transient database overload](/docs/changelog/2026-07-17#fix-0717-7-galaxy-deploy-returns-503-on-transient-database-overload)
- [FIX-0717-8: filtering and sorting of the task comment list work on both cards](/docs/changelog/2026-07-17#fix-0717-8-filtering-and-sorting-of-the-task-comment-list-work-on-both-cards)

## July 16, 2026

- [BC-0716-1: json_object on a reasoning model recovers JSON; the 422 body is refined](/docs/changelog/2026-07-16#bc-0716-1-json_object-on-a-reasoning-model-recovers-json-the-422-body-is-refined)
- [FIX-0716-2: env sent as a file in a multipart deploy is no longer silently ignored](/docs/changelog/2026-07-16#fix-0716-2-env-sent-as-a-file-in-a-multipart-deploy-is-no-longer-silently-ignored)
- [FIX-0716-3: large source.content deploys no longer fail with Gateway HTTP 413](/docs/changelog/2026-07-16#fix-0716-3-large-source-content-deploys-no-longer-fail-with-gateway-http-413)
- [BC-0716-4: POST /v1/infra/servers rejects unknown body fields](/docs/changelog/2026-07-16#bc-0716-4-post-v1-infra-servers-rejects-unknown-body-fields)
- [NEW-0716-5: /v1/sites/fields now describes the allowed values of the type field](/docs/changelog/2026-07-16#new-0716-5-v1-sites-fields-now-describes-the-allowed-values-of-the-type-field)
- [NEW-0716-6: Task favorite and pin without edit permission](/docs/changelog/2026-07-16#new-0716-6-task-favorite-and-pin-without-edit-permission)
- [NEW-0716-7: preemptible-plan advisory in scheduled-wake responses](/docs/changelog/2026-07-16#new-0716-7-preemptible-plan-advisory-in-scheduled-wake-responses)

## July 14, 2026

- [NEW-0714-1: OpenAPI spec: 3.1 validity, field semantics, and a scope slice](/docs/changelog/2026-07-14#new-0714-1-openapi-spec-3-1-validity-field-semantics-and-a-scope-slice)
- [FIX-0714-2: Generic 5xx errors on AI endpoints now use the OpenAI-compatible envelope](/docs/changelog/2026-07-14#fix-0714-2-generic-5xx-errors-on-ai-endpoints-now-use-the-openai-compatible-envelope)
- [FIX-0714-3: `versions` in the app source-history list is capped at 500 entries](/docs/changelog/2026-07-14#fix-0714-3-versions-in-the-app-source-history-list-is-capped-at-500-entries)
- [FIX-0714-4: Telephony: `userId`/`duration` are now genuinely validated, not just checked for truthy](/docs/changelog/2026-07-14#fix-0714-4-telephony-userid-duration-are-now-genuinely-validated-not-just-checked-for-truthy)
- [FIX-0714-5: Creating a comment on a missing task — an explicit error instead of a false success](/docs/changelog/2026-07-14#fix-0714-5-creating-a-comment-on-a-missing-task-an-explicit-error-instead-of-a-false-success)
- [FIX-0714-6: Rate limit for `/v1/search`, `/v1/research`, `/v1/batch` is now per-account](/docs/changelog/2026-07-14#fix-0714-6-rate-limit-for-v1-search-v1-research-v1-batch-is-now-per-account)
- [FIX-0714-7: Calendar: working section batch-delete, clean update errors, no leaked sync fields](/docs/changelog/2026-07-14#fix-0714-7-calendar-working-section-batch-delete-clean-update-errors-no-leaked-sync-fields)
- [FIX-0714-8: PATCH catalog-product-properties works again (was an inescapable catch-22)](/docs/changelog/2026-07-14#fix-0714-8-patch-catalog-product-properties-works-again-was-an-inescapable-catch-22)
- [FIX-0714-9: entityTypeId validation: junk forms → 400 instead of silent truncation](/docs/changelog/2026-07-14#fix-0714-9-entitytypeid-validation-junk-forms-400-instead-of-silent-truncation)
- [FIX-0714-10: Reopening feedback clears the resolution fields](/docs/changelog/2026-07-14#fix-0714-10-reopening-feedback-clears-the-resolution-fields)
- [FIX-0714-11: `INVALID_JSON_BODY` no longer quotes the engine parser text](/docs/changelog/2026-07-14#fix-0714-11-invalid_json_body-no-longer-quotes-the-engine-parser-text)
- [FIX-0714-12: Quote GET response returns amount, currency, and dates again (were null)](/docs/changelog/2026-07-14#fix-0714-12-quote-get-response-returns-amount-currency-and-dates-again-were-null)
- [FIX-0714-13: Write-path validation: phantom checklist → 404, garbage types and junk `:id` → 400](/docs/changelog/2026-07-14#fix-0714-13-write-path-validation-phantom-checklist-404-garbage-types-and-junk-id-400)
- [FIX-0714-14: Five silent false-success / hint defects: an honest response instead of a fake success](/docs/changelog/2026-07-14#fix-0714-14-five-silent-false-success-hint-defects-an-honest-response-instead-of-a-fake-success)
- [FIX-0714-15: GET /v1/task-time now honestly returns more than 50 rows when limit>50](/docs/changelog/2026-07-14#fix-0714-15-get-v1-task-time-now-honestly-returns-more-than-50-rows-when-limit-50)
- [NEW-0714-16: GET /v1/companies/fields and catalog-prices system fields now carry label and description](/docs/changelog/2026-07-14#new-0714-16-get-v1-companies-fields-and-catalog-prices-system-fields-now-carry-label-and-description)
- [FIX-0714-17: /stop and /reboot distinguish a missing server from a wrong status](/docs/changelog/2026-07-14#fix-0714-17-stop-and-reboot-distinguish-a-missing-server-from-a-wrong-status)
- [FIX-0714-18: clearer /fields error for task comments and task time entries](/docs/changelog/2026-07-14#fix-0714-18-clearer-fields-error-for-task-comments-and-task-time-entries)
- [FIX-0714-19: `/v1/ai/credentials*` rate limits are now per-account; `CREDENTIAL_NOT_FOUND` carries a hint](/docs/changelog/2026-07-14#fix-0714-19-v1-ai-credentials-rate-limits-are-now-per-account-credential_not_found-carries-a-hint)
- [FIX-0714-20: PATCH for bizproc templates, robots and activities via /v1 now applies changes](/docs/changelog/2026-07-14#fix-0714-20-patch-for-bizproc-templates-robots-and-activities-via-v1-now-applies-changes)
- [FIX-0714-21: Transcription: wallet check before the recognition call](/docs/changelog/2026-07-14#fix-0714-21-transcription-wallet-check-before-the-recognition-call)
- [FIX-0714-22: app deletion is no longer blocked by a galaxy host on its key](/docs/changelog/2026-07-14#fix-0714-22-app-deletion-is-no-longer-blocked-by-a-galaxy-host-on-its-key)
- [FIX-0714-23: OpenAPI: per-entity batch endpoint body is now documented correctly (action + items/ids/calls)](/docs/changelog/2026-07-14#fix-0714-23-openapi-per-entity-batch-endpoint-body-is-now-documented-correctly-action-items-ids-calls)
- [FIX-0714-24: Currencies: fullName, format, and decimals now persist on a flat write](/docs/changelog/2026-07-14#fix-0714-24-currencies-fullname-format-and-decimals-now-persist-on-a-flat-write)
- [FIX-0714-25: Aggregate enforces required filters; infra validation no longer leaks raw Zod](/docs/changelog/2026-07-14#fix-0714-25-aggregate-enforces-required-filters-infra-validation-no-longer-leaks-raw-zod)
- [FIX-0714-26: Batch: per-entity batch works for items, and folder creation via batch](/docs/changelog/2026-07-14#fix-0714-26-batch-per-entity-batch-works-for-items-and-folder-creation-via-batch)
- [NEW-0714-27: recover a stuck server exec channel](/docs/changelog/2026-07-14#new-0714-27-recover-a-stuck-server-exec-channel)
- [NEW-0714-28: server description in `PATCH /v1/infra/servers/:id`](/docs/changelog/2026-07-14#new-0714-28-server-description-in-patch-v1-infra-servers-id)
- [FIX-0714-29: galaxy app deploy returns an honest error instead of a false success when the connection drops mid-build](/docs/changelog/2026-07-14#fix-0714-29-galaxy-app-deploy-returns-an-honest-error-instead-of-a-false-success-when-the-connection-drops-mid-build)
- [BC-0714-30: renaming a catalog app reaches Bitrix24, publish loses menuTitle](/docs/changelog/2026-07-14#bc-0714-30-renaming-a-catalog-app-reaches-bitrix24-publish-loses-menutitle)
- [NEW-0714-31: GET /v1/tasks/:taskId/comments/fields — task-comment field schema](/docs/changelog/2026-07-14#new-0714-31-get-v1-tasks-taskid-comments-fields-task-comment-field-schema)
- [FIX-0714-32: per-entity batch with action list now applies filter](/docs/changelog/2026-07-14#fix-0714-32-per-entity-batch-with-action-list-now-applies-filter)
- [FIX-0714-33: auto-pagination no longer duplicates records across page boundaries](/docs/changelog/2026-07-14#fix-0714-33-auto-pagination-no-longer-duplicates-records-across-page-boundaries)
- [FIX-0714-34: requisite-preset field list no longer comes back empty; create no longer returns a foreign record](/docs/changelog/2026-07-14#fix-0714-34-requisite-preset-field-list-no-longer-comes-back-empty-create-no-longer-returns-a-foreign-record)
- [FIX-0714-35: placement bind for earlier-created apps is no longer rejected over the handler](/docs/changelog/2026-07-14#fix-0714-35-placement-bind-for-earlier-created-apps-is-no-longer-rejected-over-the-handler)

## July 13, 2026

- [FIX-0713-1: OAuth application key platform scopes now sync on create and edit](/docs/changelog/2026-07-13#fix-0713-1-oauth-application-key-platform-scopes-now-sync-on-create-and-edit)
- [FIX-0713-2: product-sections: unsupported filters return 400 instead of the whole table](/docs/changelog/2026-07-13#fix-0713-2-product-sections-unsupported-filters-return-400-instead-of-the-whole-table)
- [FIX-0713-3: the reason for a failed first server provisioning is now visible](/docs/changelog/2026-07-13#fix-0713-3-the-reason-for-a-failed-first-server-provisioning-is-now-visible)
- [NEW-0713-4: POST and PATCH /v1/tasks/:taskId/time accept createdDate](/docs/changelog/2026-07-13#new-0713-4-post-and-patch-v1-tasks-taskid-time-accept-createddate)
- [FIX-0713-5: meta.hasMore no longer stays stuck at true with filter + offset](/docs/changelog/2026-07-13#fix-0713-5-meta-hasmore-no-longer-stays-stuck-at-true-with-filter-offset)
- [FIX-0713-6: GET /v1/lists and /v1/lists/:iblockId/elements honour offset](/docs/changelog/2026-07-13#fix-0713-6-get-v1-lists-and-v1-lists-iblockid-elements-honour-offset)
- [NEW-0713-7: New preserveEnv flag keeps .env across cleanDeploy](/docs/changelog/2026-07-13#new-0713-7-new-preserveenv-flag-keeps-env-across-cleandeploy)
- [NEW-0713-8: failed galaxy app builds now carry a `buildHint`](/docs/changelog/2026-07-13#new-0713-8-failed-galaxy-app-builds-now-carry-a-buildhint)
- [FIX-0713-9: concurrent identical source saves no longer mint a duplicate version](/docs/changelog/2026-07-13#fix-0713-9-concurrent-identical-source-saves-no-longer-mint-a-duplicate-version)

## July 12, 2026

- [NEW-0712-1: The AI quota exhaustion response now points to the top-up path](/docs/changelog/2026-07-12#new-0712-1-the-ai-quota-exhaustion-response-now-points-to-the-top-up-path)
- [FIX-0712-2: `sleep-now` on a server with a long-past computed wake now sleeps honestly](/docs/changelog/2026-07-12#fix-0712-2-sleep-now-on-a-server-with-a-long-past-computed-wake-now-sleeps-honestly)

## July 11, 2026

- [FIX-0711-1: galaxies: GALAXY_HOST_UNREACHABLE is now actionable — structured hint and a precise provisionError](/docs/changelog/2026-07-11#fix-0711-1-galaxies-galaxy_host_unreachable-is-now-actionable-structured-hint-and-a-precise-provisionerror)
- [NEW-0711-2: distinct error code when the Vibecode Connector module is not installed in the Bitrix24 account](/docs/changelog/2026-07-11#new-0711-2-distinct-error-code-when-the-vibecode-connector-module-is-not-installed-in-the-bitrix24-account)
- [FIX-0711-3: GET /v1/ai/quota pacing can now be populated by the platform by default (gradual rollout)](/docs/changelog/2026-07-11#fix-0711-3-get-v1-ai-quota-pacing-can-now-be-populated-by-the-platform-by-default-gradual-rollout)

## July 10, 2026

- [NEW-0710-1: wake-schedule window management (wake-schedules)](/docs/changelog/2026-07-10#new-0710-1-wake-schedule-window-management-wake-schedules)
- [NEW-0710-2: machine-readable tz-warning code in wake-schedules responses (`tzWarningCode`)](/docs/changelog/2026-07-10#new-0710-2-machine-readable-tz-warning-code-in-wake-schedules-responses-tzwarningcode)
- [FIX-0710-3: wake-schedules: schedules rejected on always-on servers](/docs/changelog/2026-07-10#fix-0710-3-wake-schedules-schedules-rejected-on-always-on-servers)
- [FIX-0710-4: wake-schedules can now be declared on nested galaxy apps](/docs/changelog/2026-07-10#fix-0710-4-wake-schedules-can-now-be-declared-on-nested-galaxy-apps)
- [FIX-0710-5: sleep-now declines to sleep when a scheduled wake is imminent](/docs/changelog/2026-07-10#fix-0710-5-sleep-now-declines-to-sleep-when-a-scheduled-wake-is-imminent)
- [FIX-0710-6: non-streaming chat/completions and embeddings no longer abort at 360 seconds](/docs/changelog/2026-07-10#fix-0710-6-non-streaming-chat-completions-and-embeddings-no-longer-abort-at-360-seconds)
- [FIX-0710-7: requisite-presets/:presetId/fields and requisite-links: list sorting, filtering, and parameter validation](/docs/changelog/2026-07-10#fix-0710-7-requisite-presets-presetid-fields-and-requisite-links-list-sorting-filtering-and-parameter-validation)
- [FIX-0710-8: Bank details sorting by id honors the direction](/docs/changelog/2026-07-10#fix-0710-8-bank-details-sorting-by-id-honors-the-direction)
- [NEW-0710-9: GET /v1/quotes/fields — ~26 quote fields declared with human-readable labels](/docs/changelog/2026-07-10#new-0710-9-get-v1-quotes-fields-26-quote-fields-declared-with-human-readable-labels)
- [FIX-0710-10: a PATCH with no writable field is rejected with an explicit error](/docs/changelog/2026-07-10#fix-0710-10-a-patch-with-no-writable-field-is-rejected-with-an-explicit-error)
- [FIX-0710-11: leads, companies, quotes — /fields date keys are now createdTime and updatedTime](/docs/changelog/2026-07-10#fix-0710-11-leads-companies-quotes-fields-date-keys-are-now-createdtime-and-updatedtime)
- [FIX-0710-12: sleep settings: flipping to always-on is now rejected while wake windows are active](/docs/changelog/2026-07-10#fix-0710-12-sleep-settings-flipping-to-always-on-is-now-rejected-while-wake-windows-are-active)
- [NEW-0710-13: placement.bind on a self-hosted Bitrix24 returns a clear SESSION_REQUIRES_ADMIN for a non-administrator](/docs/changelog/2026-07-10#new-0710-13-placement-bind-on-a-self-hosted-bitrix24-returns-a-clear-session_requires_admin-for-a-non-administrator)
- [FIX-0710-14: GET /v1/me capabilities now reflect read-only (READONLY) mode](/docs/changelog/2026-07-10#fix-0710-14-get-v1-me-capabilities-now-reflect-read-only-readonly-mode)
- [FIX-0710-15: the feedback author can reply to their own ticket again without the vibe:feedback scope](/docs/changelog/2026-07-10#fix-0710-15-the-feedback-author-can-reply-to-their-own-ticket-again-without-the-vibe-feedback-scope)
- [NEW-0710-16: AI quota pacing: pacing field in the response and 429 ai_pacing_limited error](/docs/changelog/2026-07-10#new-0710-16-ai-quota-pacing-pacing-field-in-the-response-and-429-ai_pacing_limited-error)
- [FIX-0710-17: GET /v1/pages, /v1/sites and POST /v1/{pages,sites}/search now honour offset](/docs/changelog/2026-07-10#fix-0710-17-get-v1-pages-v1-sites-and-post-v1-pages-sites-search-now-honour-offset)
- [NEW-0710-18: /fields of documents, catalogs, prices, telephony lines, basket items and leads gain richer metadata](/docs/changelog/2026-07-10#new-0710-18-fields-of-documents-catalogs-prices-telephony-lines-basket-items-and-leads-gain-richer-metadata)
- [NEW-0710-19: Idempotent server creation — Idempotency-Key header](/docs/changelog/2026-07-10#new-0710-19-idempotent-server-creation-idempotency-key-header)
- [NEW-0710-20: localized message on OPEN-mode switch denials](/docs/changelog/2026-07-10#new-0710-20-localized-message-on-open-mode-switch-denials)
- [BC-0710-21: Open Channels config fields normalized to camelCase and described in /fields](/docs/changelog/2026-07-10#bc-0710-21-open-channels-config-fields-normalized-to-camelcase-and-described-in-fields)
- [NEW-0710-22: Added GET /v1/warehouses/fields — warehouse field schema](/docs/changelog/2026-07-10#new-0710-22-added-get-v1-warehouses-fields-warehouse-field-schema)
- [FIX-0710-23: app publish recovers from a placement drift](/docs/changelog/2026-07-10#fix-0710-23-app-publish-recovers-from-a-placement-drift)
- [FIX-0710-24: storage: object sha256 is populated on direct upload](/docs/changelog/2026-07-10#fix-0710-24-storage-object-sha256-is-populated-on-direct-upload)
- [FIX-0710-25: pacing.active in GET /v1/ai/quota no longer reports an active limit when the quota is zero](/docs/changelog/2026-07-10#fix-0710-25-pacing-active-in-get-v1-ai-quota-no-longer-reports-an-active-limit-when-the-quota-is-zero)

## July 9, 2026

- [FIX-0709-1: transient DB overload now returns 503 with Retry-After instead of 500](/docs/changelog/2026-07-09#fix-0709-1-transient-db-overload-now-returns-503-with-retry-after-instead-of-500)
- [FIX-0709-2: placements/bind reports the Bitrix24 plan requirement clearly](/docs/changelog/2026-07-09#fix-0709-2-placements-bind-reports-the-bitrix24-plan-requirement-clearly)
- [FIX-0709-3: bindPrerequisite in GET /v1/me now reflects the Bitrix24 plan](/docs/changelog/2026-07-09#fix-0709-3-bindprerequisite-in-get-v1-me-now-reflects-the-bitrix24-plan)
- [BC-0709-4: CRM, task and landing fields aligned with the real Bitrix24 contract](/docs/changelog/2026-07-09#bc-0709-4-crm-task-and-landing-fields-aligned-with-the-real-bitrix24-contract)
- [FIX-0709-5: creating an entity with an empty body is rejected with an explicit error](/docs/changelog/2026-07-09#fix-0709-5-creating-an-entity-with-an-empty-body-is-rejected-with-an-explicit-error)
- [FIX-0709-6: releasing a server lock accepts an empty JSON body](/docs/changelog/2026-07-09#fix-0709-6-releasing-a-server-lock-accepts-an-empty-json-body)
- [FIX-0709-7: Bitrix24 events now wake a sleeping galaxy app](/docs/changelog/2026-07-09#fix-0709-7-bitrix24-events-now-wake-a-sleeping-galaxy-app)
- [NEW-0709-8: camelCase keys inside communications when creating an activity](/docs/changelog/2026-07-09#new-0709-8-camelcase-keys-inside-communications-when-creating-an-activity)
- [FIX-0709-9: unpublishing removes the tab across all of the app's handlers](/docs/changelog/2026-07-09#fix-0709-9-unpublishing-removes-the-tab-across-all-of-the-app-s-handlers)
- [NEW-0709-10: Key self-description in GET /v1/guide](/docs/changelog/2026-07-09#new-0709-10-key-self-description-in-get-v1-guide)
- [FIX-0709-11: GET /v1/{entity}/:id now honours ?select=](/docs/changelog/2026-07-09#fix-0709-11-get-v1-entity-id-now-honours-select)
- [FIX-0709-12: /fields for orders, basket items, requisite presets and document templates now matches the real B24 contract](/docs/changelog/2026-07-09#fix-0709-12-fields-for-orders-basket-items-requisite-presets-and-document-templates-now-matches-the-real-b24-contract)
- [NEW-0709-13: GET /:entity/fields returns human-readable labels and descriptions for deals, leads, invoices, activities, statuses and timeline comments](/docs/changelog/2026-07-09#new-0709-13-get-entity-fields-returns-human-readable-labels-and-descriptions-for-deals-leads-invoices-activities-statuses-and-timeline-comments)
- [FIX-0709-14: POST /v1/batch — unified sub-call error shape and totals only for list/search](/docs/changelog/2026-07-09#fix-0709-14-post-v1-batch-unified-sub-call-error-shape-and-totals-only-for-list-search)
- [FIX-0709-15: GET /v1/openline-configs — empty-value normalization in the response](/docs/changelog/2026-07-09#fix-0709-15-get-v1-openline-configs-empty-value-normalization-in-the-response)
- [FIX-0709-16: GET /v1/users/fields returns the possible values (items) for enumeration user-fields](/docs/changelog/2026-07-09#fix-0709-16-get-v1-users-fields-returns-the-possible-values-items-for-enumeration-user-fields)
- [FIX-0709-17: the empty-queue hint now appears after sustained emptiness](/docs/changelog/2026-07-09#fix-0709-17-the-empty-queue-hint-now-appears-after-sustained-emptiness)

## July 8, 2026

- [FIX-0708-1: GET /v1/doc-templates and POST /search now honour order and offset](/docs/changelog/2026-07-08#fix-0708-1-get-v1-doc-templates-and-post-search-now-honour-order-and-offset)
- [NEW-0708-2: GET /v1/apps/:id/sources — new linkedServerSources field](/docs/changelog/2026-07-08#new-0708-2-get-v1-apps-id-sources-new-linkedserversources-field)
- [NEW-0708-3: preemptible field on the server plans list response](/docs/changelog/2026-07-08#new-0708-3-preemptible-field-on-the-server-plans-list-response)
- [NEW-0708-4: GET /v1/models/:id now reports a retired model's successor price and a replaced_by field](/docs/changelog/2026-07-08#new-0708-4-get-v1-models-id-now-reports-a-retired-model-s-successor-price-and-a-replaced_by-field)
- [FIX-0708-5: list auto-pagination preserves row order for limits above 550](/docs/changelog/2026-07-08#fix-0708-5-list-auto-pagination-preserves-row-order-for-limits-above-550)
- [FIX-0708-6: auto-pagination no longer silently drops a page when a batch sub-request fails](/docs/changelog/2026-07-08#fix-0708-6-auto-pagination-no-longer-silently-drops-a-page-when-a-batch-sub-request-fails)
- [BC-0708-7: structured output: a truncated or empty result now returns 422 instead of an empty 200](/docs/changelog/2026-07-08#bc-0708-7-structured-output-a-truncated-or-empty-result-now-returns-422-instead-of-an-empty-200)

## July 7, 2026

- [FIX-0707-1: smart-processes: linkedUserFields accepts Y/N and boolean values](/docs/changelog/2026-07-07#fix-0707-1-smart-processes-linkeduserfields-accepts-y-n-and-boolean-values)
- [BC-0707-2: Order-card nested fields normalized](/docs/changelog/2026-07-07#bc-0707-2-order-card-nested-fields-normalized)
- [FIX-0707-3: The /v1/openapi.json spec now matches actual runtime](/docs/changelog/2026-07-07#fix-0707-3-the-v1-openapi-json-spec-now-matches-actual-runtime)
- [BC-0707-4: /search: auto-windowed search now returns the real Bitrix24 error on total failure](/docs/changelog/2026-07-07#bc-0707-4-search-auto-windowed-search-now-returns-the-real-bitrix24-error-on-total-failure)
- [FIX-0707-5: lists on an account without the module return 409 consistently, not 429](/docs/changelog/2026-07-07#fix-0707-5-lists-on-an-account-without-the-module-return-409-consistently-not-429)
- [NEW-0707-6: error.hint on the 400 for a server create missing source and provider/plan/region](/docs/changelog/2026-07-07#new-0707-6-error-hint-on-the-400-for-a-server-create-missing-source-and-provider-plan-region)
- [FIX-0707-7: Galaxy deploy checklist in /v1/me now matches the actual contract](/docs/changelog/2026-07-07#fix-0707-7-galaxy-deploy-checklist-in-v1-me-now-matches-the-actual-contract)
- [NEW-0707-8: Company AI quota is available via the API](/docs/changelog/2026-07-07#new-0707-8-company-ai-quota-is-available-via-the-api)

## July 6, 2026

- [NEW-0706-1: pricing.perCall and pricing.perMinute fields in the model catalog](/docs/changelog/2026-07-06#new-0706-1-pricing-percall-and-pricing-perminute-fields-in-the-model-catalog)
- [NEW-0706-2: New 402 error code ai_quota_exhausted on AI endpoints](/docs/changelog/2026-07-06#new-0706-2-new-402-error-code-ai_quota_exhausted-on-ai-endpoints)
- [FIX-0706-3: Over-quota AI usage is charged at the model's base catalog price](/docs/changelog/2026-07-06#fix-0706-3-over-quota-ai-usage-is-charged-at-the-model-s-base-catalog-price)
- [NEW-0706-4: The bitrix/embeddings model is available in the API](/docs/changelog/2026-07-06#new-0706-4-the-bitrix-embeddings-model-is-available-in-the-api)
- [FIX-0706-5: Deploy reports an honest error when the new build did not bind the port](/docs/changelog/2026-07-06#fix-0706-5-deploy-reports-an-honest-error-when-the-new-build-did-not-bind-the-port)
- [NEW-0706-6: filter: $nin (NOT IN) operator to exclude a set of values](/docs/changelog/2026-07-06#new-0706-6-filter-nin-not-in-operator-to-exclude-a-set-of-values)
- [BC-0706-7: dedicated error code for an oversized exec command](/docs/changelog/2026-07-06#bc-0706-7-dedicated-error-code-for-an-oversized-exec-command)
- [NEW-0706-8: hint in the exec timeout error](/docs/changelog/2026-07-06#new-0706-8-hint-in-the-exec-timeout-error)

## July 5, 2026

- [FIX-0705-1: Chat message send — a clear error when the text is empty](/docs/changelog/2026-07-05#fix-0705-1-chat-message-send-a-clear-error-when-the-text-is-empty)
- [FIX-0705-2: API key in the Authorization: Bearer header — a clear error instead of INVALID_SESSION](/docs/changelog/2026-07-05#fix-0705-2-api-key-in-the-authorization-bearer-header-a-clear-error-instead-of-invalid_session)
- [FIX-0705-3: multipart/create rejects XSS-prone content types for PUBLIC objects](/docs/changelog/2026-07-05#fix-0705-3-multipart-create-rejects-xss-prone-content-types-for-public-objects)
- [FIX-0705-4: binding a placement to a server's technical URL now routes through the platform handler](/docs/changelog/2026-07-05#fix-0705-4-binding-a-placement-to-a-server-s-technical-url-now-routes-through-the-platform-handler)
- [NEW-0705-5: New 402 error code ai_quota_exhausted on AI endpoints](/docs/changelog/2026-07-05#new-0705-5-new-402-error-code-ai_quota_exhausted-on-ai-endpoints)

## July 4, 2026

- [BC-0704-1: Overload rejections: 429/503 instead of 504](/docs/changelog/2026-07-04#bc-0704-1-overload-rejections-429-503-instead-of-504)
- [NEW-0704-2: New AI overload code: 429 ai_congested](/docs/changelog/2026-07-04#new-0704-2-new-ai-overload-code-429-ai_congested)
- [BC-0704-3: read-only (READONLY) keys can no longer write on hand-written endpoints](/docs/changelog/2026-07-04#bc-0704-3-read-only-readonly-keys-can-no-longer-write-on-hand-written-endpoints)
- [FIX-0704-4: galaxy app deploy now unpacks wrapped archives correctly and reports an empty source.content clearly](/docs/changelog/2026-07-04#fix-0704-4-galaxy-app-deploy-now-unpacks-wrapped-archives-correctly-and-reports-an-empty-source-content-clearly)

## July 3, 2026

- [FIX-0703-1: binding a placement via a developer key no longer returns 500 after an unpublish/republish cycle](/docs/changelog/2026-07-03#fix-0703-1-binding-a-placement-via-a-developer-key-no-longer-returns-500-after-an-unpublish-republish-cycle)
- [FIX-0703-2: /v1/sites — filtering by knowledge-base (KNOWLEDGE) and group (GROUP) type is no longer ignored](/docs/changelog/2026-07-03#fix-0703-2-v1-sites-filtering-by-knowledge-base-knowledge-and-group-group-type-is-no-longer-ignored)
- [FIX-0703-3: page and site aggregation returns count again](/docs/changelog/2026-07-03#fix-0703-3-page-and-site-aggregation-returns-count-again)
- [NEW-0703-4: Quality and timestamp parameters in audio transcription](/docs/changelog/2026-07-03#new-0703-4-quality-and-timestamp-parameters-in-audio-transcription)
- [FIX-0703-5: Apps created via the API now open correctly as placements](/docs/changelog/2026-07-03#fix-0703-5-apps-created-via-the-api-now-open-correctly-as-placements)
- [NEW-0703-6: key deletion is blocked while an agent or bot is linked](/docs/changelog/2026-07-03#new-0703-6-key-deletion-is-blocked-while-an-agent-or-bot-is-linked)
- [NEW-0703-7: Task change history and kanban stages](/docs/changelog/2026-07-03#new-0703-7-task-change-history-and-kanban-stages)
- [FIX-0703-8: bizproc-activities: clear error instead of "Wrong handler URL" when handler is missing](/docs/changelog/2026-07-03#fix-0703-8-bizproc-activities-clear-error-instead-of-wrong-handler-url-when-handler-is-missing)
- [FIX-0703-9: POST /v1/batch — update and delete responses are now normalized like create and get](/docs/changelog/2026-07-03#fix-0703-9-post-v1-batch-update-and-delete-responses-are-now-normalized-like-create-and-get)
- [FIX-0703-10: POST /v1/{entity}/batch — create, update and delete work again for CRM entities](/docs/changelog/2026-07-03#fix-0703-10-post-v1-entity-batch-create-update-and-delete-work-again-for-crm-entities)
- [FIX-0703-11: Omitting the model field in chat again falls back to the default model](/docs/changelog/2026-07-03#fix-0703-11-omitting-the-model-field-in-chat-again-falls-back-to-the-default-model)
- [FIX-0703-12: include of related entities again returns the entities themselves, not null](/docs/changelog/2026-07-03#fix-0703-12-include-of-related-entities-again-returns-the-entities-themselves-not-null)
- [FIX-0703-13: deal search rejects an unknown filter field instead of silently returning every row](/docs/changelog/2026-07-03#fix-0703-13-deal-search-rejects-an-unknown-filter-field-instead-of-silently-returning-every-row)
- [FIX-0703-14: Catalog: listing and search return a clean 400 when iblockId is missing](/docs/changelog/2026-07-03#fix-0703-14-catalog-listing-and-search-return-a-clean-400-when-iblockid-is-missing)
- [FIX-0703-15: Contacts — real date fields createdTime/updatedTime instead of phantom createdAt/updatedAt](/docs/changelog/2026-07-03#fix-0703-15-contacts-real-date-fields-createdtime-updatedtime-instead-of-phantom-createdat-updatedat)
- [FIX-0703-16: Open Channels config list now honors the limit parameter](/docs/changelog/2026-07-03#fix-0703-16-open-channels-config-list-now-honors-the-limit-parameter)

## July 2, 2026

- [NEW-0702-1: filter and sort tasks by real status (realStatus)](/docs/changelog/2026-07-02#new-0702-1-filter-and-sort-tasks-by-real-status-realstatus)
- [FIX-0702-2: creating an app reuses a failed slot with the same name](/docs/changelog/2026-07-02#fix-0702-2-creating-an-app-reuses-a-failed-slot-with-the-same-name)
- [FIX-0702-3: read-only keys can no longer write through /v1/bots](/docs/changelog/2026-07-02#fix-0702-3-read-only-keys-can-no-longer-write-through-v1-bots)
- [FIX-0702-4: folders include=storage now resolves](/docs/changelog/2026-07-02#fix-0702-4-folders-include-storage-now-resolves)
- [FIX-0702-5: PAGE_BACKGROUND_WORKER: bind no longer fails with 500](/docs/changelog/2026-07-02#fix-0702-5-page_background_worker-bind-no-longer-fails-with-500)
- [FIX-0702-6: POST /search reports missing required parameters with a clean error](/docs/changelog/2026-07-02#fix-0702-6-post-search-reports-missing-required-parameters-with-a-clean-error)
- [NEW-0702-7: Research price in the key self-description and the required top-up in the 402 body](/docs/changelog/2026-07-02#new-0702-7-research-price-in-the-key-self-description-and-the-required-top-up-in-the-402-body)
- [NEW-0702-8: POST /v1/triggers/fire supports invoices (SmartInvoice)](/docs/changelog/2026-07-02#new-0702-8-post-v1-triggers-fire-supports-invoices-smartinvoice)
- [NEW-0702-9: GET /v1/ai/usage returns transcribed audio duration per model](/docs/changelog/2026-07-02#new-0702-9-get-v1-ai-usage-returns-transcribed-audio-duration-per-model)
- [BC-0702-10: categories: code and isDefault marked read-only (were phantom-writable)](/docs/changelog/2026-07-02#bc-0702-10-categories-code-and-isdefault-marked-read-only-were-phantom-writable)
- [BC-0702-11: telephony-lines: crmAutoCreate normalized to boolean and now listed in /fields](/docs/changelog/2026-07-02#bc-0702-11-telephony-lines-crmautocreate-normalized-to-boolean-and-now-listed-in-fields)
- [NEW-0702-12: workgroups: aggregate operation and groupBy fields exposed](/docs/changelog/2026-07-02#new-0702-12-workgroups-aggregate-operation-and-groupby-fields-exposed)
- [FIX-0702-13: /fields: metadata completeness for doc-templates and bookings](/docs/changelog/2026-07-02#fix-0702-13-fields-metadata-completeness-for-doc-templates-and-bookings)
- [FIX-0702-14: orders: /fields synced with responses, pseudo-key order removed, companyId filterable](/docs/changelog/2026-07-02#fix-0702-14-orders-fields-synced-with-responses-pseudo-key-order-removed-companyid-filterable)
- [FIX-0702-15: users: limit > 50 now honored, meta.hasMore is accurate](/docs/changelog/2026-07-02#fix-0702-15-users-limit-50-now-honored-meta-hasmore-is-accurate)
- [FIX-0702-16: POST /v1/batch rejects disabled write operations and forwards required list parameters](/docs/changelog/2026-07-02#fix-0702-16-post-v1-batch-rejects-disabled-write-operations-and-forwards-required-list-parameters)
- [NEW-0702-17: GET /:entity/fields now returns field label and description](/docs/changelog/2026-07-02#new-0702-17-get-entity-fields-now-returns-field-label-and-description)
- [FIX-0702-18: a vibe:*-only key now issues instead of failing](/docs/changelog/2026-07-02#fix-0702-18-a-vibe-only-key-now-issues-instead-of-failing)
- [FIX-0702-19: /v1/storages pagination — limit over 50 returns all records, meta.hasMore is correct](/docs/changelog/2026-07-02#fix-0702-19-v1-storages-pagination-limit-over-50-returns-all-records-meta-hasmore-is-correct)
- [FIX-0702-20: infra: Cyrillic in displayName on application create](/docs/changelog/2026-07-02#fix-0702-20-infra-cyrillic-in-displayname-on-application-create)
- [FIX-0702-21: items: filtering by parentId<N> relation fields](/docs/changelog/2026-07-02#fix-0702-21-items-filtering-by-parentid-n-relation-fields)
- [FIX-0702-22: smart processes: enumeration values and the userfield display name now persist](/docs/changelog/2026-07-02#fix-0702-22-smart-processes-enumeration-values-and-the-userfield-display-name-now-persist)
- [FIX-0702-23: req-family: address and preset-field /fields now return camelCase keys](/docs/changelog/2026-07-02#fix-0702-23-req-family-address-and-preset-field-fields-now-return-camelcase-keys)

## July 1, 2026

- [FIX-0701-1: Disk file upload accepts files larger than 1 MB](/docs/changelog/2026-07-01#fix-0701-1-disk-file-upload-accepts-files-larger-than-1-mb)
- [NEW-0701-2: server app icon: SVG upload, anonymous serve, favicon](/docs/changelog/2026-07-01#new-0701-2-server-app-icon-svg-upload-anonymous-serve-favicon)
- [NEW-0701-3: The current-user profile reports administrator rights](/docs/changelog/2026-07-01#new-0701-3-the-current-user-profile-reports-administrator-rights)
- [NEW-0701-4: Extended static field contract in /v1/guide and a schema-discovery pointer in /v1/me](/docs/changelog/2026-07-01#new-0701-4-extended-static-field-contract-in-v1-guide-and-a-schema-discovery-pointer-in-v1-me)
- [BC-0701-5: categoryId in the posts response is now an array of numbers](/docs/changelog/2026-07-01#bc-0701-5-categoryid-in-the-posts-response-is-now-an-array-of-numbers)
- [FIX-0701-6: unified token and scope error codes across the Disk section](/docs/changelog/2026-07-01#fix-0701-6-unified-token-and-scope-error-codes-across-the-disk-section)
- [FIX-0701-7: CALL_CARD placement removed from the allowed list](/docs/changelog/2026-07-01#fix-0701-7-call_card-placement-removed-from-the-allowed-list)
- [FIX-0701-8: workday open/close/pause: the userId field is now applied](/docs/changelog/2026-07-01#fix-0701-8-workday-open-close-pause-the-userid-field-is-now-applied)
