Skip to content

Create a new account

POST
/auth/signup

Register a new account with email and password. Returns a JWT token for dashboard access and a raw API key. The API key is shown only once and must be stored securely.

object
email
required

Account email address

string format: email
<= 256 characters
Example
dev@example.com
password
required

Account password (min 8 characters)

string format: password
>= 8 characters <= 128 characters
name

Display name (optional)

string
<= 256 characters
Example
Jane Developer

Account created successfully

object
data
required
object
token
required

JWT token for dashboard authentication

string
Example
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
api_key
required

Raw API key. Store securely. Shown only once.

string
Example
rag_live_abc123def456...
account
required
object
id
required

Account ID (prefixed with acc_)

string
Example
acc_a1b2c3d4e5
email
required
string format: email
Example
dev@example.com
name
string
nullable
Example
Jane Developer
plan
required
string
Allowed values: trial starter pro scale
Example
trial

Request validation failed

object
error
required
object
code
required

Machine-readable error code

string
Allowed values: VALIDATION_ERROR AUTHENTICATION_ERROR NOT_FOUND CONFLICT RATE_LIMIT_EXCEEDED USAGE_LIMIT_EXCEEDED EXTERNAL_SERVICE_ERROR INTERNAL_ERROR
Example
VALIDATION_ERROR
message
required

Human-readable error message

string
Example
Invalid request body
details

Additional error details (e.g., validation issues)

object
key
additional properties
any
Example
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request body",
"details": {
"issues": [
{
"path": [
"name"
],
"message": "Required"
}
]
}
}
}

Email already exists

object
error
required
object
code
required

Machine-readable error code

string
Allowed values: VALIDATION_ERROR AUTHENTICATION_ERROR NOT_FOUND CONFLICT RATE_LIMIT_EXCEEDED USAGE_LIMIT_EXCEEDED EXTERNAL_SERVICE_ERROR INTERNAL_ERROR
Example
VALIDATION_ERROR
message
required

Human-readable error message

string
Example
Invalid request body
details

Additional error details (e.g., validation issues)

object
key
additional properties
any
Example
{
"error": {
"code": "CONFLICT",
"message": "An account with this email already exists"
}
}