WiPay
WAPIsv2.0.0Accounts

Create Account

Create a new WiPay user account

Create a new WiPay user account programmatically. If the account already exists and the supplied credentials are correct, the existing account is authorized to the Main Merchant Account and the account number is returned.

This is a conditional MMA workflow, not a general-purpose endpoint for every verified WiPay PERSONAL or BUSINESS account.

Endpoint

POST /accounts
AccessRequirement
AuthenticatedYes
Required Scopewapi-accounts-create, or wapi-accounts-all
Rate Limit5 requests per minute

This endpoint is intended for Main Merchant Account workflows backed by an approved WAPI Configuration.

The created or authorized downstream account follows the account profile configured for that MMA integration.

Request

Headers

HeaderValue
Acceptapplication/json
AuthorizationBearer <access_token>
X-WAPI-Keywapi_live_<kid>_<secret> or wapi_test_<kid>_<secret>

Send exactly one of Authorization or X-WAPI-Key.

Body (form-data)

ParameterTypeRequiredDescription
emailstringYesEmail address for the new account
first_namestringYesUser's first name
last_namestringYesUser's last name
passwordstringYesAccount password

Notes:

  • email must be a valid email address.
  • first_name and last_name must be 2 to 255 characters and may contain letters, spaces, and hyphens.
  • password must be 8 to 30 characters and is also checked against WiPay's secure password policy on production.

Responses

200 OK

Returned when the account already exists.

{
  "message": "OK",
  "data": {
    "account_number": "1428855397"
  }
}

201 Created

Returned when a new account is successfully created.

{
  "message": "Created",
  "data": {
    "account_number": "1428855397"
  }
}
FieldTypeDescription
data.account_numberstringThe unique account number for the created user

400 Bad Request

{
  "message": "The email must be a valid email address."
}

401 Unauthorized

{
  "message": "Unauthorized"
}

403 Forbidden

Insufficient permissions
{
  "message": "Forbidden"
}
Account creation blocked by MMA configuration
{
  "message": "..."
}
Invalid scopes
{
  "message": "Invalid scope(s) provided."
}

Example

curl -X POST https://ttsb.wipayfinancial.com/wapi/accounts \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <access_token>" \
  -F "email=john@example.com" \
  -F "first_name=John" \
  -F "last_name=Smith" \
  -F "password=P@ssw0rd!23"