Query your Ring DAS campaign performance — interactively in the Reports Lens, or programmatically through the Reports API
Get your campaign performance data out of Ring DAS in two ways — both scoped to your network and using the same credentials as the rest of the platform:
- Reports Lens — an interactive, point-and-click explorer. No code.
- Reports API — JSON over HTTPS for dashboards, BI tools, notebooks, and ETL.
The Reports Lens and Reports API below are the current way to access analytics. The older asynchronous report-task workflow (report definitions →
task_id→ poll → download) is deprecated — see Legacy report tasks.
Reports Lens (interactive UI)
The Ring DAS Reports Lens is a web app for exploring your data without writing a single query.
Open it at: https://reports.das.ringpublishing.tech
Sign in with your Ring DAS account. Pick the metrics you care about (impressions, clicks, revenue, viewability…) and the dimensions to break them down by (line item, creative, deal, advertising product…), choose a date range, and the Lens renders tables and charts. Results can be exported to CSV.
Use the Lens for ad-hoc analysis; use the Reports API below when you need the same numbers inside your own systems.
Reports API (programmatic)
A single REST endpoint that returns campaign performance as JSON.
Base URL:
https://reports-api.das.ringpublishing.tech/{NETWORK}/v1
{NETWORK} is your numeric network id (for example 7012768).
| Endpoint | Method | Purpose |
|---|---|---|
/load | POST | Run a query and get the result rows |
/meta | GET | List the metrics and dimensions you can query |
Authentication
The Reports API uses the same header-based credentials as the ADP API. Add these headers to every request:
x-internal-auth-login: {CLIENT_LOGIN}
x-internal-auth-token: {CLIENT_TOKEN}
content-type: application/jsonRequest access from
[email protected]. The sameCLIENT_LOGIN/CLIENT_TOKENpair works across the ADP API and the Reports API. See Getting Started with ADP API for the full authentication walkthrough.
The very first request after a period of inactivity may return HTTP 504 while your session warms up. This is expected — simply retry, and subsequent requests are fast.
Example: impressions & clicks for a line item, per day
Ask for the daily impressions and clicks of a single line item over a week.
curl -X POST \
-H "x-internal-auth-login: $CLIENT_LOGIN" \
-H "x-internal-auth-token: $CLIENT_TOKEN" \
-H "content-type: application/json" \
"https://reports-api.das.ringpublishing.tech/7012768/v1/load" \
-d '{
"query": {
"measures": [
"campaign_overview.impressions",
"campaign_overview.clicks"
],
"dimensions": [
"campaign_overview.line_item_id"
],
"timeDimensions": [
{
"dimension": "campaign_overview.time",
"dateRange": ["2026-06-01", "2026-06-07"],
"granularity": "day"
}
],
"filters": [
{
"member": "campaign_overview.line_item_id",
"operator": "equals",
"values": ["980071"]
}
],
"timezone": "Europe/Warsaw"
}
}'Response:
{
"data": [
{
"campaign_overview.line_item_id": "980071",
"campaign_overview.time.day": "2026-06-01T00:00:00.000",
"campaign_overview.impressions": "124500",
"campaign_overview.clicks": "318"
},
{
"campaign_overview.line_item_id": "980071",
"campaign_overview.time.day": "2026-06-02T00:00:00.000",
"campaign_overview.impressions": "131980",
"campaign_overview.clicks": "341"
}
]
}Each object in data is one row. Measures and dimensions come back keyed by their full name; a day-granular time dimension also returns a …time.day field.
Every report query must include a
dateRange, and a single request may span at most 90 days. Out-of-range requests return a clear4xxmessage rather than an error page — pick a shorter range, or page through time for longer histories.
Building your own queries
A query body has four parts:
measures— what to count (e.g.campaign_overview.impressions,campaign_overview.clicks,campaign_overview.revenue).dimensions— how to break it down (e.g.campaign_overview.line_item_id,campaign_overview.creative_id).timeDimensions— the date range and bucketing (granularity:day,week,month…).filters— narrow the rows (operators:equals,notEquals,in,contains, …).
To discover exactly which metrics and dimensions are available to your network, call /meta:
curl -H "x-internal-auth-login: $CLIENT_LOGIN" \
-H "x-internal-auth-token: $CLIENT_TOKEN" \
"https://reports-api.das.ringpublishing.tech/7012768/v1/meta"The response lists every queryable measure and dimension, with human-readable titles and descriptions.
Legacy report tasks (deprecated)
The previous reporting workflow — pre-defined report definitions submitted as asynchronous tasks (generate_report → task_id → poll → download) — is deprecated. It still works for existing integrations but will not receive new features. New integrations should use the Reports API above.
See Legacy report tasks for the old workflow.
