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

## Overview {#overview}

Each use case provides the following information:

* A brief description of the use case
* A sequence diagram
* A detailed explanation
* A part of API specification with the endpoint(s) used in the use case

Note: The diagrams do not contain end-to-end encryption which is part of every operation. Refer to [Encryption](https://developer.mastercard.com/mastercard-processing-core/documentation/api-basics-section/encryption/index.md) for more information.

The following use cases are provided.


|                                                                                                   Use case                                                                                                    |         OperationId         | Method |                               URI                               |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|--------|-----------------------------------------------------------------|
| [Order a Virtual Card](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/order-a-virtual-card/index.md)                                                      | createClient                | POST   | /clients                                                        |
|                                                                                                                                                                                                               | createAccountContract       | POST   | /accounts                                                       |
|                                                                                                                                                                                                               | createCardContract          | POST   | /cards                                                          |
| [Order a Physical Card through Mastercard Processing Personalization Bureau](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/order-through-mc-pb/index.md) | reissueCard                 | POST   | /cards/{card_contract_id}/plastics                              |
| [Order a Physical Card through Issuer's Personalization Bureau](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/order-through-is-pb/index.md)              | reissueCard                 | POST   | /cards/{card_contract_id}/plastics                              |
| [Replace a Card with New Virtual and Physical Cards](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/replace-vc-with-pc/index.md)                          | changeCardContractStatus    | PUT    | /cards/{card_contract_id}/status                                |
|                                                                                                                                                                                                               | reissueCard                 | POST   | /cards/{card_contract_id}/plastics                              |
| [Replace a Physical Card](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/replace-pc/index.md)                                                             | changeCardContractStatus    | PUT    | /cards/{card_contract_id}/status                                |
|                                                                                                                                                                                                               | reissueCard                 | POST   | /cards/{card_contract_id}/plastics                              |
| [Renew a Card with New Virtual and Physical Cards](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/renew-with-vc-pc/index.md)                              | reissueCard                 | POST   | /cards/{card_contract_id}/plastics                              |
| [Renew a Physical Card](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/renew-pc/index.md)                                                                 | reissueCard                 | POST   | /cards/{card_contract_id}/plastics                              |
| [Activate a Card](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/activate-a-card/index.md)                                                                | activateCard                | PUT    | /cards/{card_contract_id}/active                                |
| [Display Card Details to the Cardholder](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/disp-card-det-to-crdholder/index.md)                              | getCardContract             | GET    | /cards/{card_contract_id}                                       |
|                                                                                                                                                                                                               | getCVC                      | POST   | /cards/{card_contract_id}/card-verification-codes/searches      |
| [Set or update authentication method](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/set-update-auth-method/index.md)                                     | setAuthenticationMethod     | PUT    | /contracts/{contract_id}/authentication-method                  |
| [Verify Card details (PAN, expiry date, CVC2)](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/verify-card-details/index.md)                               | verifyCardDetails           | POST   | /cards/details-verifications                                    |
| [Verify CVC2](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/verify-cvc2/index.md)                                                                        | verifyCVC                   | POST   | /cards/{card_contract_id}/card-verification-codes/verifications |
| [Change a Card status](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/change-card-status/index.md)                                                        | changeCardContractStatus    | PUT    | /cards/{card_contract_id}/status                                |
| [Close an Account](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/close-an-account/index.md)                                                              | changeAccountContractStatus | PUT    | /accounts/{account_contract_id}/status                          |
| [Open an Event](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/open-an-event/index.md)                                                                    | openEvent                   | POST   | /contracts/{contract_id}/events                                 |
| [Set Service Limit Tariff](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/set-service-limit-tariff/index.md)                                              | setServiceLimitTariff       | POST   | /contracts/{contract_id}/service-limit-tariffs                  |

|                                                                                   Use case                                                                                   |           OperationId           | Method |                          URI                          |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|--------|-------------------------------------------------------|
| [Set a PIN for a Full PAN Issuer](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/pin-management/set-pin-full-pan-issuer/index.md)       | setPIN                          | PUT    | /cards/{card_contract_id}/pin                         |
| [Set a PIN for a PAN-less Issuer](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/pin-management/set-pin-pan-less-issuer/index.md)       | getPublicRsaKey                 | POST   | /public-keys                                          |
|                                                                                                                                                                              | setPIN                          | PUT    | /cards/{card_contract_id}/pin                         |
| [Order a PIN Reprint](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/pin-management/order-pin-reprint/index.md)                         | reissueCard                     | POST   | /cards/{card_contract_id}/plastics                    |
| [Verify a PIN for a Full PAN Issuer](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/pin-management/verify-pin-full-pan-issuer/index.md) | verifyPIN                       | POST   | /cards/{card_contract_id}/pins/verifications          |
| [Verify a PIN for a PAN-less Issuer](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/pin-management/verify-pin-pan-less-issuer/index.md) | getPublicRsaKey                 | POST   | /public-keys                                          |
|                                                                                                                                                                              | verifyPIN                       | POST   | /cards/{card_contract_id}/pins/verifications          |
| [Display a PIN](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/pin-management/display-a-pin/index.md)                                   | getPIN                          | POST   | /cards/{card_contract_id}/pins/searches               |
| [Clear the online PIN try counter](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/pin-management/clear-online-pin-try-counter/index.md) | clearOnlinePinAttemptsForClient | PUT    | /clients/{client_id}/online-pin-attempts-counter      |
|                                                                                                                                                                              | clearOnlinePinAttempts          | PUT    | /cards/{card_contract_id}/online-pin-attempts-counter |

|                                                                                                      Use case                                                                                                       |          OperationId           | Method |                        URI                        |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------|--------|---------------------------------------------------|
| [Update Client data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-client-data/index.md)                                                               | updateClient                   | PATCH  | /clients/{client_id}                              |
| [Update Account Contract data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-accnt-contract-data/index.md)                                             | updateAccountContract          | PATCH  | /accounts/{account_contract_id}                   |
| [Update Card Contract data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-card-contract-data/index.md)                                                 | updateCardContract             | PATCH  | /cards/{card_contract_id}                         |
| [Relink Account Contract to another Client](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/relink-acct-con-another-client/index.md)                            | changeAccountContractClient    | PUT    | /accounts/{account_contract_id}/client-identifier |
| [Relink Subaccount to another parent Account Contract and Client](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/relink-subacct-another-par-acct-con/index.md) | changeContractMainContract     | PUT    | /contracts/{contract_id}/main-contract            |
| [Relink Card Contract to another Client](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/relink-card-con-another-client/index.md)                               | changeCardContractClient       | PUT    | /cards/{card_contract_id}/client-identifier       |
| [Relink Card contract to another Account contract](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/relink-card-con-another-acc-con/index.md)                    | changeCardContractMainContract | PUT    | /cards/{card_contract_id}/main-contract           |
| [Add or update Custom Data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/add-update-custom-data/index.md)                                                    | setClientCustomData            | POST   | /clients/{client_id}/custom-data                  |
|                                                                                                                                                                                                                     | setContractCustomData          | POST   | /contracts/{contract_id}/custom-data              |
| [Add an Address](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/add-an-address/index.md)                                                                       | addClientAddress               | POST   | /clients/{client_id}/addresses                    |
|                                                                                                                                                                                                                     | addContractAddress             | POST   | /contracts/{contract_id}/addresses                |
| [Update an Address](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-an-address/index.md)                                                                 | updateClientAddress            | PUT    | /clients/{client_id}/addresses/{address_type}     |
|                                                                                                                                                                                                                     | updateContractAddress          | PUT    | /contracts/{contract_id}/addresses/{address_type} |

|                                                                                                                     Use case                                                                                                                     |           OperationId           | Method |                            URI                             |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|--------|------------------------------------------------------------|
| [Retrieve Client data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-client-data/index.md)                                                          | getClient                       | GET    | /clients/{client_id}                                       |
| [Retrieve Account contract data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-acct-con-data/index.md)                                              | getAccountContract              | GET    | /accounts/{account_contract_id}                            |
| [Retrieve a list of Card Plastics](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-list-of-card-plastics/index.md)                                    | getCardPlastics                 | GET    | /cards/{card_contract_id}/plastics                         |
| [Retrieve CVC2](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-cvc2/index.md)                                                                        | getCVC                          | POST   | /cards/{card_contract_id}/card-verification-codes/searches |
| [Retrieve a list of Account Contracts for a Client](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-list-acc-contracts-for-client/index.md)           | getAccountContractsByClient     | GET    | /clients/{client_id}/account-contracts                     |
| [Retrieve a list of Card Contracts for a Client](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-list-card-contracts-for-client/index.md)             | getCardContractsByClient        | GET    | /clients/{client_id}/card-contracts                        |
| [Retrieve technical Accounts](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-technical-acc/index.md)                                                 | getTechnicalAccounts            | GET    | /contracts/{contract_id}/technical-accounts                |
| [Retrieve Contract tree structure summary](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-con-tree-struct-summary/index.md)                          | getContractTreeSummary          | GET    | /contracts/{contract_id}/tree-summaries                    |
| [Retrieve Account Contract or Card Contract status](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-acc-or-card-con-status/index.md)                  | getAccountContractStatus        | GET    | /accounts/{account_contract_id}/statuses                   |
|                                                                                                                                                                                                                                                  | getCardContractStatus           | GET    | /cards/{card_contract_id}/statuses                         |
| [Retrieve Subaccounts](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-subacc/index.md)                                                               | getSubAccountContracts          | GET    | /accounts/{account_contract_id}/sub-accounts               |
| [Retrieve a list of Card Contracts for an Account Contract](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-list-card-contracts-for-acc-con/index.md) | getCardContractsByAccount       | GET    | /accounts/{account_contract_id}/card-contracts             |
| [Retrieve Custom Data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-custom-data/index.md)                                                          | getClientCustomData             | GET    | /clients/{client_id}/custom-data/{tag_name}                |
|                                                                                                                                                                                                                                                  | getContractCustomData           | GET    | /contracts/{contract_id}/custom-data/{tag_name}            |
| [Retrieve Addresses](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-addresses/index.md)                                                              | getClientAddresses              | GET    | /clients/{client_id}/addresses                             |
|                                                                                                                                                                                                                                                  | getContractAddresses            | GET    | /contracts/{contract_id}/addresses                         |
| [Retrieve financial information](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-fin-info/index.md)                                                   | getContractFinancials           | GET    | /contracts/{contract_id}/financials                        |
| [Retrieve Contract's balances](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-con-balances/index.md)                                                 | getContractBalances             | GET    | /contracts/{contract_id}/balances                          |
| [Retrieve authentication parameter's value](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-auth-para-value/index.md)                                 | getAuthenticationParameterValue | GET    | /contracts/{contract_id}/authentication-parameter-values   |
| [Retrieve Tariffs](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-tariffs/index.md)                                                                  | getContractTariffData           | GET    | /contracts/{contract_id}/tariff-data                       |

|                                                                                    Use case                                                                                     |      OperationId       | Method |                          URI                           |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|--------|--------------------------------------------------------|
| [Set Classifier](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/classifiers-and-parameters-management/set-classifier/index.md)             | setClientClassifier    | PUT    | /clients/{client_id}/classifiers/{classifier_code}     |
|                                                                                                                                                                                 | setContractClassifier  | PUT    | /contracts/{contract_id}/classifiers/{classifier_code} |
| [Retrieve Classifiers](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/classifiers-and-parameters-management/retrieve-classifiers/index.md) | getClientClassifiers   | GET    | /clients/{client_id}/classifiers/{classifier_code}     |
|                                                                                                                                                                                 | getContractClassifiers | GET    | /contracts/{contract_id}/classifiers/{classifier_code} |
| [Set Parameter](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/classifiers-and-parameters-management/set-parameter/index.md)               | setContractParameter   | PUT    | /contracts/{contract_id}/parameters/{parameter_code}   |
| [Retrieve Parameters](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/classifiers-and-parameters-management/retrieve-parameters/index.md)   | getContractParameters  | GET    | /contracts/{contract_id}/parameters/{parameter_code}   |

|                                                                                                     Use case                                                                                                     |           OperationId           | Method |                                      URI                                       |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|--------|--------------------------------------------------------------------------------|
| [Post a Debit Transaction](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/post-debit-trans/index.md)                                       | debitContract                   | POST   | /contracts/{contract_id}/debits                                                |
| [Post a Credit Transaction](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/post-credit-trans/index.md)                                     | creditContract                  | POST   | /contracts/{contract_id}/credits                                               |
| [Charge a Fee](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/charge-a-fee/index.md)                                                       | chargeFee                       | POST   | /contracts/{contract_id}/charge-fees                                           |
| [Release blocked funds (cancel pending transaction)](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/release-blocked-funds/index.md)        | releaseBlockedFunds             | PUT    | /contracts/{contract_id}/transactions/{transaction_id}/releasing-blocked-funds |
| [Reverse a Transaction](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/reverse-a-trans/index.md)                                           | reverseTransaction              | POST   | /transactions/{transaction_id}/reversal                                        |
| [Retrieve Transactions](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/retrieve-trans/index.md)                                            | getTransactions                 | GET    | /contracts/{contract_id}/transactions                                          |
| [Retrieve Transaction Documents](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/retrieve-trans-docs/index.md)                              | getContractTransactionDocuments | GET    | /contracts/{contract_id}/transaction-documents                                 |
| [Retrieve Transaction Documents by ID, ARN, RRN or SRN](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/retrieve-trans-docs-by-id/index.md) | getTransactionDocuments         | GET    | /transaction-documents                                                         |
| [Retrieve Transaction's Fees](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/retrieve-trans-fees/index.md)                                 | getTransactionFees              | GET    | /transactions/{transaction_id}/fees                                            |

|                                                                                            Use case                                                                                             |           OperationId           | Method |                                     URI                                     |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|--------|-----------------------------------------------------------------------------|
| [Update Usage Limit](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/usage-limits-management/update-usage-limit/index.md)                                   | setUsageLimit                   | PUT    | /contracts/{contract_id}/usage-limits/{usage_limit_code}                    |
| [Enable or disable Usage Limit](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/usage-limits-management/enable-disable-usage-limit/index.md)                | changeUsageLimitStatus          | PUT    | /contracts/{contract_id}/usage-limits/{usage_limit_code}/status             |
| [Reset Usage Limit counters](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/usage-limits-management/reset-usage-limit-counters/index.md)                   | resetUsageLimitCounters         | PUT    | /contracts/{contract_id}/usage-limits/{usage_limit_code}/resetting-counters |
| [Restore Usage Limit original values](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/usage-limits-management/restore-usage-limit-original-values/index.md) | restoreUsageLimitOriginalValues | PUT    | /contracts/{contract_id}/usage-limits/{usage_limit_code}/original-values    |
| [Retrieve Usage Limits details](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/usage-limits-management/retrieve-usage-limits-details/index.md)             | getUsageLimits                  | GET    | /contracts/{contract_id}/usage-limits                                       |

|                                                                                   Use case                                                                                   |     OperationId      | Method |        URI         |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|--------|--------------------|
| [Retrieve clientId](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/cms-identifiers-search/retrieve-clientid/index.md)                   | getClientId          | POST   | /clients/searches  |
| [Retrieve accountContractId](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/cms-identifiers-search/retrieve-accountcontractid/index.md) | getAccountContractId | POST   | /accounts/searches |
| [Retrieve cardContractId](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/cms-identifiers-search/retrieve-cardcontractid/index.md)       | getCardContractId    | POST   | /cards/searches    |

<br />

