---
title: "Finish mobile signup"
method: POST
path: "/api/v3/auth/mobile/account"
tags: ["Mobile Authentication"]
---

# Finish mobile signup

`POST /api/v3/auth/mobile/account`

## Request

- Base URL: `https://api.endless.health` (the document declares no server; this is the origin it was published from)
- URL: `https://api.endless.health/api/v3/auth/mobile/account`
- Auth: none declared

Consumes the emailed verification code, creates the Firebase account (already marked verified, since the code proves ownership of the address) and activates the Core user. Looks up the address first so an existing login is account_exists without a create attempt. Sends the same welcome email as web, in the language already stored on the user; a send failure does not fail create. Does not create a session; the app signs in the same way as login. On failure, detail.code distinguishes invalid_code, code_expired, weak_password and account_exists.

## Request body

- MobileAccountCreationRequestSchema: Final step. Consumes the code and creates the Firebase account.
  - `email` string, email, required
  - `code` string, required
  - `password` string, required
  - `site_id` integer, required
  - `locale` 'en' | 'es'

## Response `200`

Successful Response

- MobileAccountCreationResponseSchema: Account exists in Firebase and Core. The app signs in separately.
  - `created` boolean

## Other responses

- `404`: Not found
- `422`: Validation Error

---

[API](https://skmtc.dev/endless/apis/eh-core-v3-api-prod.md) - [All operations](https://skmtc.dev/endless/apis/eh-core-v3-api-prod/llms.txt) - [OpenAPI document](https://skmtc.dev/endless/apis/eh-core-v3-api-prod/revisions/9046a1eb2d0c?raw)
