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:
- Custom metric and dimension combinations
- Time-series analysis
- Filtered and segmented reporting
- Nested breakdowns
- Anomaly analysis
- Realtime reporting
- Programmatic report generation for dashboards or automation
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:
Reporting API first calls: Get a top items report and create a new report for pageviews, visits, and vistors.
Anomaly detection report: Identify statistically significant deviations in your data using anomaly detection.
Breakdown reports: Generate multi-level reports by breaking down dimension items into additional dimensions.
Date-trended basic report (KPI report): Create date-trended reports to track key performance indicators over time.
Date-trended advanced report: Create advanced date-trended API reports using date range comparisons and segments.
Debugger for Analysis Workspace: Use Oberon in Analysis Workspace to see XML and API calls with JSON debugger.
Realtime Reports: Generate low-latency reports for near-live activity monitoring.
Report search filters: Apply advanced filtering logic to refine report results.
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:
- The report suite (
rsid) - Global and metric-specific filters
- Dimensions and metrics
- Date ranges
- Sorting and pagination settings
- Breakdowns and nested queries
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:
- The request is effectively a Totals report.
- The response contains only
summaryDatawith totals for the requested metrics over the specified date range. - The
rowsarray will be absent or empty. No dimension breakdown will be provided in the respone body.
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:
- Absolute date range
- Date formula
- Mixed
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:
Copied to your clipboard<start_date>/<end_date>
Examples:
Copied to your clipboard2024-01-01T00:00:00.000/2024-02-01T00:00:00.0002024-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:
Copied to your clipboard<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:
Copied to your clipboard2024-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:
- Adobe Analytics: report suite timezone
- CJA: Data View timezone
If no timezone is configured, the API returns a 400 status code error, such as:
Copied to your clipboardCould 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.


