---
title: "Register a device"
method: POST
path: "/device"
tags: ["Device"]
---

# Register a device

`POST /device`

Register a device, either new or an existing one. If a deviceID changes, send along the old deviceID in oldDeviceID property

## Request body

- DeviceCreate
  - `oldDeviceID` string — The old deviceID, whenever deviceID changes. Inbox will move to the new deviceID.
  - `appVersion` string
  - `deviceID` string
  - `deviceString` string
  - `browserName` string
  - `browserVersion` string
  - `allowedUI` boolean — Device has visible notifications enabled
  - `backgroundAppRefresh` boolean — Device has background refresh enabled (iOS only)
  - `bluetoothEnabled` boolean — Device has bluetooth enabled
  - `locationServicesAuthStatus` 'none' | 'use' | 'always' — Device has location permissions granted
  - `language` string
  - `location` Point
    - `coordinates` number[], required
    - `type` 'Point', required
  - `altitude` number
  - `course` number
  - `speed` number
  - `osString` string
  - `osVersion` string
  - `platform` 'iOS' | 'tvOS' | 'Android' | 'Web' | 'Email' | 'SMS'
  - `sdkVersion` string
  - `timeZoneOffset` number
  - `transport` 'APNS' | 'GCM' | 'WebPush' | 'WebsitePush' | 'Email' | 'SMS' | 'Notificare'
  - `userID` string — The app-defined user identifier

## Response `200`

OK

## Other responses

- `201` — Created

## Changes

- **2020-03-11** `5ed31e104b6f` — 1 info
  - the endpoint scheme security `ApplicationSecret` was added to the API

[Change history](https://skmtc.dev/notificare/apis/notificare-cloud-api/changes/device/post.md)

---

[API](https://skmtc.dev/notificare/apis/notificare-cloud-api.md) · [All operations](https://skmtc.dev/notificare/apis/notificare-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/notificare/notificare-cloud-api/revisions/517edd3aa9ad/schema)
