---
title: "Complete login or registration"
method: POST
path: "/v1/auth/email-code/verify"
tags: ["Accounts"]
---

# Complete login or registration

`POST /v1/auth/email-code/verify`

## Request

- Base URL: `https://api.uxduck.com`
- URL: `https://api.uxduck.com/v1/auth/email-code/verify`
- Auth: none declared

The stored challenge determines the email and intent. Codes expire in ten minutes, allow five incorrect attempts and can only be used once.

## Request body

- object
  - `challengeId` string, uuid, required
  - `code` string, required

## Response `200`

Authenticated; a browser receives a cookie only

## Other responses

- `400`: Invalid or expired code
- `403`: Too many code attempts
- `429`: Too many requests

---

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