Arrow
Get started with Wazzup
Arrow
How to connect a messenger
Arrow
How to use Wazzup chats
Arrow
How to pay for the service
Arrow
Bitrix24
Arrow
Kommo
Arrow
Zoho CRM
Arrow
HubSpot
Arrow
Pipedrive
Arrow
Other CRMs
Arrow
How to sell even easier
Arrow
All about WABA
Arrow
For partners
Arrow
Public API
For partners
Arrow

End-customer accounts

A customer account (end-customer account, child account) is required to connect messengers, send and receive messages, interact with the CRM and other Wazzup tools.

To manage end‑customer accounts, use Basic authentication with your Wazzup affiliate account credentials in the request header: Authorization: Basic base64(email:password)

Methods

Create an end-customer account

White Label Partner Method: use this to independently create an end-customer account. You will then receive the end-customer's account_id, which is required to obtain user access tokens.

Method POST /v2/accounts
Parameter. Required are marked with * Type Description
name* string Account name. Minimum 3 characters
lang* string Account language: en, es, pt
currency* string Account currency: EUR, USD, KZT
country* string Account country: US, EU, KZ
timezone* number Account timezone. Minimum -12, maximum 14. For example, for Riga timezone specify 2

Request example:

curl -L 'https://tech.wazzup24.com/v2/accounts' \
-H 'Authorization: Basic base64(email:password)' \
-H 'Content-Type: application/json' \
-d '{
"name": "Demo Client",
"lang": "en",
"currency": "EUR",
"country": "EU",
"timezone": 2
}'

Response example:

{
"data": {
"account": {
"account_id": 12345678,
"name": "Demo Client"
}
},
"meta": {
"timestamp": 1763026882
}
}

Result: an end-customer account has been created. Save its account_id. Next, obtain client tokens to add channels, send messages, and use other API methods on behalf of the end customer.

Retrieve Account Information

This method returns the channels and payment information for the specified end-customer account.

Method GET /v2/accounts/{account_id}

Path parameters
account_id — end-customer account ID. Must be an 8-digit numeric string.

Query parameters
Use the expand parameter with the following values:

  • billing, determines who was last billed for the service: the partner or the end-customer;
  • channels, returns the account's channels information;
  • subscriptions, returns the account's subscription details.

Request example

curl -L 'https://tech.wazzup24.com/v2/accounts/12345678?expand=billing,channels,subscriptions' \
-H 'Authorization: Basic base64(email:password)'
{
"data": {
"id": 12345678,
"registered_at": "01.01.2022",
"assigned_at": "01.01.2022",
"billing": {
"last_payment": "client"
},
"channels": [
{
"id": "5a3a14e-2ea3-4fdd-953e-caf12609fb",
"name": "79528462093",
"transport": "tgapi",
"subscription_id": "16fdb3-998d-4948-888c-672233e6be"
}
],
"subscriptions": {
"id": "16fdb3-998d-4948-888c-6729c2e6be",
"expired_at": "01.01.2022",
"has_auto_renewal": true,
"tariff": "max"
}
},
"meta": {
"timestamp": 1762372398
}
}
response
│
├── data *
│ ├── id *
│ ├── registered_at *
│ ├── assigned_at *
│ ├── billing
│ │ └── last_payment *
│ │
│ ├── channels[]
│ │ ├── id *
│ │ ├── name *
│ │ ├── transport *
│ │ └── subscription_id *
│ │
│ └── subscriptions
│   ├── id *
│   ├── expired_at *
│   ├── has_auto_renewal *
│   └── tariff *
│
└── meta *
  └── timestamp *
Response parameter.
Required are marked with *
Type Description
data* object data End-customer account data
meta* object meta Response metadata

data (object)

Parameter.
Required are marked with *
Type Description
id* number Account ID
registered_at* string Registration date
assigned_at* string Date the end customer was assigned to the partner
billing object billing Billing information
channels array(object) channels List of end-customer account channels
subscriptions object subscriptions List of end-customer account subscriptions

billing (object)

Parameter.
Required are marked with *
Type Description
last_payment* string Who made the last payment: client, partner

channels (object)

Parameter.
Required are marked with *
Type Description
id* string Channel ID
name* string Channel name
transport* string Channel transport type: instagram, telegram for Telegram Bot, tgapi for Telegram, vk, wapi for WABA, whatsapp, viber, max, avito
subscription_id* string Subscription ID

subscriptions (object)

Parameter.
Required are marked with *
Type Description
id* string Subscription ID
expired_at* string Subscription expiration date
has_auto_renewal* boolean Auto-renewal enabled
tariff* string Subscription tariff: start, inbox, pro, max, waba, free

meta (object)

Parameter.
Required are marked with *
Type Description
timestamp* number Response date

Result: Information about the account_id you created earlier.

List of End‑Customer Accounts

Method GET /v2/accounts

Query parameters
Use the expand parameter with the following values:

  • billing, determines who was last billed for the service: the partner or the end-customer;
  • channels, returns the account's channels information;
  • subscriptions, returns the account's subscription details.

limit — the maximum number of records to return. Default: 50
offset — pagination offset. Default: 0

Request example without additional query parameters:

curl -L 'https://tech.wazzup24.com/v2/accounts' \
-H 'Authorization: Basic base64(email:password)'

Response example:

{
"data": [
{
"id": 12345678,
"registered_at": "2025-11-06T09:32:09.760Z",
"assigned_at": "2025-11-06T09:32:09.760Z"
},
{
"id": 11111111,
"registered_at": "2025-11-06T09:35:12.765Z",
"assigned_at": "2025-11-06T09:35:12.765Z"
},
{
"id": 22222222,
"registered_at": "2025-11-12T10:08:25.814Z",
"assigned_at": "2025-11-12T10:08:25.814Z"
}
],
"meta": {
"timestamp": 1763031150
}
}

Result: The response array will contain a list of end-customer accounts associated with your partner account.

Update Account Information

Method PATCH /v2/accounts/{account_id}

Path parameters
account_id — Account ID.

Request parameters
Currently, this method only allows updating the timezone. Therefore, only pass the timezone parameter with the new value.

If you include other parameters, the corresponding account information will not be updated, and no error will be returned in the response.

Request example:

curl -L -X PATCH 'https://tech.wazzup24.com/v2/accounts/12345678' \
-H 'Authorization: Basic base64(email:password)' \
-H 'Content-Type: application/json' \
-d '{
"timezone": 2
}'

Response example:

{
"data": {
"account_id": 12345678,
"timezone": 2,
"currency": "EUR",
"email": "[email protected]",
"lang": "en",
"name": "Demo Client LTD",
"type": "CHILD_POSTPAY"
},
"meta": {
"timestamp": 1762372398
}
}

Result: The account timezone has been updated.

Common errors

HTTP Error When it occurs How to resolve
400 BAD_REQUEST Invalid field values: language, currency, timezone, or others Verify the values and their format
401 UNAUTHORIZED Authorization Error Verify that the correct token is provided in the Authorization header
403 FORBIDDEN The partner does not own the specified account_id Verify the account_id — it must belong to your partner account
404 NOT_FOUND Account not found Verify the account_id
422 VALIDATION_FAILED Missing required fields or constraint violations Correct the request

What's next

After authorization: