---
title: "View user"
method: GET
path: "/apps/{app_id}/users/by/{alias_label}/{alias_id}"
---

# View user

`GET /apps/{app_id}/users/by/{alias_label}/{alias_id}`

Retrieve a user including aliases, properties, and subscriptions.

## Path parameters

- `app_id` string, required
- `alias_label` string, required
- `alias_id` string, required

## Headers

- `Authorization` string, required

## Response `200`

200

- object
  - `properties` object
    - `tags` object
      - `KEY` string
    - `country` string
    - `first_active` integer
    - `last_active` integer
    - `test_user_name` string
  - `identity` object
    - `external_id` string
    - `onesignal_id` string
  - `subscriptions` object[]
    - `id` string — The unique Subscription ID in UUID v4 format.
    - `app_id` string — Your OneSignal App ID in UUID v4 format. See [Keys & IDs](/docs/en/keys-and-ids).
    - `type` 'Email' | 'SMS' | 'iOSPush' | 'AndroidPush' | 'HuaweiPush' | 'FireOSPush' | 'WindowsPush' | 'macOSPush' | 'ChromeExtensionPush' | 'ChromePush' | 'SafariLegacyPush' | 'FirefoxPush' | 'SafariPush' — The subscription channel type.
    - `token` string — The push token, email address, or phone number associated with the subscription.
    - `enabled` boolean — Indicates if the Subscription is subscribed (`true`) or unsubscribed (`false`).
    - `notification_types` integer — Indicates the reason for the Subscription's status. Values are updated automatically as events are detected by our frontend SDKs but you should set this manually when updating via our REST API. `1` is subscribed and `-31` is reserved for unsubscribed via the API. See [Subscriptions](/docs/subscriptions#notification-types).
    - `session_time` integer — The total amount of time the user has had the app open in seconds.
    - `session_count` integer — The total amount of times the user has opened the app.
    - `sdk` string — Set by our frontend SDK. Indicates the OneSignal SDK version.
    - `device_model` string — The model of the user's device (e.g., iPhone 16).
    - `device_os` string — The device or browser's system version.
    - `rooted` boolean — Indicates if the Android device is jail-broken.
    - `test_type` integer — Specifies the [APS environment entitlement](https://developer.apple.com/documentation/bundleresources/entitlements/aps-environment) used for generating the iOS push token. `null` or `0` if the token was generated in a Production environment (App Store & Test Flight builds). `1` for Development environment, `2` if it was generated in an Ad-Hoc environment. This ensures OneSignal routes notifications correctly based on the token’s source environment.
    - `app_version` string — The version of your mobile app as detected by our frontend SDKs or a value you set via our API. Our SDK sets this based: Android - Android Studio `versionCode` in your App `build.gradle`. iOS: Xcode App Version.
    - `net_type` integer
    - `carrier` string
    - `web_auth` string — The web auth token set by our web SDK.
    - `web_p256` string — The web 256 key set by our web SDK.

## Other responses

- `400` — 400
- `401` — 401
- `404` — 404
- `429` — Rate limit exceeded. Wait the number of seconds in the `Retry-After` header before retrying.
- `503` — Service temporarily unavailable. Retry after a short backoff. The body may be empty or non-JSON in some failure modes.

---

[API](https://skmtc.dev/onesignal/apis/api-onesignal-com.md) · [All operations](https://skmtc.dev/onesignal/apis/api-onesignal-com/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/onesignal/api-onesignal-com/revisions/0fc223f7e338/schema)
