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| Access | Requirement |
|---|---|
| Authenticated | Yes |
| Required Scope | wapi-accounts-create, or wapi-accounts-all |
| Rate Limit | 5 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
| Header | Value |
|---|---|
Accept | application/json |
Authorization | Bearer <access_token> |
X-WAPI-Key | wapi_live_<kid>_<secret> or wapi_test_<kid>_<secret> |
Send exactly one of Authorization or X-WAPI-Key.
Body (form-data)
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Email address for the new account |
first_name | string | Yes | User's first name |
last_name | string | Yes | User's last name |
password | string | Yes | Account password |
Notes:
emailmust be a valid email address.first_nameandlast_namemust be 2 to 255 characters and may contain letters, spaces, and hyphens.passwordmust 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"
}
}| Field | Type | Description |
|---|---|---|
data.account_number | string | The 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
{
"message": "Forbidden"
}{
"message": "..."
}{
"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"