Skip to main content
POST
/
auth
/
signup
Sign up a new user
curl --request POST \
  --url https://api.wacht.dev/auth/signup \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data email=john@example.com \
  --data first_name=John \
  --data last_name=Doe \
  --data username=johndoe \
  --data 'phone_number=+1234567890' \
  --data 'phone_country_code=+1' \
  --data 'password=SecurePass123!' \
  --data invite_token=inv_123456
{
  "status": 200,
  "message": "",
  "data": {
    "id": "123456789012345678",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z",
    "signin_attempts": [
      {
        "id": "<string>",
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z"
      }
    ],
    "signins": [
      {
        "id": "<string>",
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z"
      }
    ],
    "signup_attempts": [
      {
        "id": "<string>",
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z"
      }
    ],
    "active_signin_id": "987654321098765432",
    "active_signin": {
      "id": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z"
    }
  },
  "session": {
    "id": "123456789012345678",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  },
  "errors": [
    {
      "code": "INVALID_CREDENTIALS",
      "message": "Invalid credentials. Please try again."
    }
  ]
}

Body

application/x-www-form-urlencoded
email
string<email>
required

User's email address

Example:

"john@example.com"

first_name
string

User's first name

Example:

"John"

last_name
string

User's last name

Example:

"Doe"

username
string

Desired username

Example:

"johndoe"

phone_number
string

User's phone number

Example:

"+1234567890"

phone_country_code
string

Country code for phone number

Example:

"+1"

password
string<password>

Desired password

Example:

"SecurePass123!"

invite_token
string

Optional invite token

Example:

"inv_123456"

Response

Successful sign up

status
integer

HTTP status code

Example:

200

message
string

Response message (empty on success)

Example:

""

data
object
session
object

Minimal session info included in every response

errors
object[] | null

Error details (null on success)