---
title: "POST /api/protected/user/push/register"
method: POST
path: "/api/protected/user/push/register"
tags: ["User"]
---

# POST /api/protected/user/push/register

`POST /api/protected/user/push/register`

## Request

- Base URL: `https://idkrx.com`
- URL: `https://idkrx.com/api/protected/user/push/register`
- Auth: API key in cookie `authjs.session-token`

Register the device's APNs token for the signed-in account. Idempotent per token: registering again refreshes it, and a token last registered by another account moves to this one.

## Request body

- RegisterPushDeviceRequest
  - `token` string, required
  - `platform` 'ios', required
  - `environment` 'sandbox' | 'production', required
  - `bundleId` 'io.idkrx.app' | 'io.idkrx.app.dev', required
  - `appVersion` string, required
  - `locale` 'en' | 'es', required

## Response `200`

Token registered

- PushDeviceResponse
  - `ok` true, required
  - `environment` 'sandbox' | 'production', required

## Other responses

- `400`: Invalid request
- `401`: Unauthorized

---

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