---
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

- Base URL: `https://api.mobilecoach.org` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mobilecoach.org/api/devices/register`
- Auth: none declared

## 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

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

---

[API](https://skmtc.dev/mobilecoach/apis/mobilecoach-api.md) - [All operations](https://skmtc.dev/mobilecoach/apis/mobilecoach-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mobilecoach/apis/mobilecoach-api/revisions/df463b248fcb?raw)
