> For the complete documentation index, see [llms.txt](https://docs.kick.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kick.co/api/api-reference/entities.md).

# Entities

List and create the entities of a workspace, and read, update, or delete a single entity.

An entity is one legal business inside a workspace, and a workspace can hold several. Listing and creation address the target workspace by its uuid, in the `workspaceId` query parameter for reads and in the body for creation. `bookkeepingStartDate` is the first day Kick keeps books for the entity.

Creating an entity also seeds its chart of accounts, and the optional `chartOfAccounts` field picks the setup. It takes an object with a `type`, not a bare string:

* `{ "type": "standard" }`, the default when the field is left out, seeds the full standard Kick chart of accounts.
* `{ "type": "custom" }` seeds only the accounts Kick automations require, such as clearing accounts and uncategorized income and expenses, and leaves the rest for you to create through [Chart of Accounts](/api/api-reference/chart-of-accounts.md).

A new entity keeps its books on a cash ledger. To post and report on an accrual basis as well, open the accrual ledger through [Ledgers](/api/api-reference/ledgers.md).

Updates are partial and cover `name` and `bookkeepingStartDate`, at least one of which has to be present. Moving `bookkeepingStartDate` regenerates the entity's journal entries, so it is refused with `400` once the books have been anchored: when accounts under the entity carry opening balances or bank reconciliations, or when the new date does not fall after the end of a completed accounting migration.

Deleting an entity is permanent and takes its books with it, including its financial accounts, transactions, and documents. To remove the whole client instead, delete the [workspace](/api/api-reference/workspaces.md).

## List entities

> Returns the entities of the workspace given by \`workspaceId\`. Results are paged with \`limit\`/\`offset\`.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities":{"get":{"description":"Returns the entities of the workspace given by `workspaceId`. Results are paged with `limit`/`offset`.","operationId":"entities.list","parameters":[{"in":"query","name":"limit","schema":{"default":100,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"nullable":true,"type":"integer"}},{"in":"query","name":"workspaceId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"properties":{"bookkeepingStartDate":{"description":"First day Kick keeps books for the entity, as YYYY-MM-DD.","type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"legalType":{"enum":["sole_proprietorship","smllc","mmllc","s_corp","partnership","c_corp","no_legal_entity"],"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"workspaceId":{"format":"uuid","type":"string"}},"required":["id","workspaceId","name","legalType","bookkeepingStartDate","createdAt"],"type":"object"},"type":"array"},"pagination":{"properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}},"required":["limit","offset","total"],"type":"object"}},"required":["data","pagination"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"List entities","tags":["entities"]}}}}
```

## Create an entity

> Creates an entity in the workspace given by \`workspaceId\`. \`bookkeepingStartDate\` is the first day Kick keeps books for the entity. \`chartOfAccounts\` selects the chart of accounts setup: \`standard\` (default) seeds the full standard Kick chart, \`custom\` seeds only the accounts Kick automations require and leaves the rest to be created manually.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities":{"post":{"description":"Creates an entity in the workspace given by `workspaceId`. `bookkeepingStartDate` is the first day Kick keeps books for the entity. `chartOfAccounts` selects the chart of accounts setup: `standard` (default) seeds the full standard Kick chart, `custom` seeds only the accounts Kick automations require and leaves the rest to be created manually.","operationId":"entities.create","parameters":[{"description":"A unique key that makes the request idempotent. Retrying with the same key within 24 hours replays the original response (marked with `Idempotent-Replayed: true`) instead of executing again.","in":"header","name":"Idempotency-Key","required":false,"schema":{"maxLength":255,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"bookkeepingStartDate":{"type":"string"},"chartOfAccounts":{"description":"Chart of accounts setup for the new entity. Defaults to `standard` when omitted.","discriminator":{"propertyName":"type"},"oneOf":[{"properties":{"type":{"description":"Seed the full standard Kick chart of accounts.","enum":["standard"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"type":{"description":"Seed only the accounts Kick automations require (clearing accounts, uncategorized income/expenses, etc.); all other accounts are created manually.","enum":["custom"],"type":"string"}},"required":["type"],"type":"object"}]},"legalType":{"enum":["sole_proprietorship","smllc","mmllc","s_corp","partnership","c_corp","no_legal_entity"],"type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"workspaceId":{"format":"uuid","type":"string"}},"required":["workspaceId","name","legalType","bookkeepingStartDate"],"type":"object"}}},"description":"Body"},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"entity":{"properties":{"bookkeepingStartDate":{"description":"First day Kick keeps books for the entity, as YYYY-MM-DD.","type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"legalType":{"enum":["sole_proprietorship","smllc","mmllc","s_corp","partnership","c_corp","no_legal_entity"],"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"workspaceId":{"format":"uuid","type":"string"}},"required":["id","workspaceId","name","legalType","bookkeepingStartDate","createdAt"],"type":"object"}},"required":["entity"],"type":"object"}}},"description":"201"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"409":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"409"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Create an entity","tags":["entities"]}}}}
```

## Retrieve an entity

> Returns a single entity. An entity outside the organization's book of business reads as not found.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities/{entityId}":{"get":{"description":"Returns a single entity. An entity outside the organization's book of business reads as not found.","operationId":"entities.get","parameters":[{"in":"path","name":"entityId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"entity":{"properties":{"bookkeepingStartDate":{"description":"First day Kick keeps books for the entity, as YYYY-MM-DD.","type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"legalType":{"enum":["sole_proprietorship","smllc","mmllc","s_corp","partnership","c_corp","no_legal_entity"],"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"workspaceId":{"format":"uuid","type":"string"}},"required":["id","workspaceId","name","legalType","bookkeepingStartDate","createdAt"],"type":"object"}},"required":["entity"],"type":"object"}}},"description":"200"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Retrieve an entity","tags":["entities"]}}}}
```

## Update an entity

> Updates the fields present in the body and leaves the others untouched. Changing \`bookkeepingStartDate\` regenerates the entity's journal entries; the change is rejected when accounts under the entity have opening balances or bank reconciliations, or when the new date falls inside a completed accounting migration period.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities/{entityId}":{"patch":{"description":"Updates the fields present in the body and leaves the others untouched. Changing `bookkeepingStartDate` regenerates the entity's journal entries; the change is rejected when accounts under the entity have opening balances or bank reconciliations, or when the new date falls inside a completed accounting migration period.","operationId":"entities.update","parameters":[{"in":"path","name":"entityId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"A unique key that makes the request idempotent. Retrying with the same key within 24 hours replays the original response (marked with `Idempotent-Replayed: true`) instead of executing again.","in":"header","name":"Idempotency-Key","required":false,"schema":{"maxLength":255,"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"bookkeepingStartDate":{"description":"First day Kick keeps books for the entity, as YYYY-MM-DD.","type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"}},"type":"object"}}},"description":"Body"},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"entity":{"properties":{"bookkeepingStartDate":{"description":"First day Kick keeps books for the entity, as YYYY-MM-DD.","type":"string"},"createdAt":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"legalType":{"enum":["sole_proprietorship","smllc","mmllc","s_corp","partnership","c_corp","no_legal_entity"],"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"workspaceId":{"format":"uuid","type":"string"}},"required":["id","workspaceId","name","legalType","bookkeepingStartDate","createdAt"],"type":"object"}},"required":["entity"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Update an entity","tags":["entities"]}}}}
```

## Delete an entity

> Permanently deletes an entity together with all of its financial accounts, transactions and documents. This cannot be undone.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities/{entityId}":{"delete":{"description":"Permanently deletes an entity together with all of its financial accounts, transactions and documents. This cannot be undone.","operationId":"entities.delete","parameters":[{"in":"path","name":"entityId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"A unique key that makes the request idempotent. Retrying with the same key within 24 hours replays the original response (marked with `Idempotent-Replayed: true`) instead of executing again.","in":"header","name":"Idempotency-Key","required":false,"schema":{"maxLength":255,"minLength":1,"type":"string"}}],"responses":{"200":{"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Delete an entity","tags":["entities"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kick.co/api/api-reference/entities.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
