Reporting API overview

The Report endpoint is the core mechanism for retrieving data from Adobe Analytics 2.0 APIs. It enables you to generate fully customized reports by defining metrics, dimensions, date ranges, filters, and breakdowns in a single request body.

Use the Report endpoint when you need:

The Report endpoint is designed for flexibility and scalability, supporting both simple KPI queries and advanced analytical workflows.

For instructions on building specific types of API reports, see the following guides:

Creating API Reports

Most Adobe Analytics reports are generated using the POST method. This design allows you to submit a structured JSON payload that defines:

Using POST provides the flexibility required for complex analytical queries, including multi-level breakdowns, anomaly detection, and advanced filtering.

Exception: GET top items report

This endpoint uses the GET method and is designed specifically for retrieving top dimension items in a simplified format. It does not support the full report definition structure available through POST /reports.

Unless you are using the Top Items report, all report generation should use POST.

Report APIs provide data structures, not visualizations

When you design reports via the Report API, you interact with the data foundation used by Analysis Workspace or another intelligence tool. API structures do not specify the presentation layers built on top of the data. You will not see a visualization parameter type in the JSON request or response.

Using dimension in report payload requests

The dimension object member is not required in report request payloads. When no dimension is provided:

Example: Totals report (no dimension)

To retrieve only metric totals for a date range, omit the dimension property from the report request. The response will contain summaryData totals only and no rows.

Date-range field – supported formats

The dateRange field in globalFilters supports three formats:

  1. Absolute date range
  2. Date formula
  3. Mixed
data-variant=info
data-slots=text
The syntax for date range formatting is strict. Use the exact formula codes and ISO 8601 date format as shown below. Do not use angle brackets, quotes, or other escaping characters around formula values.

The following sections describe each format.

Absolute date range

In this format, the start and end date are specified in ISO 8601 format, separated by /. This format is supported for all date ranges, including metric level filters outside of a globalFilters array of objects.

Format:

<start_date>/<end_date>

Examples:

2024-01-01T00:00:00.000/2024-02-01T00:00:00.000
2024-01-01T00:00/2024-02-01T00:00

Date formula

This format includes a dynamic date range in a formula syntax. Both the start and end are expressed as formulas, separated by /. Formulas are evaluated relative to the report suite timezone (Analytics) or Data View timezone (Customer Journey Analytics). This format is only supported for fields within a globalFilters array of objects and is only available for ranked reports--not realtime reports.

Format:

<start_formula>/<end_formula>

Base Units

Code
Meaning
th
This hour
td
This day
tw
This week
tm
This month
tq
This quarter
ty
This year

Shift Modifiers

Append + or - followed by a number and a unit to shift the base, according to the following table:

Modifier
Meaning
+/-Nh
Hours
+/-Nd
Days
+/-Nw
Weeks
+/-Nm
Months
+/-Nq
Quarters
+/-Ny
Years

Examples

Formula
Meaning
th-24h/th
Last 24 hours
td-7d/td
Last 7 days
tm-1m/tm
Last month
tq-1q/tq
Last quarter
ty-1y/ty
Last year
td/td+1d
Today
tw/tw+1w
This week

Example description: td-7d/td means "7 days ago to today."

Mixed format

This format combines an absolute ISO 8601 date on one side with a formula on the other, separated by /. The formula side is evaluated dynamically; the absolute side is a fixed date. This format is only supported for fields within a globalFilters array of objects and is only available for ranked reports--not realtime reports.

Examples:

2024-01-01T00:00:00/th       (From Jan 1, 2024 to the current hour)
tm-1m/2024-06-01T00:00:00   (From the start of last month to June 1, 2024)

Timezone behavior in date ranges

Date ranges with formulas are evaluated in the configured timezone of the data source:

If no timezone is configured, the API returns a 400 status code error, such as:

Could not determine timezone for dataId=<dataId>

Date ranges for realtime reports

The date formula and mixed formats are not available for realtime reports. For realtime reports, use the existing dateRangeRelative field.