---
title: "Open a ledger"
method: POST
path: "/platform/v1/entities/{entityId}/ledgers"
tags: ["ledgers"]
---

# Open a ledger

`POST /platform/v1/entities/{entityId}/ledgers`

Opens the entity's ledger for the given accounting basis and returns it. Kick backfills the ledger from the entity's existing bookkeeping, so postings made before the accrual ledger existed are reflected in it. The call is idempotent: an entity keeps one ledger per basis, and repeating it returns the existing ledger with `200` instead of creating another. Entities Kick does not keep books for (personal entities, and businesses with no legal type) are rejected with `400`.

## Path parameters

- `entityId` string, uuid, required

## Request body

- object
  - `basis` 'cash' | 'accruals', required — Accounting basis of the ledger to open. `accruals` opens the entity's accrual ledger; `cash` resolves to the cash ledger every entity already keeps.

## Response `200`

200

- object
  - `ledger` object, required
    - `basis` 'cash' | 'accruals', required
    - `createdAt` string, date-time, required
    - `id` string, uuid, required
    - `name` string, required

## Other responses

- `201` — 201
- `400` — 400
- `401` — 401
- `404` — 404
- `429` — 429

---

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