List Batch Members
GET/api/ledger/batches/:batch/members
Paginated member documents of a batch — the A2X-style lineage view. Each member row carries:
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
member— the cross-link view-model for the member document (morph type + ID, friendly label/reference, link_type_label, the application UI link_route when a detail page exists)contribution— the member's debit/credit contribution inside this batch (its journal lines summed by direction, 4-decimal strings)added_at— when the document joined the batch
Authentication: Requires Bearer token.
Pagination: per_page default 10, clamped to max 100. Newest members first.
Returns 404 when the batch does not exist.
Advanced filters (filter_groups): base64-encoded JSON tree of AND/OR groups via GroupedFilterSupport.
Filterable columns: member_type (text operators); member_id, id (numeric operators); added_at (datetime operators). Unregistered columns are rejected with HTTP 400.
Search: filter[search] matches the member's morph type and (when numeric, # prefix allowed) the document id.
Sorts: id, member_id, member_type, added_at, member (alias of member_id), debit, credit, document_date (contribution sums via correlated subquery) — prefix with - for DESC; default -id.
Response field document_date: the member's accounting date (its entry's effective_at — the source document's date), distinct from added_at (when the membership row was created). Sortable via sort=document_date.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.