---
title: "Agent-initiated onboarding, step 3: exchange the device code for the minted API key, which carries the read, act and write scopes. Delivered exactly once; store it immediately. Poll at the returned interval until status is ready."
method: POST
path: "/api/v1/onboard/poll"
---

# Agent-initiated onboarding, step 3: exchange the device code for the minted API key, which carries the read, act and write scopes. Delivered exactly once; store it immediately. Poll at the returned interval until status is ready.

`POST /api/v1/onboard/poll`

## Request

- Base URL: `https://afterlaunch.io`
- URL: `https://afterlaunch.io/api/v1/onboard/poll`
- Auth: none required

## Request body

- object
  - `device_code` string, required

## Response `200`

status pending (keep polling) or ready (api_key + enrollment_id, shown exactly once).

## Other responses

- `404`: Unknown or expired device code, or the flow is not open.
- `410`: The key was already delivered once.
- `429`: Polling too fast. Honour Retry-After.

---

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