Skip to content

List journal entries

Request

Purpose

Returns a page of journal entries visible to the caller. Supports filtering, sorting, field selection and page-based pagination.

When to use

  • Build a work list or dashboard of entries, for example all New entries for this period or everything waiting for approval.
  • Reconcile during close: find entries by status, category, creator or date and page through the results.
  • Use POST /journal-entries/query instead when the filter is long or needs several values in an IN list.

Notes

  • periodId and reversalPeriodId in list results contain the period name (for example SEP-2026), and filters on them compare against the name: filter=periodId.EQ:SEP-2026.
  • With fields, date-time properties are returned as epoch milliseconds instead of formatted strings.
  • fields names must match the response property names, so use exRateType (not exchangeRateType) in fields, while filter and sort use exchangeRateType.
  • Multi-value IN lists: when the request has only one filter parameter, commas inside its value are treated as list separators. To filter on several values reliably, add a second filter parameter or use POST /journal-entries/query.
Security
OneIdOAuth
Query
filterArray of strings

Filter clause in the form field.OPERATOR:value. Repeat the parameter to combine clauses with AND. Operators: EQ (equals), NE (not equals), LT, GT, LE, GE (comparisons for numbers and dates), SW (starts with) and IN (any of a list: field.IN:[v1,v2]). Values are not quoted. Allowed fields for journal entries: approverName, categoryCode, createdBy, createdDate, description, exchangeRateType, functionalCurrency, hashTotal, id, name, periodId, reversalPeriodId, reversalStatus, sobId, sobName, status, updatedBy, updatedDate. Unknown fields return 400 INVALID_VALUE.

Example:filter=status.EQ:New
sortArray of strings

Sort clause field.ASC or field.DESC. Only the first sort clause is applied. Uses the same field names as filter.

Example:sort=createdDate.DESC
fieldsArray of strings

Comma-separated list of properties to return for each record (the id property is always returned). Names must match the response property names exactly. When supplied, each record contains only these properties. Unknown names return 400 INVALID_VALUE.

Example:fields=name&fields=status
expandArray of strings

Reserved for future use; currently ignored.

pageSizeinteger, (int32)

Number of records per page. Defaults to 20. Values above 40 are reduced to 40.

Default:20
Example:pageSize=20
cursorstring

Page to return. Use the 1-based page number (1, 2, ...). Defaults to the first page. A non-numeric or non-positive value returns 400 INVALID_VALUE.

Example:cursor=2
cURL
curl -i -X GET \
  'https://one.zuora.com/revenue/services/v1/journal-entries?filter=status.EQ%3ANew&sort=createdDate.DESC&fields=name%2Cstatus&expand=string&pageSize=20&cursor=2' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Page of journal entries

Headers
traceIdstring

Identifier of the request. Quote it when you contact Zuora Support.

Bodyapplication/json
pageNumberinteger or null, (int32)

1-based number of the page returned.

Example:1
pageSizeinteger or null, (int32)

Maximum number of records per page (capped at 40).

Example:20
totalRecordsinteger or null, (int64)

Total number of records that match the query across all pages.

Example:1
resultArray of objects or null(JournalEntryListItem)

Records on this page.

Response
{ "pageNumber": 1, "pageSize": 20, "totalRecords": 2, "result": [ { … }, { … } ] }