---
title: "Start Registration"
method: POST
path: "/v1/onboarding/registrations/device"
tags: ["onboarding"]
deprecated: true
---

# Start Registration

`POST /v1/onboarding/registrations/device`

## Request

- Base URL: `https://api.4chems.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.4chems.com/v1/onboarding/registrations/device`
- Auth: none required

> **Deprecated.**

Deprecated — use start_device_login (same behaviour).

Start a Keycloak device-authorization grant (UC-075, RFC 8628).

Anonymous, empty body. Show the returned `verification_uri` (or
`verification_uri_complete`) and `user_code` to a human on any device;
they register (self-registration) or log in there. Then call
`verify_registration` with `challenge_id`, sleeping `interval` seconds
between calls while it answers 202. The response never contains the
Keycloak device_code or the agent client secret.

## Response `200`

Successful Response

- DeviceChallengeOut: Response for POST /v1/onboarding/registrations/device (UC-075). Never carries the Keycloak device_code or the agent client secret.
  - `challenge_id` string, uuid, required
  - `verification_uri` string, required
  - `verification_uri_complete` string, required
  - `user_code` string, required
  - `expires_in` integer, required
  - `interval` integer, required

---

[API](https://skmtc.dev/4chems/apis/platform-api.md) · [All operations](https://skmtc.dev/4chems/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/4chems/apis/platform-api/revisions/65e4f7b4dba0?raw)
