The App47 platform allows you to programmatically obtain data related to monitored apps. For instance, you can easily obtain all session data for a particular app, in raw form, for integration with in-house BI systems for analysis. This feature is enabled by default and leverages an account token, which you can find in the “Account” link found on the top right of the App47 dashboard.

In the Account section, you'll see an API tab — click that you will see your account's unique API token. This token can be regenerated at will; furthermore, it's required in a custom HTTP header (X-Token) for all programatic communication. All data is returned as XML unless an HTTP Accept header specifies JSON, in which case JSON documents will be returned.

For example, with an API token of abFLe994DE5g9r6673PsA, you can retrieve all timed events for an account, using cURL, like so:

[shell]
curl -H "X-Token: abFLe994DE5g9r6673PsA" https://cirrus.app47.com/api/timed_events
[/shell]

In this case, the response will be in XML. If you'd rather receive JSON, simple add an Accept HTTP Header like so:

[shell]
curl -H "X-Token: abFLe994DE5g9r6673PsA" -H "Accept: application/json" https://cirrus.app47.com/api/timed_events
[/shell]

Naturally, if you have more than one app associated with your account, you can restrict retrieved data by your app's id:

[shell]
curl -H "X-Token: abFLe994DE5g9r6673PsA" -H "Accept: application/json" https://cirrus.app47.com/api/timed_events?app_id=4e0db5fddeec192345000018
[/shell]

In this case, you provide a parameter, app_id. In addition, we support a more RESTful style of URIs; consequently, you can refashion a URL to drop the parameter and instead add the App ID as follows:

[shell]
curl -H "X-Token: abFLe994DE5g9r6673PsA" -H "Accept: application/json" https://cirrus.app47.com/api/apps/4e0db5fddeec190001000018/timed_events
[/shell]

Note, in this case, the resource URI changes to apps/{app_id}/metric_name.

You can restrict by date too. Just add a start_date parameter.

[shell wraplines=”true”]
curl -H "X-Token: abFLe994DE5g9r6673PsA" -H "Accept: application/json" 'https://cirrus.app47.com/api/timed_events?app_id=4e0db5fddeec192345000018&start_date=2011-09-16'
[/shell]

All App47 monitored data is available for querying, including sessions, timed events, generic events, and logs. Simply replace the metric name in the URL (i.e. https://cirrus.app47.com/api/logs).