---
title: "Sign Up Email"
method: POST
path: "/api/v1/auth/signup"
tags: ["auth"]
---

# Sign Up Email

`POST /api/v1/auth/signup`

## Request

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

Create a new account with email and password via backend.

Creates the user via Firebase REST API (accounts:signUp) which returns
id_token + refresh_token directly. The mobile app stores these tokens
locally without touching the Firebase SDK.
Requires terms_accepted=true for legal compliance (PIPEDA).

## Request body

- EmailSignUpRequest: Schema for email/password sign-up via backend.
  - `email` string, email, required
  - `password` string, required
  - `display_name` string, nullable
  - `language` string, nullable
  - `terms_accepted` boolean, required: User must accept Terms of Service

## Response `201`

Successful Response

- DirectTokenResponse: Response containing Firebase tokens for direct auth (no SDK needed).
  - `id_token` string, required
  - `refresh_token` string, required
  - `user_id` string, required
  - `email` string, required
  - `display_name` string, nullable
  - `email_verified` boolean
  - `terms_accepted` boolean
  - `terms_previously_accepted` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/alert/apis/alertcamp.md) · [All operations](https://skmtc.dev/alert/apis/alertcamp/llms.txt) · [OpenAPI document](https://skmtc.dev/alert/apis/alertcamp/revisions/864c8c9ef833?raw)
