A customer who doesn't have an account yet needs to be registered.

The registration process involves the following steps:

1. Provide Metadata

To register customers you need to specify:

  • the customer country (to calculate tax),
  • currency,
  • locale (which defines language and text formatting).

To get this data, you can request from the frontend to /locales. This data is defined based on the IP address of the request.

2. Fetch Publisher's Consents

There are two types of consents:

  • terms & conditions (both Cleeng's and the publisher's ones)
  • marketing options (if applicable)

You can manage consents in Admin&Tools -> Capture and fetch them by /publishers/:publisherId/consents

3. Display Registration Form with Consents

The registration form should include at least email and password fields and checkboxes for terms & conditions and marketing options.

You shouldn't register the customer if she/he hasn't accepted the terms and conditions.

4. Register Customer

If the registration form has been completed correctly, the customer can be registered.
To register the customer use: /customers

5. Update Customer's Consents

After successful registration, submit the selected consents by request to /customers/:customerId/consents.

Registration flowchart


Registered customers are shown in the 'Customer Accounts' dashboard.

Go to 'Customer Accounts' page on sandbox or production.



Good to know

We recommend using Captcha mechanisms to prevent getting rate limits.

Rate limits are:

  • by default, each method has 200 rps and 50 concurrent requests,
  • login method has 50 rps and 20 concurrent requests,
  • registration method has 20 rps and 10 concurrent requests,
  • reset password method has 10 rps and 5 concurrent requests (because it sends an email).

When reaching the limit, you will get 429 error code. If that happens, wait a few moments to unlock this endpoint.

Updated about a month ago


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.