# create_dimension_definition

`POST /api/v1/commands/create_dimension_definition`

Base URL: `https://boringbooks.io`.



## Request body

| Field | Type | Required | Description |
|---|---|---|---|
| `key` | string | yes | The dimension's name, unique within the ledger, with no leading or trailing spaces Min length: `1`. Max length: `255`. |
| `ledger_id` | string (uuid) | yes |  |
| `value_policy` | object, nullable | no | The values a line may carry for this dimension, as `{"values": ["sales", "ops"]}`. Omit it, or send `null`, to accept any value. |
| `value_policy.values` | array of string | yes | Distinct values with no leading or trailing spaces Min items: `1`. |

Example:

```json
{
  "key": "department",
  "ledger_id": "11111111-1111-4111-8111-111111111111"
}
```

## Response (200)

| Field | Type | Required | Description |
|---|---|---|---|
| `id` | string (uuid) | yes |  |
| `key` | string | yes |  |


## Errors

Every error response is a single `error` object with a closed `type` and a refining
`code`. The codes, and the conventions every operation shares, are in
[llms-full.txt](https://boringbooks.io/llms-full.txt).
