REST API: Subscribers (Devices) List
This GET endpoint retrieves a list of user devices registered in Push0. It returns each device's basic details.
GET API url -> /v1/devices
Query Parameters
The following query parameters are possible:
| Field | Type | Description | Required |
|---|---|---|---|
| appId | String | Application id | ✅ |
| id | String | Device Id | ❌ |
| customUserId | String | Custom user id from your backend. | ❌ |
| String | Email. Example: [email protected] | ❌ | |
| deviceModel | String | Device model. Example: Galaxy S26 | ❌ |
| deviceManufacturer | String | Device manufacturer. Example: Samsung | ❌ |
| osApi | String | Operating system API version | ❌ |
| osVersion | String | Operating system version. Example 1.0.1 | ❌ |
| appVersion | String | App version. Example 1.3.54 | ❌ |
| appVersionCode | Int | App version code. Example: 456 | ❌ |
| type | String | Type of device. Accepted values: phone, tablet, smartwatch, desktop | ❌ |
| timezone | String | Time zones must be provided in the Area/Location format (IANA Time Zone Database). Example Europe/Warsaw. |
❌ |
| country | String | 2-letter country codes defined by ISO 3166-1 alpha-2. Example: US, PL, UK |
❌ |
| language | String | Languages must be provided using the ISO 639-2 alpha-3 format. Example: eng, pol |
❌ |
| libVersion | String | Version number of client library. Example: 1.0.0 |
❌ |
| firstSession | Long | First ever user session - Unix timestamp in milliseconds | ❌ |
| lastSession | Long | Last user session - Unix timestamp in milliseconds | ❌ |
| tags | String array | Tag array. Tags applied to a user. | ❌ |
| registered | Boolean | Indicates registered or unregistered users. Unregistered users cant receive push notifications. |
❌ |
| page | Int | Specifies the page number of the results to retrieve. Used for pagination. Must be a positive integer. Required if id is not provided. |
Optional |
| limit | Int | Determines the maximum number of items returned per page. Used to control pagination size. Must be a positive integer, often capped by the API (e.g., 100). Default: 50. Max: 100. Required if id is not provided. |
Optional |
Response Examples
[
{
"id": "dvc_1ANLyQPr5nKB3CP0OfVFj4BQN1ziW8wFJDQcmVvUeeKd3RPitaifgZjK5YVFieRSdjoxNI2skwqMIVDHv5sewYXxwfpQFBYE",
"appId": "developer.android.id.app",
"pushToken": "test_push_token_android_2",
"email": "[email protected]",
"customUserId": "bYPqcTpovS7nMm1",
"os": "android",
"osVersion": "1.0.1",
"osApi": null,
"type": "tablet",
"deviceModel": "Galaxy S21",
"deviceManufacturer": "Samsung",
"country": "BI",
"language": "por",
"timezone": "America/Barbados",
"appVersion": "84.66.42",
"appVersionCode": 583117,
"libVersion": "1.0.0",
"sessionCount": 104991882,
"firstSession": 1740629999998,
"lastSession": 1740630059998,
"updatedAt": 1771854340240,
"unRegisteredAt": 1756242164312,
"createdAt": 1771854340168,
"registered": false,
"tags": ["tag_1","tag_2"]
},
{
"id": "dvc_7HSRyXL3RQS5Hskbfs2U0xnN0KuFOEkBCliAPadn1Fb2QlaYXRGC0Kf8jbmjEvw7hnBmw7rioCM3SUFw3GwMLRRvc1WOcoOR",
"appId": "developer.android.id.app",
"pushToken": "test_push_token_android_5",
"email": "[email protected]",
"customUserId": "fS5vFOd8OqzRaiA",
"os": "android",
"osVersion": "1.0.1",
"osApi": null,
"type": "smartwatch",
"deviceModel": "Galaxy S21",
"deviceManufacturer": "Samsung",
"country": "BM",
"language": "ile",
"timezone": "Africa/Lagos",
"appVersion": "58.93.90",
"appVersionCode": 794677,
"libVersion": "1.0.0",
"sessionCount": 1535351991,
"firstSession": 1740586114285,
"lastSession": 1740586174285,
"updatedAt": 1771854421424,
"unRegisteredAt": null,
"createdAt": 1771854340168,
"registered": false,
"tags": []
},
]