---
title: "Update accounting accounts in bulk"
method: PATCH
path: "/accountingaccounts/{companyId}"
tags: ["AccountingAccounts"]
---

# Update accounting accounts in bulk

`PATCH /accountingaccounts/{companyId}`

Updates several accounting accounts in a single call, identified by `accountingCode`, following the same rules as the single update endpoint. Entries whose `accountingCode` does not match any existing account are silently skipped — the call returns `200` for the whole batch.

## Path parameters

- `companyId` string, required

## Request body

- BulkPatchAccountingsAccountsRequestSchema
  - `data` AuxBulkPatchAccountingsAccountsRequestSchema[], required — Accounting accounts to update, identified by `accountingCode`.
    - `active` boolean, nullable — Whether the accounting account is active.
    - `type` 'banks' | 'analytics' | 'accountings'
    - `accountingName` string, nullable — Display name of the accounting account.
    - `collective` boolean, nullable — Whether this is a collective (grouping) accounting account rather than an individual one.
    - `additionalInfo` object, nullable — Free-form key/value metadata to attach to the account. Sending an empty object leaves any previously stored metadata unchanged instead of clearing it.
    - `attributes` AttributeValueRequestACCOUNTSchema[], nullable — Custom attribute values to attach to the account. Entries with an empty or missing `customId` or `value` are silently discarded.
      - `customId` string, nullable — Custom ID of the attribute definition this value belongs to. Entries missing `customId` or `value` are silently discarded.
      - `value` string, nullable — Value assigned to the attribute.
      - `valueCustomId` string, nullable — Custom ID of the selected option, for list-type attributes.
    - `accountingCode` string, required — Accounting code of the account to update.

## Response `200`

Successful Response

- BulkUpsertAccountingsAccountsResponseSchema
  - `data` UpsertAccountingsAccountsResponseSchema[], required — Result of the bulk operation, one entry per account.
    - `id` string, required — Embat resource ID
    - `accountingCode` string, required — Client-provided accounting code.

## Other responses

- `401` — Unauthorized. The bearer token is missing, invalid or expired.
- `404` — Not found. The requested resource or `companyId` does not exist.
- `422` — Validation Error
- `500` — Unexpected error. Contact support if it persists.

---

[API](https://skmtc.net/embat/apis/embat-api.md) · [All operations](https://skmtc.net/embat/apis/embat-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/embat/embat-api/versions/36ca48bf4489/schema)
