---
title: "Get an audit entry"
method: GET
path: "/v3/_/audit-entries/{sequence}"
tags: ["Audit"]
---

# Get an audit entry

`GET /v3/_/audit-entries/{sequence}`

## Request

- Base URL: `http://localhost:9000`
- URL: `http://localhost:9000/v3/_/audit-entries/{sequence}`
- Auth: one of:
  - HTTP bearer
  - none

Returns a single audit entry by its global sequence, with per-order
`items` populated (the list endpoint omits `items` for compactness).
Requires `ledger:ReadAudit` scope.

## Path parameters

- `sequence` integer, required

## Headers

- `X-Consistency` 'linearizable' | 'stale'

## Response `200`

The audit entry

- object
  - `data` AuditEntry: A single audit trail entry for a proposal (success or failure). Exactly one of `success` / `failure` is set. `items` is populated only by the single-entry lookup, not by the list endpoint.
    - `sequence` integer: Global audit sequence number
    - `timestamp` string, date-time: Apply timestamp (RFC3339)
    - `proposalId` integer: Identifier of the proposal that produced this entry
    - `success` AuditSuccess: The inclusive log sequence range created by a successful proposal.
      - `minLogSequence` integer
      - `maxLogSequence` integer
    - `failure` AuditFailure: Stable reason, subcode, and facts for a failed proposal. Presentation text is rendered when read and is not stored in the audit chain.
      - `reason` string: Typed error reason identifier (e.g. ERROR_REASON_INSUFFICIENT_FUNDS)
      - `code` string: Stable failure subcode
      - `facts` object: Validated facts used to render the failure
    - `orderCount` integer: Number of orders in the proposal
    - `items` AuditItem[]: Per-order detail lines. Populated by the single-entry lookup; empty on list.
      - `orderIndex` integer: Zero-based position of this order within the proposal
      - `serializedOrder` string: Hex-encoded deterministic serialized bytes of the order at apply time
      - `logSequence` integer: Sequence of the log produced by this order (0 for idempotent replay or failed proposals)
    - `ledgers` string[]: Distinct ledger names targeted by the proposal's orders
    - `hash` string: Hex-encoded batch integrity hash chaining audit entries
    - `hashVersion` integer: Hash algorithm version
    - `callerSnapshot` object: Admission-time auth snapshot (protobuf JSON); absent when auth is disabled or for system proposals
    - `idempotency` object: Batch identity / idempotency information (protobuf JSON)
    - `signature` object: Client signature over the ApplyBatch (protobuf JSON); absent for unsigned batches

## Other responses

- `400`: Bad request
- `401`: Authentication required (missing or invalid JWT token)
- `403`: Insufficient permissions (missing required scope)
- `404`: Not found
- `405`: Method not allowed
- `500`: Internal server error
- `503`: Service unavailable — the server cannot serve the request right now but an immediate retry can succeed. The `errorCode` field discriminates the cause: `NO_LEADER` (no elected Raft leader), `CACHE_HORIZON_EXCEEDED` (admission snapshot too old, retry against a fresh one), `UNAVAILABLE` (an internal forwarded stream was torn down mid-transfer), or the reason of any domain error of the unavailable kind (e.g. `INDEX_BUILDING`).

## Changes

- **2026-11-03** `f5e817eca038`: 1 info
  - api operation id `getAuditEntry` removed and replaced with `v3GetAuditEntry`
- **2026-10-14** `5e39ed0a6af9`: 2 warning, 2 info
  - removed the optional property `data/failure/context` from the response with the `200` status
  - removed the optional property `data/failure/message` from the response with the `200` status
  - added the optional property `data/failure/code` to the response with the `200` status
  - added the optional property `data/failure/facts` to the response with the `200` status
- **2026-10-08** `3da23d327316`: 2 info
  - added the media type `text/plain` for the response with the status `401`
  - added the media type `text/plain` for the response with the status `403`
- **2026-10-08** `b3ee1959d86a`: 1 info
  - added the new optional `header` request parameter `X-Consistency`
- **2026-09-30** `b747efd5cd77`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/formancehq/apis/ledger-api/changes/v3/_/audit-entries/:sequence/get.md)

---

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