Skip to main content
POST
/
auth
/
signin
Sign in a user
curl --request POST \
  --url https://api.wacht.dev/auth/signin \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data strategy=email_otp \
  --data username=johndoe \
  --data email=john@example.com \
  --data 'phone=+1234567890' \
  --data 'phone_country_code=+1' \
  --data 'password=SecurePass123!' \
  --data 'token=<string>'
{
  "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"
  }
}

Body

application/x-www-form-urlencoded
strategy
enum<string>
required

Authentication strategy

Available options:
email_otp,
phone_otp,
magic_link,
plain_username,
plain_email
username
string

Username for username/password login

Example:

"johndoe"

email
string<email>

Email for email/password or email OTP login

Example:

"john@example.com"

phone
string

Phone number for phone OTP login

Example:

"+1234567890"

phone_country_code
string

Country code for phone number

Example:

"+1"

password
string<password>

Password for username/password or email/password login

Example:

"SecurePass123!"

token
string

Token for certain authentication methods

Response

Successful sign in

id
string<uint64>

Session ID

Example:

"123456789012345678"

created_at
string<date-time>

Session creation timestamp

Example:

"2024-01-15T10:30:00Z"

updated_at
string<date-time>

Session last update timestamp

Example:

"2024-01-15T10:30:00Z"

signin_attempts
object[]

Sign-in attempts associated with this session

signins
object[]

Successful sign-ins associated with this session

signup_attempts
object[]

Signup attempts associated with this session

active_signin_id
string<uint64>

ID of the active sign-in

Example:

"987654321098765432"

active_signin
object

Active sign-in details