---
title: "Sign in to Codex with ChatGPT (device code): start, then poll until approved"
method: POST
path: "/api/v1/provider-accounts/codex-sign-in"
tags: ["Provider accounts"]
---

# Sign in to Codex with ChatGPT (device code): start, then poll until approved

`POST /api/v1/provider-accounts/codex-sign-in`

## Request body

- union
  - object
    - `action` 'start', required
  - object
    - `action` 'poll', required
    - `deviceAuthId` string, required
    - `userCode` string, required
    - `label` string
    - `accountId` string

## Response `200`

Successful response. Stable response schemas are documented in workflow guides when available.

- unknown

## Other responses

- `400` — Invalid request.
- `401` — Missing or invalid authentication.
- `500` — Unexpected server error.

## Changes

- **2026-10-03** `5ed0b150e9fa` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/layernorm/apis/overlay-web-api/changes/api/v1/provider-accounts/codex-sign-in/post.md)

---

[API](https://skmtc.dev/layernorm/apis/overlay-web-api.md) · [All operations](https://skmtc.dev/layernorm/apis/overlay-web-api/llms.txt) · [OpenAPI document](https://skmtc.dev/layernorm/apis/overlay-web-api/revisions/723150bfdd74?raw)
