# Use Cases
source: https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/index.md

Issuer Enablement for Digital Commerce Experiences provides APIs that issuers and their service providers can use to create and manage digital payment credentials within Mastercard Credential Services.

## Choose an Issuer Enablement Use Case {#choose-an-issuer-enablement-use-case}

Choose an integration path based on who initiates the experience and the intended outcome.

### Enable consumer profiles and credentials automatically {#enable-consumer-profiles-and-credentials-automatically}

Auto Enablement is an issuer-initiated method for enabling consumer profiles and payment credentials without requiring each consumer to start the flow. Use this path for account opening, card issuance, portfolio migration, or other programs that require synchronous single enablement or asynchronous batch processing. For more information, see [Auto Enablement](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/index.md).

### Enable cardholders to add cards to Click to Pay {#enable-cardholders-to-add-cards-to-click-to-pay}

Push provisioning is a cardholder-initiated method for adding an eligible card to Click to Pay from an issuer digital channel. Use this path when a cardholder selects a card in a mobile app or online banking experience and chooses to add it to Click to Pay. For more information, see [Push-Provisioning](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/push-provisioning/index.md).

### Manage consumer profiles and credentials {#manage-consumer-profiles-and-credentials}

After enablement, use the credential-management APIs to retrieve, update, or delete consumer profiles and payment credentials. For more information, see [Manage Consumer Profiles and Credentials](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/life_cycle/index.md).

### Register Mastercard payment passkeys {#register-mastercard-payment-passkeys}

Mastercard payment passkey registration supports passkey-based authentication for future checkout experiences. Use this path to initiate registration through an issuer channel and associate a new or existing payment passkey with the applicable cardholder account. For more information, see [Getting Started with Passkeys](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/passkeys/index.md).

## Issuer Enablement API Requests {#issuer-enablement-api-requests}

Issuer Enablement supports the following API requests for Auto Enablement, push provisioning, consumer profile and credential management, and Mastercard payment passkey registration.

The descriptions explain the purpose of each request and identify dependent requests where one response provides information required by the next request.

#### Auto Enablement {#auto-enablement}

|                                                                                  Use Case                                                                                   |                                                                                                                                  Description                                                                                                                                  |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Enable a single consumer credential](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/enroll_api_sync/index.md)                  | Enable a single consumer profile and credential and receive the enablement result in the same API interaction. This synchronous flow does not require a subsequent Batch Status request.                                                                                      |
| [Enable consumer profiles and credentials in a batch](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/enroll_api_async/index.md) | Submit a single or multiple consumer profiles and credentials for asynchronous processing. Mastercard returns a `batchId` in the `202 Accepted` response. Use the returned `batchId` to check the batch enablement status.                                                    |
| [Check batch enablement status](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/batch_status/index.md)                           | Retrieve the overall batch status and record-level results using the `batchId` returned by the Batch Enroll API. Continue checking the status while the batch is processing. After processing completes, reconcile successful records or correct and resubmit failed records. |

#### Push provisioning {#push-provisioning}

|                                                                                             Use Case                                                                                             |                                                                                                                               Description                                                                                                                                |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Provision a card to Click to Pay through the synchronous Enroll API](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/push-provisioning/enroll-api/index.md)          | Use the synchronous Enroll API when a cardholder chooses to add one eligible card to Click to Pay through an issuer mobile app or website. Mastercard returns the enrollment result in the same API interaction.                                                         |
| [Provision a card to Click to Pay through the MDES Token Connect APIs](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/push-provisioning/mdes-token-connect/index.md) | Use the MDES Token Connect APIs when a cardholder chooses to add one eligible card to Click to Pay through an issuer mobile app or website. Review the linked use case for the required sequence of MDES Token Connect requests and the information passed between them. |

#### Credential management {#credential-management}

|                                                                  Use Case                                                                   |                                                                                                                                      Description                                                                                                                                       |
|---------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Retrieve a credential](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/life_cycle/index.md)     | Retrieve the current information and status of an enabled credential using its `externalCredentialId`. Use the returned information to determine whether the credential requires an update or deletion.                                                                                |
| [Update credential details](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/life_cycle/index.md) | Update supported information associated with an enabled credential using its `externalCredentialId`. Retrieve the credential first when the current information is needed to prepare the update, then retrieve it again if the integration requires confirmation of the stored values. |
| [Delete a credential](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/life_cycle/index.md)       | Remove an enabled credential using its `externalCredentialId` while retaining the consumer profile and other associated credentials. To add the credential again, follow the applicable synchronous or asynchronous enablement flow.                                                   |

#### Consumer profile management {#consumer-profile-management}

|                                                                  Use Case                                                                   |                                                                                             Description                                                                                              |
|---------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Retrieve consumer profile](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/life_cycle/index.md) | Retrieve a consumer profile and its associated credential information using the `externalConsumerId`. Use the returned profile information to determine whether an update or deletion is required.   |
| [Update a consumer profile](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/life_cycle/index.md) | Update the information stored for an existing consumer profile using its `externalConsumerId`. Retrieve the current profile first when its existing values are needed to prepare the update request. |
| [Delete a consumer profile](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/auto-enrollment/life_cycle/index.md) | Remove a consumer profile from the credential directory using its `externalConsumerId`. The Lifecycle Management use case explains the scope and consequences of deleting the complete profile.      |

#### Mastercard payment passkeys {#mastercard-payment-passkeys}

|                                                                          Use Case                                                                           |                                                                                              Description                                                                                              |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Initiate passkey registration](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/passkeys/index.md#step-1-customer-initiation)    | Start a Mastercard payment passkey registration session and initiate cardholder verification. Use the required information returned by this request in the payment passkey creation and binding step. |
| [Link passkey to account](https://developer.mastercard.com/issuer-enrollment/documentation/use-cases/passkeys/index.md#step-2-passkey-creation-and-binding) | Associate a new or existing payment passkey with one or more cardholder accounts to enable passkey-based authentication.                                                                              |

## End-to-End Issuer Enablement Process {#end-to-end-issuer-enablement-process}

This diagram shows how Issuer Enablement supports issuer-initiated auto enablement, customer-initiated push provisioning, and Mastercard payment passkey registration. Each path uses Mastercard Issuer Enablement APIs to create or update records in the issuer's credential directory, where profiles, credentials, account references, linked identities, and passkey associations can be managed over time.
Diagram issuer-enablement-e2e-process

## Error Handling {#error-handling}

If an Issuer Enablement request returns an error, review the HTTP status, reason code, likely cause, and recommended action in [Code and Formats](https://developer.mastercard.com/issuer-enrollment/documentation/code-and-formats/index.md).

Use the error guidance for the applicable workflow, such as enrollment submission, batch-status retrieval, profile management, credential management, or payment passkey registration.

## Next Steps {#next-steps}

* Review the prerequisites, actors, flow, and implementation guidance for the selected use case.
* Complete the [Quick Start Guide](https://developer.mastercard.com/issuer-enrollment/documentation/quick-start-guide/index.md) to prepare the integration.
* Review [API Basics](https://developer.mastercard.com/issuer-enrollment/documentation/api-basics/index.md) for environment, authentication, and encryption requirements.
* Use the [API Reference](https://developer.mastercard.com/issuer-enrollment/documentation/api-reference/apis/index.md) to review endpoint parameters and request and response schemas.
* Validate the selected workflow using the applicable [Testing](https://developer.mastercard.com/issuer-enrollment/documentation/testing/index.md) scenarios.
* Review [Codes and Formats](https://developer.mastercard.com/issuer-enrollment/documentation/code-and-formats/index.md) for HTTP statuses, reason codes, and resolution guidance.
