---
title: "Register a device for push notifications"
method: POST
path: "/api/v1/visa/devices"
tags: ["Push notifications"]
---

# Register a device for push notifications

`POST /api/v1/visa/devices`

Subscribe an APNs / FCM device token to receive push notifications when
visa policies change. Idempotent on device_token.

## Request body

- DeviceRegisterBody
  - `device_token` string, required
  - `passport_iso3` string, required — ISO 3166-1 alpha-3 country code.
  - `platform` string
  - `bundle_id` string
  - `wishlist_iso3` ISO3[]
  - `locale` string
  - `tz` string
  - `premium` boolean
  - `preferences` DevicePreferences
    - `instant` boolean
    - `digest_weekly` boolean
    - `only_wishlist` boolean
    - `only_positive` boolean

## Response `200`

Device registered or updated.

- object
  - `device_id` integer, required

## Other responses

- `400` — Missing or malformed parameter.
- `401` — Missing API key, query param or session cookie.
- `403` — Invalid / inactive key, or plan below the endpoint's minimum tier.

---

[API](https://skmtc.net/orizn/apis/orizn-visa-api.md) · [All operations](https://skmtc.net/orizn/apis/orizn-visa-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/orizn/orizn-visa-api/versions/15b21ef9b5b0/schema)
