endpoint and authentication
Please refer to the API overview section to get the API endpoint, query format and authentication process.
App devices
Retrieve the devices on which an app is installed.
List
GET /api/apps/app_identifier/devices?page=page&per_page=per_page&fields=fields¤t_user_ids=current_user_ids&device_ids=device_ids&segment_ids=segment_ids&updated_since=updated_since
Export endpoint (see how to use it here):
GET /api/apps/app_identifier/devices_export?fields=fields¤t_user_ids=current_user_ids&device_ids=device_ids&segment_ids=segment_ids&updated_since=updated_since
Query parameters
Property | Type | Description | Default |
---|---|---|---|
app_identifier | string | The app unique identifier | required |
page | integer | The page of devices to retrieve. Negative values will be ignored, and the default number will be used. | 1 |
per_page | integer | The number of device ids to retrieve per page. Range of values accepted is [1..10000] . Values outside of range are ignored, and the default value is used instead. |
1000 |
fields | string | A string with a list of device fields to present, separated by commas. Example: fields=current_user_id,users . If there's no value for some field requested, the value null is returned for that field.See table below for possible fields. |
- |
current_user_ids | string | List of comma-separated user_id 's to filter the device list by who is logged in on them |
- |
device_ids | string | List of comma-separated device_id 's to filter the device list by some ids |
- |
segment_ids | string | List of comma-separated segment_id 's to filter the device list by a list of segments to search in |
- |
updated_since | datetime | Date since when the device information has to have been updated to appear in the API output. Allows for delta syncs. Expressed in any ISO format, e.g. 2017-04-06T16:41:44+05:00 |
- |
Response fields
Value | Type | Description |
---|---|---|
device_id | string | Always returned Unique identifier of the device |
application_id | string | Always returned Unique identifier of the application |
current_user_id | string | Identifier of the user connected on the device during the last session recorded |
users | array of maps | Array of users ever seen for this device on this app. The array contains maps with field user_id |
users:user_id | string | Alternate way to request all user_id s for the device on the given app |
last_user_id | string | Last user id logged in for the device on the given app |
segments | array of maps | Array of segments in which the device is for this app. The array contains maps with field segment_id , and optionally name |
segments:segment_id | string | Alternate way to request all segment_id s for the device on the given app |
segments:name | string | Name of the segments the device is in. Requesting this field alone will also return the segment_id , which is the default field for this relation |
segments:description | string | Description of the segments the device is in. Requesting this field alone will also return the segment_id , which is the default field for this relation |
opt_in | boolean | Status of the device regarding push notifications |
opt_out | boolean | Status of the device regarding push notifications |
uninstalled | boolean | Tells if the app seems uninstalled from the device |
number_of_sessions | integer | Total number of sessions of the app on the device |
number_of_sessions_30d | integer | Number of sessions of the app on the device over the last 30 days |
total_session_duration | integer | Total time spent in the app on this device |
total_session_duration_30d | integer | Time spent in the app on this device over the last 30 days |
last_city | string | Last city the device was seen in. Requires geolocation to be active in the app. |
country_code | string | Last country the device was seen in, based on the device IP |
language_code | string | Isocode for the last language configured on the device |
app_version | string | Last version of the app seen on the device |
os_version | string | Last OS version seen on the device |
sdk_version | string | Last SDK version seen for the app on the device |
device_model | string | Model of the device |
device_type | string | Type of the device |
last_location_latitude | float | Last latitude obtained through geolocation in the app |
last_location_longitude | float | Last longitude obtained through geolocation in the app |
timezone_offset | integer | Last time zone offset from UTC seen on the device |
number_of_crashes | integer | Total number of crashes of the app of the device |
number_of_crashes_30d | integer | Number of crashes of the app of the device over the last 30 days |
first_campaign_received_at | datetime | First time a campaign targeted this device |
last_campaign_received_at | datetime | Last time a campaign targeted this device |
first_opened_app_at | datetime | Date when then first, valid, session occurred for this device |
last_opened_app_at | datetime | Date when then last, valid, session occurred for this device |
updated_at | datetime | Date the data last changed for this device on this app |
Response
Status: 200 OK
{
"result": {
"items": [
{
"device_id": "713E3BB7-38AA-4D3F-88D1-CE0A1219D7D2",
"application_id": "FAAPPLI_Fr5tg2e",
"current_user_id": "carroll@dietrich.info",
"users": [{
"user_id": "carroll@dietrich.info"
}]
},
{
"device_id": "F84EE129-CAE2-44C0-B5AC-7A2F90FE4E16",
"application_id": "FAAPPLI_Fr5tg2e",
"current_user_id": null,
"users": []
},
{
"device_id": "E3BBD7D7-7C99-4F5E-8FC5-A6178946C37D",
"application_id": "FAAPPLI_Fr5tg2e",
"current_user_id": null,
"users": []
},
{
"device_id": "63FF3C41-07D1-4218-A9CE-3063899BC9F5",
"application_id": "FAAPPLI_Fr5tg2e",
"current_user_id": "lon.ferry@heidenreich.name",
"users": [{
"user_id": "lon.ferry@heidenreich.name"
},
{
"user_id": "robert@jackson.org"
}]
}
],
"total_pages": 4,
"total_items": 20,
"item_count": 5,
"navigation": {
"first": "http://api.follow-apps.com/segments/segmentIdentifier/devices?page=1&fields=users,current_user_id",
"prev": "http://api.follow-apps.com/segments/segmentIdentifier/devices?page=1&fields=users,current_user_id",
"next": "http://api.follow-apps.com/segments/segmentIdentifier/devices?page=3&fields=users,current_user_id",
"last": "http://api.follow-apps.com/segments/segmentIdentifier/devices?page=4&fields=users,current_user_id"
}
},
"success": true
}
Status: 404 not found
{
"status": "not_found",
"success": false,
"error_message": "Couldn't find App"
}
View
GET /api/apps/app_identifier/devices/device_identifier?fields=fields
Retrieve one device using its identifier.
Query parameters
Property | Type | Description | Default |
---|---|---|---|
app_identifier | string | The app unique identifier | required |
device_identifier | string | The unique identifier for the device to retrieve. | required |
fields | string | A string with a list of device fields to present, separated by commas. Example: fields=current_user_id,users . If there's no value for some field requested, the value null is returned for that field.See table below for possible fields. |
- |
Response fields
Value | Type | Description |
---|---|---|
device_id | string | Always returned Unique identifier of the device |
application_id | string | Always returned Unique identifier of the application |
current_user_id | string | Identifier of the user connected on the device during the last session recorded |
users | array of maps | Array of users ever seen for this device on this app. The array contains maps with field user_id |
users:user_id | string | Alternate way to request all user_id s for the device on the given app |
last_user_id | string | Last user id logged in for the device on the given app |
segments | array of maps | Array of segments in which the device is for this app. The array contains maps with field segment_id , and optionally name |
segments:segment_id | string | Alternate way to request all segment_id s for the device on the given app |
segments:name | string | Name of the segments the device is in. Requesting this field alone will also return the segment_id , which is the default field for this relation |
segments:description | string | Description of the segments the device is in. Requesting this field alone will also return the segment_id , which is the default field for this relation |
opt_in | boolean | Status of the device regarding push notifications |
opt_out | boolean | Status of the device regarding push notifications |
uninstalled | boolean | Tells if the app seems uninstalled from the device |
number_of_sessions | integer | Total number of sessions of the app on the device |
number_of_sessions_30d | integer | Number of sessions of the app on the device over the last 30 days |
total_session_duration | integer | Total time spent in the app on this device |
total_session_duration_30d | integer | Time spent in the app on this device over the last 30 days |
last_city | string | Last city the device was seen in. Requires geolocation to be active in the app. |
country_code | string | Last country the device was seen in, based on the device IP |
language_code | string | Isocode for the last language configured on the device |
app_version | string | Last version of the app seen on the device |
os_version | string | Last OS version seen on the device |
sdk_version | string | Last SDK version seen for the app on the device |
device_model | string | Model of the device |
device_type | string | Type of the device |
last_location_latitude | float | Last latitude obtained through geolocation in the app |
last_location_longitude | float | Last longitude obtained through geolocation in the app |
timezone_offset | integer | Last time zone offset from UTC seen on the device |
number_of_crashes | integer | Total number of crashes of the app of the device |
number_of_crashes_30d | integer | Number of crashes of the app of the device over the last 30 days |
first_campaign_received_at | datetime | First time a campaign targeted this device |
last_campaign_received_at | datetime | Last time a campaign targeted this device |
first_opened_app_at | datetime | Date when then first, valid, session occurred for this device |
last_opened_app_at | datetime | Date when then last, valid, session occurred for this device |
updated_at | datetime | Date the data last changed for this device on this app |
Response
Status: 200 OK
{
"result": {
"device_id": "713E3BB7-38AA-4D3F-88D1-CE0A1219D7D2",
"application_id": "FAAPPLI_Fr5tg2e",
"current_user_id": "carroll@dietrich.info",
"users": [{
"user_id": "carroll@dietrich.info"
}]
},
"success": true
}
Status: 404 not found
{
"status": "not_found",
"success": false,
"error_message": "Couldn't find App"
}
Segment devices
GET /api/segments/segment_identifier/devices?page=page&per_page=per_page&fields=fields¤t_user_ids=current_user_ids&updated_since=updated_since
Export endpoint (see how to use it here):
GET /api/segments/segment_identifier/devices_export?fields=fields¤t_user_ids=current_user_ids&updated_since=updated_since
Query parameters
Property | Type | Description | Default |
---|---|---|---|
segment_identifier | string | The segment unique identifier | required |
page | integer | The page of devices to retrieve. Negative values will be ignored, and the default number will be used. | 1 |
per_page | integer | The number of device ids to retrieve per page. Range of values accepted is [1..10000] . Values outside of range are ignored, and the default value is used instead. |
1000 |
fields | string | A string with a list of device fields to present, separated by commas. Example: fields=current_user_id,users . If there's no value for some field requested, the value null is returned for that field.See table below for possible fields. |
- |
current_user_ids | string | list of comma-separated user_id 's to filter the device list by who is logged in on them |
- |
updated_since | datetime | Date since when the device information has to have been updated to appear in the API output. Allows for delta syncs. Expressed in any ISO format, e.g. 2017-04-06T16:41:44+05:00 |
- |
Response fields
Value | Type | Description |
---|---|---|
device_id | string | Always returned Unique identifier of the device |
application_id | string | Always returned Unique identifier of the application |
current_user_id | string | Identifier of the user connected on the device during the last session recorded |
users | array of maps | Array of users ever seen for this device on this app. The array contains maps with field user_id |
users:user_id | string | Alternate way to request all user_id s for the device on the given app |
last_user_id | string | Last user id logged in for the device on the given app |
segments | array of maps | Array of segments in which the device is for this app. The array contains maps with field segment_id , and optionally name |
segments:segment_id | string | Alternate way to request all segment_id s for the device on the given app |
segments:name | string | Name of the segments the device is in. Requesting this field alone will also return the segment_id , which is the default field for this relation |
segments:description | string | Description of the segments the device is in. Requesting this field alone will also return the segment_id , which is the default field for this relation |
opt_in | boolean | Status of the device regarding push notifications |
opt_out | boolean | Status of the device regarding push notifications |
uninstalled | boolean | Tells if the app seems uninstalled from the device |
number_of_sessions | integer | Total number of sessions of the app on the device |
number_of_sessions_30d | integer | Number of sessions of the app on the device over the last 30 days |
total_session_duration | integer | Total time spent in the app on this device |
total_session_duration_30d | integer | Time spent in the app on this device over the last 30 days |
last_city | string | Last city the device was seen in. Requires geolocation to be active in the app. |
country_code | string | Last country the device was seen in, based on the device IP |
language_code | string | Isocode for the last language configured on the device |
app_version | string | Last version of the app seen on the device |
os_version | string | Last OS version seen on the device |
sdk_version | string | Last SDK version seen for the app on the device |
device_model | string | Model of the device |
device_type | string | Type of the device |
last_location_latitude | float | Last latitude obtained through geolocation in the app |
last_location_longitude | float | Last longitude obtained through geolocation in the app |
timezone_offset | integer | Last time zone offset from UTC seen on the device |
number_of_crashes | integer | Total number of crashes of the app of the device |
number_of_crashes_30d | integer | Number of crashes of the app of the device over the last 30 days |
first_campaign_received_at | datetime | First time a campaign targeted this device |
last_campaign_received_at | datetime | Last time a campaign targeted this device |
first_opened_app_at | datetime | Date when then first, valid, session occurred for this device |
last_opened_app_at | datetime | Date when then last, valid, session occurred for this device |
updated_at | datetime | Date the data last changed for this device on this app |
Response
Status: 200 OK
{
"result": {
"items": [
{
"device_id": "713E3BB7-38AA-4D3F-88D1-CE0A1219D7D2",
"current_user_id": "carroll@dietrich.info",
"users": [{
"user_id": "carroll@dietrich.info"
}]
},
{
"device_id": "F84EE129-CAE2-44C0-B5AC-7A2F90FE4E16",
"current_user_id": null,
"users": []
},
{
"device_id": "E3BBD7D7-7C99-4F5E-8FC5-A6178946C37D",
"current_user_id": null,
"users": []
},
{
"device_id": "63FF3C41-07D1-4218-A9CE-3063899BC9F5",
"current_user_id": "lon.ferry@heidenreich.name",
"users": [{
"user_id": "lon.ferry@heidenreich.name"
},
{
"user_id": "robert@jackson.org"
}]
}
],
"total_pages": 4,
"total_items": 20,
"item_count": 5,
"navigation": {
"first": "http://api.follow-apps.com/segments/segmentIdentifier/devices?page=1&fields=users,current_user_id",
"prev": "http://api.follow-apps.com/segments/segmentIdentifier/devices?page=1&fields=users,current_user_id",
"next": "http://api.follow-apps.com/segments/segmentIdentifier/devices?page=3&fields=users,current_user_id",
"last": "http://api.follow-apps.com/segments/segmentIdentifier/devices?page=4&fields=users,current_user_id"
}
},
"success": true
}
Status: 404 not found
{
"status": "not_found",
"success": false,
"error_message": "Couldn't find Segment"
}