> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/click-to-pay/get-started/manage-end-users/register-end-users-via-api.md).

# Register end users via API

Register end users in D1 to link cards to an end user.

This is a backend-to-backend flow between your **issuer backend** and the **D1 backend**.

### When end user registration is required

End user registration depends on how you use D1:

* **Card creation model**: Register the end user before you create any card in D1.
* **Card registration model**: End user registration can be:
  * **Explicit**, via the D1 API, or
  * **Implicit**, during card creation or card registration (based on `consumerId`).

### Define `consumerId`

Your issuer backend provides a `consumerId` for each end user. D1 uses it to identify the end user. It is used in the D1 API, D1 SDK, and D1 portal.

`consumerId` must not contain personal information. Do not include name, email address, phone number, PAN, or similar data.

### Choose a registration model

Choose whether the D1 backend stores end user personal information. This choice changes your registration flow.

#### Store personal information in the D1 backend

Use this model when you want D1 to store personal information. D1 can then cache the data. This reduces calls to your issuer backend.

You must provide the mandatory fields in `personalInformation`.

You must keep D1 up to date when personal information changes.

<figure><img src="/spaces/62lLFDcmLCeqqwmy4Fee/files/i5w22YlP0DfCZyKP7F4y" alt=""><figcaption><p>Consumer registration flow between the issuer backend and the D1 backend</p></figcaption></figure>

#### Do not store personal information in the D1 backend

Use this model when D1 must not store personal information.

You can still register the end user explicitly without `personalInformation`.

You can also skip explicit registration. Rely on implicit registration during card creation or card registration.

When D1 needs personal information, it calls your issuer backend. For example, it can do this for Tokenization.

{% hint style="info" %}
If you already use **Register Consumer 1.0**, you can keep using it. Use **Register Consumer 2.0** for new integrations.
{% endhint %}

<figure><img src="/spaces/62lLFDcmLCeqqwmy4Fee/files/WExE2X1EC8srhZAcoLqX" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payments.thalescloud.io/click-to-pay/get-started/manage-end-users/register-end-users-via-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
