---
title: "Register"
method: POST
path: "/auth/register"
tags: ["auth"]
---

# Register

`POST /auth/register`

## Request

- Base URL: `https://api.sytecheck.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sytecheck.app/auth/register`
- Auth: none declared

Create an account and return access and refresh tokens. A verification email is sent; scans require a verified address.

## Headers

- `accept-language` string, nullable

## Request body

- RegisterRequest
  - `email` string, email, required
  - `password` string, required
  - `attribution` SignupAttribution: What the browser saw on the visit that led to sign-up. Captured by the SPA on landing (``frontend/src/utils/attribution.ts``) and sent with the registration request. Every field is optional: a direct visit has no referrer and most links carry no UTM tags.
    - `referrer_host` string, nullable
    - `utm_source` string, nullable
    - `utm_medium` string, nullable
    - `utm_campaign` string, nullable
    - `landing_path` string, nullable
  - `offer_code` string, nullable
  - `turnstile_token` string, nullable

## Response `201`

Successful Response

- TokenResponse
  - `access_token` string, required
  - `refresh_token` string, required
  - `token_type` string
  - `offer_status` 'claimed' | 'invalid', nullable

## Other responses

- `422`: Validation Error

---

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