---
title: "Get an authenticator code"
method: POST
path: "/v1/logins/{id}/authenticator-code"
tags: ["two_factor"]
---

# Get an authenticator code

`POST /v1/logins/{id}/authenticator-code`

## Request

- Base URL: `https://api.pomerado.ai`
- URL: `https://api.pomerado.ai/v1/logins/{id}/authenticator-code`
- Auth: HTTP bearer

Returns the current code from a saved login's authenticator secret.

Only the Dashboard shows the code, behind the Logins PIN. Elsewhere this returns a dashboard_url to the page that shows it.

## Path parameters

- `id` string, required

## Response `200`

On the Dashboard: the code; Elsewhere: the page that shows it

- union
  - LoginAuthenticatorCode
    - `code` string, required
    - `expires_at` string: When the code's period ends (some sites use 60 s periods). Absent when the credential worker can't say; the code then lasts at least 30 s from when it was read.
  - DashboardDelivery
    - `dashboard_url` string, required: A signed-in Dashboard page where the person finishes this and sees the secret once

## Other responses

- `400`: invalid_request
- `401`: unauthorized, reauthentication_required
- `403`: forbidden
- `404`: not_found, authenticator_not_configured
- `500`: internal_error
- `503`: temporarily_unavailable

---

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