# journal_detail

`POST /api/v1/queries/journal_detail`

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



## Request body

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

Example:

```json
{
  "id": "44444444-4444-4444-8444-444444444444"
}
```

## Response (200)

| Field | Type | Required | Description |
|---|---|---|---|
| `currency` | `Currency` | yes |  |
| `id` | string (uuid) | yes |  |
| `lines` | array of object | yes |  |
| `lines[].credit` | `Amount` | yes |  |
| `lines[].debit` | `Amount` | yes |  |
| `lines[].account_code` | string | no |  |
| `lines[].account_id` | string (uuid) | no |  |
| `lines[].dimensions` | object, nullable | no |  |
| `lines[].line_no` | integer | no |  |
| `lines[].memo` | string, nullable | no |  |
| `status` | string | yes |  |
| `timeline` | array of object | yes |  |
| `timeline[].at` | string (date-time) | yes |  |
| `timeline[].type` | string | yes |  |
| `timeline[].by` | string (uuid), nullable | no |  |
| `timeline[].status` | string, nullable | no |  |
| `actions` | array of `Action` | no |  |
| `description` | string, nullable | no |  |
| `evidence` | object, nullable | no |  |
| `posting_date` | string (date) | no |  |
| `proposal_kind` | string, nullable | no |  |
| `proposed_by` | object | no |  |
| `proposed_by.id` | string (uuid) | no |  |
| `proposed_by.kind` | string | no |  |
| `proposed_by.name` | string | no |  |
| `rationale` | string, nullable | no |  |
| `rejection_reason` | string, nullable | no |  |
| `review_note` | string, nullable | no |  |
| `submitted_at` | string (date-time), nullable | no |  |
| `total` | `Amount` | no |  |

## Shared types

Fields typed with one of these names refer to it.

- `Action` (object): One thing the caller may do next to a resource, filtered to what its own permissions and the resource's current state allow. A renderer draws its own control from `label` and `style`; it does not need to know the resource's status or the caller's role to decide whether to show it — an absent action means the caller may not take it right now.
- `Amount` (string): A monetary amount as a decimal string, fixed to the currency's scale — two fraction digits for most supported currencies, none for JPY, e.g. "1000.00" or "1000" for JPY. Never a JSON number. Report figures may be negative; a journal line's `debit` and `credit` are always non-negative, with "0.00" ("0" for JPY) on the side the line is not on.
- `Currency` (string): An ISO 4217 alphabetic currency code — a ledger's own functional currency. The supported set is additive, so do not treat it as closed.

## 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).
