---
title: "Cli Auth Start"
method: POST
path: "/v1/auth/cli/start"
tags: ["v1"]
---

# Cli Auth Start

`POST /v1/auth/cli/start`

## Request

- Base URL: `https://api.ellipsis.dev`
- URL: `https://api.ellipsis.dev/v1/auth/cli/start`
- Auth: none declared

Start a device-code auth flow for the CLI.

Unauthenticated: the CLI has no credential yet — that's what
it's obtaining. The human authorizes out-of-band in the
dashboard.

## Response `201`

Successful Response

- StartCliAuthResponse: A freshly minted device-code flow: show the user code (or open the complete URI) and poll with the device code.
  - `device_code` string, required: The secret the CLI polls with. Never shown to the human.
  - `expires_in` integer, required: Seconds until the flow expires and a new one must be started.
  - `interval` integer, required: Minimum seconds to wait between polls.
  - `user_code` string, required: The short code the human enters (or confirms) in the dashboard.
  - `verification_uri` string, required: The dashboard page where the human approves the flow.
  - `verification_uri_complete` string, required: The approval page with the user code pre-filled — open this directly.

## Other responses

- `401`: The bearer token is missing, invalid, or revoked.
- `403`: The credential may not perform this action, or the account is blocked.

---

[API](https://skmtc.dev/ellipsis/apis/ellipsis-rest-api.md) - [All operations](https://skmtc.dev/ellipsis/apis/ellipsis-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ellipsis/apis/ellipsis-rest-api/revisions/344b16df9a1a?raw)
