Signup

August 3, 2026 ยท View on GitHub

Use case

Creates a dashboard operator account and associates it with the initial merchant workspace.

Authentication

Public. No JWT or API key is required. Sandbox traffic may still include x-feature: decision-engine when routed through Hyperswitch.

For local development, start with:

export BASE_URL=http://localhost:8080
export AUTH_HEADER="Authorization: Bearer <jwt_token>"
# Sandbox only:
# export BASE_URL=https://sandbox.hyperswitch.io
# export FEATURE_HEADER="x-feature: decision-engine"

Request

  • Method and path: POST /auth/signup
  • Parameters: none.
  • Body: JSON body with email, password, and merchant identifier/name depending on the dashboard onboarding flow. Passwords must satisfy the dashboard policy.

Example

Create account

curl --location "$BASE_URL/auth/signup" \
  --header "Content-Type: application/json" \
  --data '{
  "email": "operator@example.com",
  "password": "StrongPass#123",
  "merchant_id": "merchant_demo"
}'

Response

{
  "token": "eyJ...",
  "user_id": "user_123",
  "email": "operator@example.com",
  "merchant_id": "merchant_demo",
  "role": "admin",
  "merchants": [
    {
      "merchant_id": "merchant_demo",
      "merchant_name": "Demo Merchant",
      "role": "admin"
    }
  ]
}

Notes

  • If the email already exists, redirect the user to login rather than creating a duplicate account.
  • Use at least 10 characters with uppercase, lowercase, number, and special character.