---
title: "Verify signup code and get OAuth tokens"
method: POST
path: "/api/oauth/signup/verify"
tags: ["Account"]
---

# Verify signup code and get OAuth tokens

`POST /api/oauth/signup/verify`

Step 2 of headless account creation. Exchanges the signup_session_token and the 6-character verification code (sent via email) for OAuth access and refresh tokens.

## Request body

- object
  - `signup_session_token` string, required — Token from POST /api/oauth/signup
  - `verification_code` string, required — 6-character alphanumeric code from the verification email

## Response `200`

OAuth tokens issued

- object
  - `access_token` string
  - `token_type` 'Bearer'
  - `expires_in` number
  - `refresh_token` string
  - `scope` string

## Other responses

- `400` — Invalid or expired session, wrong code, or too many attempts
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/unstoppabledomains/apis/user-api.md) · [All operations](https://skmtc.net/unstoppabledomains/apis/user-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/unstoppabledomains/user-api/revisions/c1def8e34b41/schema)
