---
title: "Create a free-tier account"
method: POST
path: "/v1/auth/register"
tags: ["Auth"]
---

# Create a free-tier account

`POST /v1/auth/register`

Creates a `free`-tier user (5 draws total lifetime, 100 entries per
draw, 60 requests/min) and returns a `pd_live_*` API key.
`terms_accepted_at` must be at or after the current terms effective
date — send the moment of acceptance as an ISO-8601 timestamp.

## Request body

- object
  - `name` string, required
  - `email` string, email, required
  - `password` string, password, required
  - `terms_accepted_at` string, date-time, required

## Response `201`

Account created, key issued.

- AuthKeyResponse
  - `success` boolean
  - `message` string
  - `data` object
    - `api_key` string
    - `prefix` string
    - `user` User
      - `id` integer
      - `email` string, email
      - `name` string
      - `tier` 'free' | 'starter' | 'pro' | 'enterprise' | 'sandbox'

## Other responses

- `422` — Invalid payload (`validation_failed` / `entry_limit_exceeded`).

---

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