Skip to main content

Authentication and your first API request

Written by Dariy

The endpoint

GET https://app.statsdrone.com/user/reports

There is one endpoint. Which report you get is decided by the groupBy parameter, not by the path.

Authentication

Authentication is your API key, passed as the apiKey query parameter:

https://app.statsdrone.com/user/reports?apiKey=YOUR_API_KEY&...

There are no authentication headers, no OAuth flow, and no session. Because the key travels in the URL:

  • always call the feed over HTTPS — never plain HTTP;

  • be careful about where the full URL ends up — browser history, server access logs, shared dashboards, screenshots and support tickets all keep it;

  • if a key has been exposed, replace it in Settings (Article 2.). The old key stops working immediately.

Your first request

https://app.statsdrone.com/user/reports?apiKey=YOUR_API_KEY&dateFrom=2026-08-01&dateTo=2026-08-07&reportType=daily&groupBy=accounts&reportCurrency=EUR&tags=&matchAny=true

That asks for: the Accounts report, one row per day, 1–7 August 2026, everything converted to EUR, no tag filter.

A successful answer looks like this (shortened):

{   
"success": true,
"data": {
"Acme Partners (main)": {
"info": {
"program_name": "Acme Affiliates",
"program_id": 412,
"software": "Income Access",
"currency": "EUR",
"balance": 1250.4,
"tags": ["tier1", "casino"],
"status": "sync_success",
"error": null,
"last_sync": "2026-08-09 04:15:02",
"account_id": 10021,
"account_name": "Acme Partners (main)"
},
"stats": {
"Acme Casino": {
"Welcome Bonus": {
"2026-08-01": { "date": "2026-08-01", "raw_clicks": 412, "revenue": 1810.25, "total_income": 752.56 }
}
}
}
}
},
"dataRow": 31,
"row_count": 31
}

Three things that will save you time

1. Errors come back with HTTP 200. The feed always answers 200 OK. Do not decide whether a request worked from the status code — read success in the body. See Article 7.

2. Use row_count, not dataRow. Both are returned. row_count is the number of statistics rows in the response you are holding, and means the same thing in every report. dataRow is an older counter kept for compatibility; on the Dynamic Variables report it counts dates rather than rows, so the two disagree there.

3. Do not put spaces in the URL. If a tag name contains spaces, remove them: send tags=VIPClient for a tag named "VIP Client". The Settings query builder does this for you.

Did this answer your question?