---
title: "Start Device Login"
method: POST
path: "/v1/onboarding/login/device"
tags: ["onboarding"]
---

# Start Device Login

`POST /v1/onboarding/login/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/login/device`
- Auth: none required

Sign in to an existing account by device login (UC-091, RFC 8628). Anonymous,
empty body; the account must exist (start_account_registration, then set the
password through the emailed link). Show `verification_uri` (or
`verification_uri_complete`) and `user_code` to the human, who signs in there,
then call `verify_device_login` with `challenge_id`, waiting `interval` seconds
between calls. 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)
