---
title: "Current sign-in state for a provider: phase, link, device code, elapsed time."
method: GET
path: "/settings/ai-providers/{provider_id}/login"
tags: ["Agents"]
---

# Current sign-in state for a provider: phase, link, device code, elapsed time.

`GET /settings/ai-providers/{provider_id}/login`

## Request

- Base URL: `/api` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/settings/ai-providers/{provider_id}/login`
- Auth: HTTP bearer

## Path parameters

- `provider_id` string, required

## Response `200`

Sign-in state

- AiProviderLoginResponse: Snapshot of one sign-in, safe to return to a browser: it carries the link and device code the operator needs and no credential material.
  - `detail` string, required: Human-readable status of the current phase, or why it ended.
  - `elapsed_seconds` integer, required
  - `finished_at` string, date-time, nullable
  - `phase` 'starting' | 'waiting' | 'verifying' | 'succeeded' | 'failed' | 'cancelled', required
  - `provider_id` string, required
  - `requires_code` boolean, required: True when the operator must paste a code back into Temps.
  - `session_id` string, required
  - `started_at` string, date-time, required
  - `timeout_seconds` integer, required
  - `user_code` string, nullable: Device code to enter on that page, for device-code providers.
  - `verification_url` string, nullable: Page the operator opens in their browser. Present from `waiting`.

## Other responses

- `401`: Unauthorized
- `403`: Insufficient permissions
- `404`: No sign-in has been started

## Changes

> 75 revisions in range; 1 not diffed.

- **2026-10-13** `22e058697ad7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gotempsh/apis/temps/changes/settings/ai-providers/:provider_id/login/get.md)

---

[API](https://skmtc.dev/gotempsh/apis/temps.md) · [All operations](https://skmtc.dev/gotempsh/apis/temps/llms.txt) · [OpenAPI document](https://skmtc.dev/gotempsh/apis/temps/revisions/4153d360b2ff?raw)
