Anura Reporting API - Usage
The Anura Reporting API allows you to access Anura reports data from within your own applications. To get started, you will need to create a reporting API token.
Anura Reporting API - Usage - API Tokens
You can create and manage Reporting API tokens by logging into the Anura Dashboard and going to the "Reporting API" token management interface, located within the "Account" section of the navigation menu, or by visiting https://dashboard.anura.io/v1/account/reporting-api.
Create Reporting API Token Form Fields
|Token Name||A unique identifying name for the Reporting API token.||Required.|
|Limit Instance||Limits the Reporting API to return data for the selected instance(s) only.||Data will be returned for all instances associated with your Anura user account when no specification is made.|
|Limit IP Address||Limits the Reporting API to return data for the specified IP address(es) only.||Both IPv4 and IPv6 addresses are supported. Private and reserved IP addresses are not allowed.|
|Token Expires||Sets the token to expire on a specified date.||Reporting API tokens expire at 12:00 AM Coordinated Universal Time (UTC) on their specified date and will be removed from our database after 30 days. Reporting API tokens that do not have an expiration will otherwise never expire.|
Managing Reporting API Tokens
- Reporting API tokens may be temporarily enabled or disabled.
- Reporting API tokens may be permanently removed.
- As of June 06, 2019, Reporting API tokens are bound to the user account that created them. If the creating user's account is disabled, all of their corresponding tokens will also be disabled.
Anura Reporting API - Usage - Performing Requests
Requests to the Anura Reporting API are made over secure connections using the HTTP POST method.
Things to Remember...
- POST parameter string values must be URL encoded.
- Drilling into metric reporting data will require optional parameters to be set.
- Some drilldown parameters require that a parent parameter be applied first.
- A single result will be returned when all applicable drilldown parameters have been applied.
- Instance, source, and campaign interface parameters may be applied at any time.
- "All Instances", "All Sources", and "All Campaigns" are acceptable interface values where applicable.
- Anura reporting is based on the Coordinated Universal Time (UTC) time zone.
Date specific API requests are limited to a 7-day rolling time frame with the exception of "Overview" endpoints, which have a 31-day rolling time frame. If your request falls outside of the time frame limit, a HTTP status code of "400 - Bad Request" will be returned. See Reporting API: Handling Responses for more details.
Anura Reporting API - Usage - Handling Responses
Responses from the Anura Reporting API are JSON encoded and typically returned within milliseconds. However, in cases where vast amounts of unique data exist, responses may take several seconds or minutes. Please be sure to adjust any timeouts to wait until the response has been returned.
There are 5 distinct HTTP status response codes that may be encountered when performing requests. The following table provides HTTP status codes with a brief description of their meaning:
|200 - OK||The request was successful and a response was returned.|
|400 - Bad Request||There was a problem with your request parameters. Please be sure you have passed a complete and valid token string and that your request falls within the allowed rolling time frame.|
|401 - Unauthorized||Your token is not authorized to access the requested resource.|
|403 - Forbidden||Your token does not have permission to access the requested resource.|
|404 - Not Found||The resource you are looking for was not found. Please check the endpoint address and try again.|
Things to Remember...
- String response values are returned URL encoded.
- Script and Direct "instance" table values are returned as a URL encoded object containing both the "id" and "name" of the instance.
- Script's "adblocker" value may return "null" when ad blocker detection is not enabled for your instance.