Get Journal Detail (V2)
GET/api/xero/v2/journals/:id
Detail view of a single Xero general-ledger journal, grouped by journal_number.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Returns the journal header (number, Xero journal_id, date, source type/id, integration instance), every flattened GL line of that journal (including account_local_id for deep-linking each line's account), and computed totals (line_count, total_debit, total_credit, net, tax, gross, is_balanced).
Path param: journalNumber (integer) — the Xero journal number.
Query param: integration_instance_id (integer, optional) — scope to a single connection. journal_number is only unique per connection, so pass this when more than one Xero connection exists.
Authentication: Requires Bearer token.
net_amount is signed: positive = debit, negative = credit. total_debit / total_credit are the absolute sums of the positive / negative net_amounts; is_balanced is true when they're equal.
404 'Journal not found.' when no lines match the journal number (and instance, if supplied).
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
Response Headers
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.