---
title: "Create Account"
method: POST
path: "/admin/create_account"
tags: ["accepts-api-key"]
---

# Create Account

`POST /admin/create_account`

## Request

- Base URL: `https://api.tellers.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tellers.ai/admin/create_account`
- Auth: none declared

Create a Firebase + SQL account for an email. Admin only.

Creates the user in Firebase Auth first (with the given or a random
password); the SQL user is created from the returned UID if it does not
already exist, after which the email is marked as verified in Firebase.

The route is idempotent: if the email already exists in Firebase, that
account is reused (no new Firebase user, password left unchanged), and if
the SQL user already exists it is left as-is. Either way the email is
marked as verified.

## Headers

- `x-api-key` string, nullable
- `authorization` string, nullable

## Request body

- CreateAccountRequest
  - `email` string, required
  - `password` string, nullable: Password for the new account; a random one is generated if omitted

## Response `200`

Successful Response

- CreateAccountResponse
  - `firebase_uid` string, required
  - `email` string, required
  - `created` boolean, required: True if a new Firebase user was created, False if it existed
  - `password` string, nullable: Password set on the newly created account; null when the Firebase account already existed (its password is left unchanged)

## Other responses

- `422`: Validation Error

---

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