Available for the following Plan types:
Fullstory Enterprise
Fullstory Advanced
Fullstory Business
Fullstory for Mobile Apps
Fullstory Free
Available to the following User roles:
Admin
Architect
Standard
Note:
This a legacy API, and the endpoints referenced here have been deprecated and may be removed in future versions of the API. We would recommend instead using the Segment Export API to extract data captured by Fullstory.
Our Data Export feature is a powerful tool that allows you to extract the data you're capturing in Fullstory and apply it to your specific business needs. You can read more about what's included with Data Export here.
As a feature of Data Export, we provide a secure server side API to download data bundles programatically.
Alternatives to consider
Endpoints
The API is served via two simple endpoints. The first is for discovering what files are available to retrieve (LIST) and the second is for retrieval of the file (GET).
All requests must supply the required API key in the form of a custom request header:
'Authorization': 'Basic [YOUR API KEY]'
Additionally, any parameters can be provided in one of two ways. If a GET request is made, then parameters should simply be specified as URL query params. However, if a POST request is made, then parameters should be specified as JSON in the POST body.
LIST
https://export.fullstory.com/api/v1/export/list
List endpoint returns a JSON list of completed data export bundles. Each result provides a beginning and end timestamp of the data contained within the export (in unix seconds) as well as the unique ID of the bundle. The parameter to this endpoint is:
Param Name (required) | Type |
Description
|
start |
int |
The timestamp at which to start searching for results. Use Unix seconds (seconds since Epoch). |
Calling this endpoint will return a list of the first 20 data export bundles whose end time is after the given start parameter (sorted from oldest to newest). In general, periodically calling this endpoint with the timestamp of your most recently downloaded bundle will ensure that your system is aware of all finished bundles. If you need to download more than 20 bundles, then simply repeat the call using the timestamp of the last bundle in the returned list.
GET
https://export.fullstory.com/api/v1/export/get
Get endpoint allows you to download a specific data export bundle given its ID. Our servers will respond with the bytes composing a gzipped JSON document of the request data. The parameter to this endpoint is:
Param Name (required) | Type |
Description
|
id |
int |
The id of the data export bundle to download, which was found from the response to a prior LIST request. |
If your client obeys the "Content-Disposition" header, then the downloaded file will automatically be called DataExport.json.gz. Otherwise, simply ensure that the response is treated as a gzip.
The GET endpoint is rate limited at 2 downloads/minute. This endpoint will also return the number of seconds to wait until the next request in the Retry-After
header.
Example
Here's a quick example of the endpoints and associated rules in action.
LIST Request
curl -H "Authorization: Basic YOUR_API_KEY" https://export.fullstory.com/api/v1/export/list?start=1448064000
LIST Response
{"exports": [{ "Start": 1447984800, "Stop": 1448071200, "ID": 123456789 },{ "Start": 1448071200, "Stop": 1448157600, "ID": 987654321 },{ "Start": 1448157600, "Stop": 1448244000, "ID": 456789123, }] }
Using this list of the data export bundles available for download, you can begin making calls of the form:
GET Request
curl -O -J -H "Authorization: Basic YOUR_API_KEY" https://export.fullstory.com/api/v1/export/get?id=123456789
GET Response
A file named DataExport.json.gz
Note: The timestamps on our HTTP API response are in GMT. However, directly searching through the Fullstory app uses your local time. Please keep this in mind if you see differing results.
Rate Limits
Fullstory currently limits HTTP API usage for Data Export to a burst limit of 50 calls that replenishes at a rate of 2/minute.
What should I do if I see 503 or 104 errors?
This is likely due to a transient error, please attempt to retry until the request succeeds or reach out to the support team if you need further assistance.
What should I do if I see a message saying forbidden?
Double check your API key has Admin or Architect permissions. As noted in our developer documents for Authentication, this level is required for accessing data in this way, so a Standard API key would not work.