---
title: "Updates metadata for multiple accounts"
method: POST
path: "/accounts/metadata/bulk"
tags: ["Chart of Accounts"]
---

# Updates metadata for multiple accounts

`POST /accounts/metadata/bulk`

## Request

- Base URL: `https://api.rillet.com`
- URL: `https://api.rillet.com/accounts/metadata/bulk`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/rillet/apis/rillet-accounting-api/docs/accounts/metadata/bulk/post.ts> (a function with typed inputs; its response is checked against the schema)

Patches metadata on up to 1,000 accounts in one atomic request. Each account may receive different values. If an account is missing or any key or value is invalid, nothing is written for any account. Per account this behaves exactly like patch-account-metadata: keys omitted for that account are left unchanged; null, empty, and whitespace-only values clear that key.

## Request body

- BulkUpdateAccountMetadataRequest
  - `accounts` BulkAccountMetadataUpdate[], required
    - `account_id` string, uuid, required
    - `metadata` object, required: Partial update for this account. Omitted keys are left unchanged; null or empty values clear a key.

## Response `200`

OK

- BulkUpdateAccountMetadataResponse
  - `accounts` BulkAccountMetadataResult[], required
    - `account_id` string, uuid, required
    - `metadata` object, required

## Other responses

- `default`: Error

## Changes

- **2026-11-03** `c393d0102005`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rillet/apis/rillet-accounting-api/changes/accounts/metadata/bulk/post.md)

---

[API](https://skmtc.dev/rillet/apis/rillet-accounting-api.md) - [All operations](https://skmtc.dev/rillet/apis/rillet-accounting-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rillet/apis/rillet-accounting-api/revisions/c393d0102005?raw)
