Endpoint and Authentication
Please refer to the API overview section to get the API endpoint, query format and authentication process.
This section of the documentation shows how to list, create and manage your automated data exporters, as well as get info about the daily exports executed.
Automated Data Exporters
List
GET /api/data_exporters
This endpoint lists all the exporters for the current user making the request.
Response
Status: 200 OK
{
"success": true,
"result": [
{
"identifier": "FAAUTOXPRT_12345abcde",
"name": "Test exporter 1",
"type": "aws_secret_key",
"active": true,
"apps": [
{
"name": "Test app",
"identifier": "FAAPPLI_123456789",
"package_name": "test.package.name",
"platform": "iOS App"
}
],
"subfolder": "",
"bucket_name": "test-bucket",
"exported_data": [
"sessions",
"logs",
"details"
],
"initial_run_at": "2020-01-10T03:00:00Z",
"last_run_at": "2020-04-14T11:58:59Z"
},
{
"identifier": "FAAUTOXPRT_67890zyxwu",
"name": "Test exporter 2",
"type": "aws_account_id",
"active": false,
"apps": [
{
"name": "Test app 2",
"identifier": "FAAPPLI_qwertyuiop",
"package_name": "test.package.name2",
"platform": "Android App"
}
],
"subfolder": "",
"bucket_name": "test-bucket-2",
"exported_data": [
"attributes",
"campaign_results_per_user",
"crashes"
],
"initial_run_at": "2020-02-23T01:59:10Z",
"last_run_at": "2020-03-28T14:30:22Z"
}
]
}
View
GET /api/data_exporters/identifier
Returns a specific automated data exporter configuration.
Query Parameters
Property | Type | Description | Default |
---|---|---|---|
identifier | string | The identifier of the data exporter to view | required |
Response
Status: 200 OK
{
"success": true,
"result": {
"identifier": "FAAUTOXPRT_E9VBvJH71yA",
"name": "Test Exporter",
"type": "aws_secret_key",
"active": true,
"apps": [
{
"name": "Test App",
"identifier": "FAAPPLI_abcdefghi",
"package_name": "test.package.name",
"platform": "iOS App"
}
],
"subfolder": "",
"exported_data": [
"sessions",
"logs"
],
"initial_run_at": "2020-04-14T11:58:59Z",
"last_run_at": "2020-04-14T11:58:59Z",
"bucket_name": "test-bucket",
"aws_region": "eu-west-1",
"exports": {
"1588636800": [
{
"identifier": "FADATAEXP_ocnbnScNtoI",
"date": "2020-04-14T09:10:09Z",
"type": "sessions",
"total_files": 2,
"total_exported": 2
},
{
"identifier": "FADATAEXP_6M_nHN0JC00",
"date": "2020-04-20T09:10:29Z",
"type": "logs",
"total_files": 3,
"total_exported": 3
}
]
},
"aws_access_key_id": "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"aws_secret_access_key": "1234567890987654321abcdef",
"encryption_type": "AES-192-CBC",
"encryption_key": "AZERTYUIUYTREAZERTTUYTTREZETYTTGFTFFTDD232321234543FFDD"
}
}
Status: 404 Not Found
{
"status": "not_found",
"success": false,
"error_message": "Automated data exporter not found"
}
Create
POST /api/data_exporters
Creates a new automated exporter for the user's current entity.
Body Parameters
Property | Type | Description | Default |
---|---|---|---|
name | string | A name for your exporter | - |
export_configuration | string | The type of the exporter, either aws_account_id (using an AWS account ID), aws_secret_key (using a pair of AWS access and secret keys) |
required |
bucket_name | string | The name of the S3 bucket to export data to | required |
subfolder | string | The name of a sub folder inside the S3 bucket | - |
aws_region | string | The region where the S3 bucket is located | eu-west-1 |
aws_account_id | string | The AWS account ID when using an aws_account_id configuration |
required (for aws_account_id configs) |
aws_access_key_id | string | The AWS access key ID when using an aws_secret_key configuration |
required (for aws_secret_key configs) |
aws_secret_access_key | string | The AWS secret access key when using an aws_secret_key configuration |
required (for aws_secret_key configs) |
app_ids | array of strings | The identifiers of apps to export data from | required (at least one) |
sor_ids | array of strings | The identifiers of systems of records to export attributes data from | required (at least one only when exporting attributes ) |
exported_data | array of strings | The types of data to export. Choose from sessions , sessions_with_carrier , logs , details , locations , devices , crashes , campaign_results_per_user , attributes |
required (at least one) |
include_headers | boolean | To include or not the data column headers in the CSV files exported | false |
encryption_type | string | The algorithm to use for encryption/decryption (string consisting of the hyphenated concatenation of the individual components name, key length and mode: ' |
empty string '' |
encryption_key | string | The key used to encrypt/decrypt the files | required if 'encryption_type' is not empty or nil |
Example
{
"name": "Test new exporter",
"export_configuration": "aws_secret_key",
"aws_region": "eu-west-1",
"bucket_name": "test-bucket",
"aws_access_key_id": "1a2b3c4d5e6f7g8h9i",
"aws_secret_access_key": "1234567890987654321abcdefghij",
"encryption_type": "AES-192-CBC",
"encryption_key": "AZERTYUIETYTTGFTFFTDD232321234543FFDDJHJUHFDCF",
"app_ids": [
"FAAPPLI_abcdefghij"
],
"sor_ids": [
"SOR-SDK_2a116e0767a7dc76e85a5ef85434d92b"
],
"exported_data": [
"sessions",
"logs",
"details",
"locations",
"app_devices",
"campaign_results_per_user",
"crashes_values",
"attributes"
]
}
Response
Status: 200 OK
{
"success": true,
"result": {
"identifier": "FAAUTOXPRT__-gjS0d7vrc",
"name": "test99",
"type": "obos",
"active": false,
"apps": [
{
"name": "Some app name",
"identifier": "FAAPPLI_abcdefghij",
"package_name": "app.package.name",
"platform": "Android App "
}
],
"subfolder": "",
"exported_data": [
"sessions",
"logs",
"details",
"locations",
"app_devices",
"campaign_results_per_user",
"crashes_values",
"attributes"
],
"initial_run_at": null,
"last_run_at": null,
"sors": [
{
"name": null,
"identifier": "SOR-SDK_2a116e0767a7dc76e85a5ef85434d92b",
"type": "CustomerProfile::AppSOR"
}
],
"bucket_name": "test-bucket",
"aws_region": "eu-west-1",
"exports": {},
"aws_access_key_id": "1a2b3c4d5e6f7g8h9i",
"aws_secret_access_key": "1234567890987654321abcdefghij"
"encryption_type": "AES-192-CBC",
"encryption_key": "AZERTYUIUYTREAZERTTUYTTREZETYTTGFTFFTDD232321234543FFDD"
}
}
Update
PUT /api/data_exporters/identifier
Query Parameters
Property | Type | Description | Default |
---|---|---|---|
identifier | string | The identifier of the data exporter to update | required |
Body Parameters
NOTE: Just pass the parameters that you want to change in the exporter.
Property | Type | Description | Default |
---|---|---|---|
name | string | A name for your exporter | - |
export_configuration | string | The type of the exporter, either aws_account_id (using an AWS account ID), aws_secret_key (using a pair of AWS access and secret keys) |
required |
bucket_name | string | The name of the S3 bucket to export data to | required |
subfolder | string | The name of a sub folder inside the S3 bucket | - |
aws_region | string | The region where the S3 bucket is located | eu-west-1 |
aws_account_id | string | The AWS account ID when using an aws_account_id configuration |
required (for aws_account_id configs) |
aws_access_key_id | string | The AWS access key ID when using an aws_secret_key configuration |
required (for aws_secret_key configs) |
aws_secret_access_key | string | The AWS secret access key when using an aws_secret_key configuration |
required (for aws_secret_key configs) |
app_ids | array of strings | The identifiers of apps to export data from | required (at least one) |
sor_ids | array of strings | The identifiers of systems of records to export attributes data from | required (at least one when exporting attributes ) |
exported_data | array of strings | The types of data to export. Choose from sessions , sessions_with_carrier , logs , details , locations , devices , crashes , campaign_results_per_user , attributes |
required (at least one) |
include_headers | boolean | To include or not the data column headers in the CSV files exported | false |
encryption_type | string | The algorithm to use for encryption/decryption (string consisting of the hyphenated concatenation of the individual components name, key length and mode: ' |
empty string '' |
encryption_key | string | The key used to encrypt/decrypt the files | required if 'encryption_type' is not empty or nil |
Example (changing the name)
{
"name": "New test exporter name",
"sor_ids": ["SOR-SDK_2a116e0767a7dc76e85a5ef85434d92b"]
"exported_data": [
"details",
"attributes",
"devices"
]
}
Response
NOTE: The response JSON will be the same as the view endpoint, except the fields asked to be changed will have their new values.
Status: 200 OK
{
"success": true,
"result": {
...,
"name": "New test exporter name",
"exported_data": [
"details",
"attributes",
"devices"
],
"sor_ids": [
"SOR-SDK_2a116e0767a7dc76e85a5ef85434d92b"
]
...
}
}
Delete
DELETE /api/data_exporters/identifier
This API endpoint deletes an exporter. This action is irreversible.
Query Parameters
Property | Type | Description | Default |
---|---|---|---|
identifier | string | The identifier of the exporter to delete | required |
Response
NOTE: The response JSON will be the same as the view endpoint, showing the information about the exporter that was just deleted.
Activate & Deactivate
PUT /api/data_exporters/identifier/activate
PUT /api/data_exporters/identifier/deactivate
These API endpoints either activate or deactivate an exporter. Active exporters will automatically export data on a daily basis.
Query Parameters
Property | Type | Description | Default |
---|---|---|---|
identifier | string | The identifier of the exporter to activate/deactivate | required |
Response
NOTE: The response JSON will be the same as the view endpoint, except the active
value will become either true
or false
.
Status: 200 OK
{
"success": true,
"result": {
...,
"active": true/false,
...
}
}
Export Info
GET /api/data_exporters/identifier/exports/_export_identifier
This API endpoint fetches information about a single export done.
Query Parameters
Property | Type | Description | Default |
---|---|---|---|
identifier | string | The identifier of the exporter | required |
export_identifier | string | The identifier of the specific export | required |
Response
NOTE: The response JSON will be the same as the view endpoint, except the active
value will become false
.
Status: 200 OK
{
"identifier": "FADATAEXP_abcdef123456",
"date": "2020-04-01",
"type": "sessions",
"total_files": 5,
"total_exported": 5
}