---
title: "Create an accounting category"
method: POST
path: "/accounting-categories"
tags: ["Accounting", "Accounting categories"]
---

# Create an accounting category

`POST /accounting-categories`

## Request

- Base URL: `https://b2b.revolut.com/api/1.0`
- URL: `https://b2b.revolut.com/api/1.0/accounting-categories`
- Auth: HTTP bearer

Add a new accounting category to the list of accounting categories that can be assigned to your financial records, such as expenses.

:::note
This operation is not supported for [externally managed accounting categories](https://developer.revolut.com/docs/guides/manage-accounts/accounting/manage-accounting-categories#externally-managed-settings).
:::

For more details, see the guides: [Manage accounting settings](https://developer.revolut.com/docs/guides/manage-accounts/accounting/manage-accounting-settings) and [Manage accounting categories](https://developer.revolut.com/docs/guides/manage-accounts/accounting/manage-accounting-categories).

## Request body

- CreateAccountingCategoryRequest: The accounting category to create.
  - `name` string, required: The full name for the accounting category.
  - `code` string, required: The code name for the accounting category.
  - `default_tax_rate_id` string, uuid: The ID of the default [tax rate](https://developer.revolut.com/docs/api/business#get-tax-rate) that should be applied to items in this accounting category unless overridden for a specific item.

## Response `201`

Resource created

On successful creation, the response returns only the ID of the new resource, even if the resource has more properties.
To get all details, use the returned resource ID with a GET request.

- ResourceCreatedResponse: Successfully created resource.
  - `id` string, uuid: The ID of the created resource.

## Other responses

- `400`: Bad Request Returned, for example, when a required parameter is missing or malformatted.
- `401`: Unauthorized – authentication credentials are missing or invalid Returned when the request was not fulfilled because authentication has failed or has not been provided.
- `403`: Action forbidden - insufficient permissions to perform this action Returned, for example, when you don't have permissions necessary to perform this action.
- `409`: Conflict Request conflicts with the current state of the resource. Returned, for example, when an accounting category with the provided name already exists.
- `422`: Unprocessable entity - accounting category cannot be created due to business rules Returned, for example, when you have an accounting software integration connected to your Revolut Business account, and accounting categories are managed by that integration. The request is well-formed and the server understands it, but the operation cannot be performed because the resource state doesn't permit it. Retrying the same request won't succeed.
- `429`: Too many requests Returned, for example, when the rate limit has been exceeded. If the response includes the `Retry-After` instruction, please respect it and refrain from earlier retry attempts.
- `500`: Internal server error An unexpected application error occurred.
- `503`: Service Unavailable The system is temporarily unavailable. If the response includes the `Retry-After` header instruction, please respect it and refrain from earlier retry attempts.
- `default`: Unexpected error

---

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