Skip to main content
Create a new user account with a device or email and password.
POST /api/v1/auth/sign-up Register a new user. Supports two methods: mobile device registration (for wallet users) and email/password registration.

Parameters

Body

NameTypeRequiredDescription
typeenumYesmobile-device or email-password
dataobjectYesRegistration data — shape depends on type
When type is mobile-device:
NameTypeRequiredDescription
data.installationIdstringYesDevice installation ID, 32–128 characters
data.passwordstringYesDevice password, 32–256 characters
data.platformenumYesios or android
data.challengestringYesVerification challenge, 48 characters
data.assertionTokenstringYesAssertion token, 1–10,240 characters
data.assertionKeyIdstringNoOptional key identifier, 32–64 characters
When type is email-password:
NameTypeRequiredDescription
data.emailstringYesEmail address, 3–128 characters
data.passwordstringYesAccount password, 8–256 characters

Request examples

Mobile device sign-up

curl --request POST 'https://payments.bleepay.com/api/v1/auth/sign-up' \
  --header 'Content-Type: application/json' \
  --data '{
    "type": "mobile-device",
    "data": {
      "installationId": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6",
      "password": "your-device-password-minimum-32-chars",
      "platform": "ios",
      "challenge": "abcdefghijklmnopqrstuvwxyz0123456789abcdefghij",
      "assertionToken": "eyJhbGciOiJSUzI1NiIs..."
    }
  }'

Email sign-up

curl --request POST 'https://payments.bleepay.com/api/v1/auth/sign-up' \
  --header 'Content-Type: application/json' \
  --data '{
    "type": "email-password",
    "data": {
      "email": "user@example.com",
      "password": "your-password"
    }
  }'

Response

Response schema

FieldTypeDescription
idstringUnique user identifier
rolestringUser role (USER, etc.)
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last update timestamp

Example response

{
  "id": "usr_a1b2c3d4e5f6",
  "role": "USER",
  "createdAt": "2026-06-09T12:00:00.000Z",
  "updatedAt": "2026-06-09T12:00:00.000Z"
}

Error responses

StatusCodeDescription
400invalid_typeThe type field is missing or unsupported
400validation_failedRequired fields are missing or invalid
409already_existsA user with this installation ID or email already exists
429rate_limitToo many sign-up attempts