---
title: "Poll for the issued access token"
method: POST
path: "/device/token"
tags: ["Device Auth"]
---

# Poll for the issued access token

`POST /device/token`

## Request

- Base URL: `https://nanostudiopro.com/api`
- URL: `https://nanostudiopro.com/api/device/token`
- Auth: none required

Step 3 of the device flow: the CLI polls this every `interval` seconds (returned in step 1) until either the user approves in the browser, denies, or the code expires. **No authentication required** — the secret `device_code` from step 1 is the proof of holder. Once the token is returned, the `device_code` is single-use; subsequent polls return `expired_token`.

While the user hasn't acted yet, the response is a 400 with `error: "authorization_pending"`. If the CLI polls faster than the advertised interval, the response is `error: "slow_down"`.

## Request body

- object
  - `device_code` string, required: The opaque code returned by `/device/code`.

## Response `200`

Token issued (one-time)

- object
  - `access_token` string: The personal access token. Persist securely; this is the last time it'll be returned.
  - `token_type` 'bearer'

## Other responses

- `400`: Still pending, denied, expired, or polling too fast

---

[API](https://skmtc.dev/nanostudiopro/apis/nano-studio-pro-api.md) · [All operations](https://skmtc.dev/nanostudiopro/apis/nano-studio-pro-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nanostudiopro/apis/nano-studio-pro-api/revisions/b454211e598e?raw)
