---
title: "Register a device. Roles: any, public."
method: POST
path: "/api/devices/register"
tags: ["Devices"]
---

# Register a device. Roles: any, public.

`POST /api/devices/register`

## Request body

- DeviceRequest
  - `appId` integer
  - `appKey` string
  - `membershipId` integer, required
  - `deviceId` string
  - `udid` string
  - `token` string, required
  - `platform` string, required

## Response `200`

OK

- DeviceResponse
  - `success` boolean
  - `error` string
  - `device` DeviceCore
    - `audit` Audit
      - `createdTime` string, date-time
      - `modifiedTime` string, date-time
      - `modifiedBy` string
    - `deviceId` integer
    - `appId` integer
    - `membershipId` integer
    - `userMembershipId` integer
    - `platform` string
    - `token` string
    - `udid` string

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `500` — Internal server error

## Changes

- **2026-09-02** `870f28ba2607` — 5 info
  - added the optional property `error/errorId` to the response with the `400` status
  - added the optional property `error/errorId` to the response with the `401` status
  - added the optional property `error/errorId` to the response with the `403` status
  - added the optional property `error/errorId` to the response with the `404` status
  - …1 more

[Change history](https://skmtc.dev/mobilecoach/apis/untitled-api/changes/api/devices/register/post.md)

---

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