---
title: "Poll an in-flight RFC 8628 device authorization started with integrationDeviceConnectStart."
method: POST
path: "/v1/integrations/device/poll"
tags: ["integrations"]
---

# Poll an in-flight RFC 8628 device authorization started with integrationDeviceConnectStart.

`POST /v1/integrations/device/poll`

## Request

- Base URL: `https://api.kody.codes`
- URL: `https://api.kody.codes/v1/integrations/device/poll`
- Auth: HTTP bearer

Poll an in-flight RFC 8628 device authorization started with integrationDeviceConnectStart. Returns authorization_pending or slow_down until the user approves, then approved with the integration name (credentials are persisted server-side; token values never appear). access_denied and expired_token are terminal failures. Respect the returned interval before polling again.

Org permission: `integration:write`.

## Request body

- object
  - `sessionId` string, required: Opaque session id returned by integrationDeviceConnectStart. Never a provider device_code.

## Response `200`

Success.

- union
  - object
    - `ok` true, required
    - `status` 'authorization_pending', required
    - `interval` integer, required
    - `expiresIn` integer, required
  - object
    - `ok` true, required
    - `status` 'slow_down', required
    - `interval` integer, required
    - `expiresIn` integer, required
  - object
    - `ok` true, required
    - `status` 'approved', required
    - `integrationName` string, required
    - `refreshTokenSaved` boolean, required
  - object
    - `ok` false, required
    - `status` 'access_denied' | 'expired_token' | 'invalid_session' | 'rate_limited' | 'provider_error' | 'persist_failed', required
    - `error` string, required

## Other responses

- `400`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `401`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `403`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `404`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `409`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `413`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `429`: Too many requests (edge IP/token limit) or an entitlement / plan-cap limit. Wait at least `Retry-After` seconds before retrying.
- `500`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `503`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `default`: Error envelope `{ "error": { "code", "message", "details"? } }`.

---

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