Skip to content

List layouts of a report

Request

Returns every layout of a report, sorted by layout name. Each layout includes its output columns (fields) and its filters with default values, required flags and allowed values.

Purpose: Choose the layoutId you will run and learn which filters you must or may supply, without a separate call per layout.

When to use: Before your first run of a report, or whenever a layout may have changed, to choose a layoutId and learn which filters are required and which values are allowed.

Notes:

  • If the report does not exist or has no layouts, the response is 200 with an empty layouts array and totalCount 0.
  • name is an exact, case-insensitive match on the layout name.

Request definition

ParameterInTypeRequiredDefaultDescription
reportIdpathintegerYesIdentifier of the report.
namequerystringNoReturn only the layout with this exact name (case-insensitive).
Accept-LanguageheaderstringNoOptional language for translated report names, labels and filter options, for example en or ja. Defaults to the user's profile language.
Zuora-Track-IdheaderstringNoOptional correlation identifier (up to 64 characters) that you choose. The Zuora One gateway records it; quote it to Zuora Support when you report a problem.
AuthorizationheaderstringYesBearer <access_token> (Zuora OneID OAuth).

Request body: none.

Response definition

HTTP statusContent typeResponse schema
200application/jsonLayoutList
400application/jsonSpringError
401application/jsonGatewayError
403application/jsonGatewayError
429application/jsonGatewayError
500application/jsonServiceError

LayoutList: Wrapper returned by the list-layouts operation.

FieldTypeRequiredDescription
layoutsarray of ReportLayoutNoLayouts of the report, sorted by layout name. Each layout includes its fields and filters.
layouts[].idintegerNoUnique identifier of the layout. Send it as layoutId when you run the report.
layouts[].reportIdintegerNoIdentifier of the report the layout belongs to.
layouts[].namestringNoLayout name.
layouts[].descriptionstringNoLayout description.
layouts[].filenamePrefixstringNoPrefix used for the generated output file name.
layouts[].createdBystringNoUser name that created the layout.
layouts[].createdAtstring (date-time)NoCreation date and time, formatted yyyy-MM-dd'T'HH:mm:ss.
layouts[].updatedBystringNoUser name that last changed the layout.
layouts[].updatedAtstring (date-time)NoLast change date and time, formatted yyyy-MM-dd'T'HH:mm:ss.
layouts[].fieldsarray of LayoutFieldNoOutput columns of the layout, in output order.
layouts[].fields[].idintegerNoUnique identifier of this column assignment within the layout.
layouts[].fields[].layoutIdintegerNoIdentifier of the layout the column belongs to.
layouts[].fields[].fieldIdintegerNoIdentifier of the underlying report field (column definition).
layouts[].fields[].seqintegerNoPosition of the column in the output file. Lower numbers appear further left.
layouts[].fields[].sortSeqintegerNoSort priority of the column. null when the layout does not sort by this column.
layouts[].fields[].fieldNamestringNoTechnical field name in lowerCamelCase. Use this value as fieldName when you filter a report run.
layouts[].fields[].fieldLabelstringNoColumn heading shown in the output file, translated to the caller's language when a translation exists.
layouts[].fields[].fieldTypestringNoDatabase data type of the column, for example VARCHAR2, NUMBER, DATE or DATE_TIME.
layouts[].filtersarray of LayoutFilterNoFilters defined on the layout, with required flags and allowed values.
layouts[].filters[].idintegerNoUnique identifier of the filter definition.
layouts[].filters[].layoutIdintegerNoIdentifier of the layout the filter belongs to.
layouts[].filters[].fieldIdintegerNoIdentifier of the report field the filter applies to.
layouts[].filters[].fieldNamestringNoTechnical field name in lowerCamelCase. Send this as fieldName in a run request to override the filter.
layouts[].filters[].fieldLabelstringNoDisplay label of the filter, translated when a translation exists.
layouts[].filters[].fieldTypestringNoDatabase data type of the filtered field, for example VARCHAR2, NUMBER, DATE or DATE_TIME.
layouts[].filters[].typestringNoHow the filter is presented and evaluated, for example LOV (pick from a list), RANGE (from/to) or EQUALS (single value).
layouts[].filters[].valueFromstringNoSaved default value, or the lower bound of a range filter.
layouts[].filters[].valueTostringNoSaved upper bound of a range filter. null for single-value filters.
layouts[].filters[].createdBystringNoUser name that created the filter.
layouts[].filters[].createdAtstring (date-time)NoCreation date and time, formatted yyyy-MM-dd'T'HH:mm:ss.
layouts[].filters[].updatedBystringNoUser name that last changed the filter.
layouts[].filters[].updatedAtstring (date-time)NoLast change date and time, formatted yyyy-MM-dd'T'HH:mm:ss.
layouts[].filters[].requiredbooleanNotrue when the layout requires a value for this filter before a run is accepted; null when the filter is optional.
layouts[].filters[].optionsarray of FilterOptionNoAllowed values for an LOV filter. Always an array; empty for other filter types or when no list is configured.
layouts[].filters[].options[].labelstringNoHuman-readable text of the option, already translated.
layouts[].filters[].options[].valuestringNoValue to send as the filter value when you select this option.
totalCountintegerNoNumber of layouts in layouts.

Error response schemas (GatewayError, ServiceError, SpringError, SimpleError, MissingFiltersError, RunStatusConflict, RiaError, SignedUrlError) are defined once under Error response schemas in the API overview and in components/schemas.

Response codes: 200, 400, 401, 403, 429, 500. Each response with a body includes worked examples; responses without a body say so.

Security
OneIdOAuth
Path
reportIdinteger, (int32)required

Identifier of the report.

Example:10021
Query
namestring

Return only the layout with this exact name (case-insensitive).

Example:name=Monthly Close - Summary
Headers
Accept-Languagestring

Optional language for translated report names, labels and filter options, for example en or ja. Defaults to the user's profile language.

Example:en
Zuora-Track-Idstring

Optional correlation identifier (up to 64 characters) that you choose. The Zuora One gateway records it; quote it to Zuora Support when you report a problem.

Example:close-run-2026-09-001
cURL
curl -i -X GET \
  'https://one.zuora.com/revenue/services/v1/reports/10021/layouts?name=Monthly%20Close%20-%20Summary' \
  -H 'Accept-Language: en' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Zuora-Track-Id: close-run-2026-09-001'

Responses

Success. The layouts of the report.

Bodyapplication/json
layoutsArray of objects(ReportLayout)

Layouts of the report, sorted by layout name. Each layout includes its fields and filters.

totalCountinteger, (int32)

Number of layouts in layouts.

Example:1
Response
{ "layouts": [ { … } ], "totalCount": 1 }