# Change history: Batch API

[← Changelog](/docs/changelog). Entries: 99.

- 2026-10-01 [BC-1001-14: a multifield row with an id is refused on every write door](/docs/changelog/2026-10-01#bc-1001-14-a-multifield-row-with-an-id-is-refused-on-every-write-door)
- 2026-09-29 [BC-0929-2: employee and requisite sorting now orders by identifier](/docs/changelog/2026-09-29#bc-0929-2-employee-and-requisite-sorting-now-orders-by-identifier)
- 2026-09-28 [FIX-0928-13: business process templates, activities and automation rules on an account without the module answer 409 BIZPROC_MODULE_NOT_ENABLED](/docs/changelog/2026-09-28#fix-0928-13-business-process-templates-activities-and-automation-rules-on-an-account-without-the-module-answer-409-bizproc_module_not_enabled)
- 2026-09-25 [FIX-0925-16: a dropped connection to Bitrix24 answers 502 BITRIX_UNAVAILABLE](/docs/changelog/2026-09-25#fix-0925-16-a-dropped-connection-to-bitrix24-answers-502-bitrix_unavailable)
- 2026-09-24 [FIX-0924-18: a file in a list element property is no longer capped at 1 MB](/docs/changelog/2026-09-24#fix-0924-18-a-file-in-a-list-element-property-is-no-longer-capped-at-1-mb)
- 2026-09-22 [BC-0922-1: single-entity batch paginates: a sub-call offset is finally read](/docs/changelog/2026-09-22#bc-0922-1-single-entity-batch-paginates-a-sub-call-offset-is-finally-read)
- 2026-09-21 [FIX-0921-1: the mailbox batch example now shows a sub-call](/docs/changelog/2026-09-21#fix-0921-1-the-mailbox-batch-example-now-shows-a-sub-call)
- 2026-09-21 [BC-0921-7: A field the entity description does not declare is checked on write by its Bitrix24 type](/docs/changelog/2026-09-21#bc-0921-7-a-field-the-entity-description-does-not-declare-is-checked-on-write-by-its-bitrix24-type)
- 2026-09-21 [BC-0921-8: the contact and deal schemas are completed: twelve response fields declared read-only, thirteen service and empty keys removed](/docs/changelog/2026-09-21#bc-0921-8-the-contact-and-deal-schemas-are-completed-twelve-response-fields-declared-read-only-thirteen-service-and-empty-keys-removed)
- 2026-09-20 [BC-0920-7: batch writes and import no longer answer with success when Bitrix24 did not apply the stage or the manual amount](/docs/changelog/2026-09-20#bc-0920-7-batch-writes-and-import-no-longer-answer-with-success-when-bitrix24-did-not-apply-the-stage-or-the-manual-amount)
- 2026-09-18 [FIX-0918-1: quote filter and sort by the not-returned contacts field answer with the platform's refusal, not a Bitrix24 error](/docs/changelog/2026-09-18#fix-0918-1-quote-filter-and-sort-by-the-not-returned-contacts-field-answer-with-the-platform-s-refusal-not-a-bitrix24-error)
- 2026-09-17 [FIX-0917-8: creating a folder through the global POST /v1/batch is no longer rejected by Bitrix24](/docs/changelog/2026-09-17#fix-0917-8-creating-a-folder-through-the-global-post-v1-batch-is-no-longer-rejected-by-bitrix24)
- 2026-09-17 [BC-0917-18: the invoice schema is completed: eleven response fields declared, seven of them read-only, contacts marked as not returned](/docs/changelog/2026-09-17#bc-0917-18-the-invoice-schema-is-completed-eleven-response-fields-declared-seven-of-them-read-only-contacts-marked-as-not-returned)
- 2026-09-17 [BC-0917-21: contact and deal responses drop the Bitrix24 search-index service string](/docs/changelog/2026-09-17#bc-0917-21-contact-and-deal-responses-drop-the-bitrix24-search-index-service-string)
- 2026-09-17 [FIX-0917-22: smart-processes batch updates use the documented identifier](/docs/changelog/2026-09-17#fix-0917-22-smart-processes-batch-updates-use-the-documented-identifier)
- 2026-09-17 [BC-0917-25: the seven client-requisite fields of a quote are returned again and declared read-only](/docs/changelog/2026-09-17#bc-0917-25-the-seven-client-requisite-fields-of-a-quote-are-returned-again-and-declared-read-only)
- 2026-09-14 [FIX-0914-3: updating and deleting a smart process answer the Bitrix24 refusal code, not an internal error](/docs/changelog/2026-09-14#fix-0914-3-updating-and-deleting-a-smart-process-answer-the-bitrix24-refusal-code-not-an-internal-error)
- 2026-09-14 [FIX-0914-20: smart-process custom fields answer the Bitrix24 refusal code, not "not found"](/docs/changelog/2026-09-14#fix-0914-20-smart-process-custom-fields-answer-the-bitrix24-refusal-code-not-not-found)
- 2026-09-14 [BC-0914-21: the quote response drops Bitrix24 service fields, the contacts field is marked as not returned](/docs/changelog/2026-09-14#bc-0914-21-the-quote-response-drops-bitrix24-service-fields-the-contacts-field-is-marked-as-not-returned)
- 2026-09-14 [FIX-0914-23: rate limit descriptions state the platform-wide cap and point at the header with the effective value](/docs/changelog/2026-09-14#fix-0914-23-rate-limit-descriptions-state-the-platform-wide-cap-and-point-at-the-header-with-the-effective-value)
- 2026-09-13 [FIX-0913-1: the API description now names the refusals shared by every operation](/docs/changelog/2026-09-13#fix-0913-1-the-api-description-now-names-the-refusals-shared-by-every-operation)
- 2026-09-13 [FIX-0913-5: the batch call answers 429 ERROR_LOOP_DETECTED instead of 500 when the platform paused it after a series of refusals](/docs/changelog/2026-09-13#fix-0913-5-the-batch-call-answers-429-error_loop_detected-instead-of-500-when-the-platform-paused-it-after-a-series-of-refusals)
- 2026-09-11 [FIX-0911-1: the OpenAPI spec's scope slice no longer pulls in unrelated hand-written sections](/docs/changelog/2026-09-11#fix-0911-1-the-openapi-spec-s-scope-slice-no-longer-pulls-in-unrelated-hand-written-sections)
- 2026-09-11 [FIX-0911-4: Batch calls preserve selected fields](/docs/changelog/2026-09-11#fix-0911-4-batch-calls-preserve-selected-fields)
- 2026-09-11 [BC-0911-9: the tax amount on deals and quotes is now read-only](/docs/changelog/2026-09-11#bc-0911-9-the-tax-amount-on-deals-and-quotes-is-now-read-only)
- 2026-09-10 [BC-0910-9: a Bitrix24 credential refusal now arrives as 401, not 422](/docs/changelog/2026-09-10#bc-0910-9-a-bitrix24-credential-refusal-now-arrives-as-401-not-422)
- 2026-09-10 [FIX-0910-13: two spellings of one filter field no longer drop a condition in silence](/docs/changelog/2026-09-10#fix-0910-13-two-spellings-of-one-filter-field-no-longer-drop-a-condition-in-silence)
- 2026-09-09 [BC-0909-4: phantom contacts field removed from companies, leads, and deals](/docs/changelog/2026-09-09#bc-0909-4-phantom-contacts-field-removed-from-companies-leads-and-deals)
- 2026-09-09 [FIX-0909-8: the spec declares the 429 refusal of endpoints that carry their own rate limit](/docs/changelog/2026-09-09#fix-0909-8-the-spec-declares-the-429-refusal-of-endpoints-that-carry-their-own-rate-limit)
- 2026-09-08 [BC-0908-8: a payment currency that disagrees with the order is no longer swapped silently](/docs/changelog/2026-09-08#bc-0908-8-a-payment-currency-that-disagrees-with-the-order-is-no-longer-swapped-silently)
- 2026-09-07 [FIX-0907-3: fixed pagination for business process activity and automation rule lists](/docs/changelog/2026-09-07#fix-0907-3-fixed-pagination-for-business-process-activity-and-automation-rule-lists)
- 2026-09-07 [BC-0907-8: companies field removed from the contacts API](/docs/changelog/2026-09-07#bc-0907-8-companies-field-removed-from-the-contacts-api)
- 2026-09-07 [FIX-0907-16: an absent record answers 404 for warehouses, catalogs, order statuses, basket items and smart processes](/docs/changelog/2026-09-07#fix-0907-16-an-absent-record-answers-404-for-warehouses-catalogs-order-statuses-basket-items-and-smart-processes)
- 2026-09-04 [FIX-0904-8: batch currencies sub-call no longer returns meta.total 0 next to a non-empty data](/docs/changelog/2026-09-04#fix-0904-8-batch-currencies-sub-call-no-longer-returns-meta-total-0-next-to-a-non-empty-data)
- 2026-09-04 [BC-0904-10: offset in the statuses and deal-categories references works at any depth](/docs/changelog/2026-09-04#bc-0904-10-offset-in-the-statuses-and-deal-categories-references-works-at-any-depth)
- 2026-09-04 [BC-0904-13: Entity read calls now have a per-account rate limit](/docs/changelog/2026-09-04#bc-0904-13-entity-read-calls-now-have-a-per-account-rate-limit)
- 2026-09-03 [FIX-0903-10: one request no longer pauses a Bitrix24 method with its own sub-calls](/docs/changelog/2026-09-03#fix-0903-10-one-request-no-longer-pauses-a-bitrix24-method-with-its-own-sub-calls)
- 2026-09-03 [NEW-0903-12: a command that removes an employee photo](/docs/changelog/2026-09-03#new-0903-12-a-command-that-removes-an-employee-photo)
- 2026-09-03 [BC-0903-17: currency sorting rejects a field Bitrix24 cannot sort by](/docs/changelog/2026-09-03#bc-0903-17-currency-sorting-rejects-a-field-bitrix24-cannot-sort-by)
- 2026-09-01 [BC-0901-2: an empty employee photo is refused on update](/docs/changelog/2026-09-01#bc-0901-2-an-empty-employee-photo-is-refused-on-update)
- 2026-09-01 [FIX-0901-5: the 401 TOKEN_MISSING error now names the reason on every V1 route](/docs/changelog/2026-09-01#fix-0901-5-the-401-token_missing-error-now-names-the-reason-on-every-v1-route)
- 2026-08-31 [FIX-0831-6: Batch create of telephony lines returns the addressable number in results[].id](/docs/changelog/2026-08-31#fix-0831-6-batch-create-of-telephony-lines-returns-the-addressable-number-in-results-id)
- 2026-08-29 [FIX-0829-4: mailbox and org-structure node list calls work in the batch APIs](/docs/changelog/2026-08-29#fix-0829-4-mailbox-and-org-structure-node-list-calls-work-in-the-batch-apis)
- 2026-08-28 [FIX-0828-15: a pending-deletion owner's key no longer calls Bitrix24 methods through V1](/docs/changelog/2026-08-28#fix-0828-15-a-pending-deletion-owner-s-key-no-longer-calls-bitrix24-methods-through-v1)
- 2026-08-27 [FIX-0827-7: contact select accepts typed email addresses again](/docs/changelog/2026-08-27#fix-0827-7-contact-select-accepts-typed-email-addresses-again)
- 2026-08-27 [FIX-0827-16: entity filters are no longer lost on list calls](/docs/changelog/2026-08-27#fix-0827-16-entity-filters-are-no-longer-lost-on-list-calls)
- 2026-08-25 [BC-0825-2: a read-only key no longer writes on platform endpoints](/docs/changelog/2026-08-25#bc-0825-2-a-read-only-key-no-longer-writes-on-platform-endpoints)
- 2026-08-24 [NEW-0824-12: calendar events can be linked to CRM elements](/docs/changelog/2026-08-24#new-0824-12-calendar-events-can-be-linked-to-crm-elements)
- 2026-08-21 [BC-0821-6: a structured value in a scalar field is refused instead of silently lost](/docs/changelog/2026-08-21#bc-0821-6-a-structured-value-in-a-scalar-field-is-refused-instead-of-silently-lost)
- 2026-08-21 [BC-0821-9: the per-entity batch now explains what it did with select](/docs/changelog/2026-08-21#bc-0821-9-the-per-entity-batch-now-explains-what-it-did-with-select)
- 2026-08-20 [FIX-0820-6: the tasks permission now works on every task operation, no matter how the key was issued](/docs/changelog/2026-08-20#fix-0820-6-the-tasks-permission-now-works-on-every-task-operation-no-matter-how-the-key-was-issued)
- 2026-08-18 [NEW-0818-3: workgroup roster with member roles](/docs/changelog/2026-08-18#new-0818-3-workgroup-roster-with-member-roles)
- 2026-08-14 [FIX-0814-6: a fractional or malformed path id no longer returns a DIFFERENT record](/docs/changelog/2026-08-14#fix-0814-6-a-fractional-or-malformed-path-id-no-longer-returns-a-different-record)
- 2026-08-10 [BC-0810-2: a filter error in POST /v1/{entity}/batch is now a per-sub-call error, not a whole-request one](/docs/changelog/2026-08-10#bc-0810-2-a-filter-error-in-post-v1-entity-batch-is-now-a-per-sub-call-error-not-a-whole-request-one)
- 2026-08-10 [BC-0810-3: batch reads no longer bypass an operation the entity turns off](/docs/changelog/2026-08-10#bc-0810-3-batch-reads-no-longer-bypass-an-operation-the-entity-turns-off)
- 2026-08-09 [BC-0809-1: meta.total is no longer returned by default in lists](/docs/changelog/2026-08-09#bc-0809-1-meta-total-is-no-longer-returned-by-default-in-lists)
- 2026-08-07 [FIX-0807-14: updating an order no longer loses the amount, the mark, and its reason silently](/docs/changelog/2026-08-07#fix-0807-14-updating-an-order-no-longer-loses-the-amount-the-mark-and-its-reason-silently)
- 2026-08-06 [FIX-0806-4: the task service fields are accepted on writes — exactly as Bitrix24 itself accepts them](/docs/changelog/2026-08-06#fix-0806-4-the-task-service-fields-are-accepted-on-writes-exactly-as-bitrix24-itself-accepts-them)
- 2026-08-05 [FIX-0805-11: a client on a smart process item is written, and a disabled client block answers with a refusal instead of a false success](/docs/changelog/2026-08-05#fix-0805-11-a-client-on-a-smart-process-item-is-written-and-a-disabled-client-block-answers-with-a-refusal-instead-of-a-false-success)
- 2026-08-05 [FIX-0805-23: a personal key with no Bitrix24 webhook now says what it is missing](/docs/changelog/2026-08-05#fix-0805-23-a-personal-key-with-no-bitrix24-webhook-now-says-what-it-is-missing)
- 2026-08-04 [FIX-0804-8: workgroups: `limit > 50` and row-exact offset now work](/docs/changelog/2026-08-04#fix-0804-8-workgroups-limit-50-and-row-exact-offset-now-work)
- 2026-08-03 [FIX-0803-9: a value list in a statuses filter is rejected with a clean 400, not a 500](/docs/changelog/2026-08-03#fix-0803-9-a-value-list-in-a-statuses-filter-is-rejected-with-a-clean-400-not-a-500)
- 2026-08-02 [FIX-0802-1: a batch sub-call with its own start=-1 no longer returns a fabricated total](/docs/changelog/2026-08-02#fix-0802-1-a-batch-sub-call-with-its-own-start-1-no-longer-returns-a-fabricated-total)
- 2026-08-01 [FIX-0801-10: Bitrix24 error messages no longer carry HTML markup](/docs/changelog/2026-08-01#fix-0801-10-bitrix24-error-messages-no-longer-carry-html-markup)
- 2026-07-30 [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)
- 2026-07-30 [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)
- 2026-07-30 [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)
- 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](/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)
- 2026-07-30 [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)
- 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](/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)
- 2026-07-29 [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)
- 2026-07-29 [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)
- 2026-07-28 [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)
- 2026-07-28 [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)
- 2026-07-28 [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)
- 2026-07-28 [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)
- 2026-07-27 [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)
- 2026-07-24 [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)
- 2026-07-23 [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)
- 2026-07-23 [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)
- 2026-07-14 [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)
- 2026-07-14 [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)
- 2026-07-14 [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)
- 2026-07-14 [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)
- 2026-07-14 [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)
- 2026-07-14 [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)
- 2026-07-10 [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)
- 2026-07-09 [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)
- 2026-07-09 [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)
- 2026-07-08 [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)
- 2026-07-08 [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)
- 2026-07-03 [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)
- 2026-07-03 [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)
- 2026-07-02 [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)
- 2026-07-02 [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)
- 2026-06-30 [FIX-0630-6: a malformed FILES field on a timeline comment is now rejected with 400](/docs/changelog/2026-06-30#fix-0630-6-a-malformed-files-field-on-a-timeline-comment-is-now-rejected-with-400)
- 2026-06-29 [FIX-0629-4: A null field value via POST /v1/batch no longer writes the string "null" into the field](/docs/changelog/2026-06-29#fix-0629-4-a-null-field-value-via-post-v1-batch-no-longer-writes-the-string-null-into-the-field)
- 2026-06-25 [FIX-0625-2: offset inside /v1/batch sub-calls now pages through results](/docs/changelog/2026-06-25#fix-0625-2-offset-inside-v1-batch-sub-calls-now-pages-through-results)
- 2026-06-11 [NEW-0611-2: call rating on completion](/docs/changelog/2026-06-11#new-0611-2-call-rating-on-completion)
