Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dubupay.com/llms.txt

Use this file to discover all available pages before exploring further.

Use this endpoint to create a new merchant account on Dubu Pay. You provide your business name, email address, and a password. The API creates the account, generates a six-digit OTP, and sends a verification email to the address you supplied. Your account is not usable until you verify your email using POST /auth/verify-email. This endpoint applies a strict rate limit to prevent abuse.

Endpoint

POST https://api.dubupay.com/api/v1/auth/register
No authentication is required.

Request body

business_name
string
required
The registered name of your business. Must be at least 2 characters.
email
string
required
The email address for your merchant account. Must be a valid email. This address is used for verification, notifications, and login — it must be unique across all Dubu Pay accounts.
password
string
required
A password for your account. Must be at least 8 characters. Passwords are stored securely and are never returned in any API response.

Response

HTTP 201 Created on success.
success
boolean
true when the account was created successfully.
data
object

Example

curl -X POST https://api.dubupay.com/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "business_name": "Acme Trading Ltd",
    "email": "owner@acmetrading.com",
    "password": "SuperSecret123"
  }'
Response
{
  "success": true,
  "data": {
    "message": "Verification email sent. Please check your inbox.",
    "email": "owner@acmetrading.com"
  }
}

Verify your email

After registering, check your inbox for an email containing a 6-digit OTP. Pass that code to POST /auth/verify-email along with your email address. Until you do, any attempt to log in will be rejected. If the email doesn’t arrive within a few minutes, use POST /auth/resend-otp to request a new code.

Error responses

StatusCodeDescription
400Validation errorbusiness_name, email, or password failed validation. Check the errors array.
409EMAIL_IN_USEAn account with that email address already exists.
429Rate limitToo many registration attempts from this IP. Wait before retrying.