---
title: "Create multiple accounts in a single request"
method: POST
path: "/v1/chart-of-accounts/batch"
tags: ["Accounts"]
---

# Create multiple accounts in a single request

`POST /v1/chart-of-accounts/batch`

Creates multiple bookkeeping accounts in a single batch operation.
This endpoint validates each account in the batch and returns both successfully created accounts and failed items with their failure reasons.
Accounts that pass validation will be created, while invalid accounts will be returned in the failed list.

## Response `201`

Batch creation completed. Check the response for created and failed items.

- DataResponseBookkeepingAccountBatchCreateResponseV1
  - `data` BookkeepingAccountBatchCreateResponseV1, required — Response for batch account creation operation.
    - `created` BookkeepingAccountRestModelV1[], required — List of successfully created accounts.
      - `archived` boolean, required — Boolean flag used to determine if the account is archived.
      - `code` string, nullable — Account code or number used in the accounting system's chart of accounts.
      - `companyId` string, uuid, required — Pleo's internal identifier of the company the account is associated with.
      - `externalId` string, required — Unique external identifier of the account, assigned in the external ERP/accounting system. Can be the same as code if no other identifier is available.
      - `id` string, uuid, required — Pleo's internal identifier of the account.
      - `metadata` object, nullable — Place for API users to store flexible data.
      - `name` string, required — Name of the account.
      - `taxCodeExternalId` string, nullable — The identifier in **the target system** for the tax code the account is associated with.
    - `failed` BookkeepingAccountBatchFailedItemV1[], required — List of accounts that failed to be created, including the reasons for failure.
      - `reasons` string[], required — List of reasons why the account creation failed.
      - `request` BookkeepingAccountBatchRequestItemV1, required — List of bookkeeping accounts to be created. The number of accounts in the batch must be between 1 and 1000.
        - `archived` boolean, required — Boolean flag used to determine if the account is archived.
        - `code` string, nullable — Account code or number used in the accounting system's chart of accounts. Maximum length: 255 characters.
        - `externalId` string, required — Non empty unique external identifier of the account, assigned in the external ERP/accounting system. Can be the same as code if no other identifier is available. Maximum length: 255 characters.
        - `metadata` object, nullable — Place for API users to store flexible data.
        - `name` string, required — Name of the account. Maximum length: 255 characters.
        - `taxCodeExternalId` string, nullable — The identifier in **the target system** for the tax code the account is associated with. - This is NOT the tax percentage (e.g. 20%) - This is NOT the Pleo UUID of the tax code

## Other responses

- `400` — Bad request: for example, batch size outside allowed range, missing required fields or contains invalid input.

---

[API](https://skmtc.net/pleo/apis/gjoll-api.md) · [All operations](https://skmtc.net/pleo/apis/gjoll-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pleo/gjoll-api/revisions/c70cd21dc330/schema)
