# API Configuration
source: https://developer.mastercard.com/mastercard-processing-core/documentation/api-basics-section/configuration/index.md

The Mastercard Processing API enables a customized configuration for each issuer to align with specific requirements. Configuration includes, among others, definitions of special fields, available characters, and dictionaries. Part of the API configuration is also a list of `operationId` enabled for each issuer. The list depends on the product that the issuer wants to implement. The following `operationIds` are available for credit, debit, and prepaid products.

|                Section                |                                                                                                                     Use case                                                                                                                     |           OperationId           | Credit card | Debit card | Prepaid Card |
|---------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|-------------|------------|--------------|
| Card lifecycle management             | [Order a Virtual Card](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/order-a-virtual-card/index.md)                                                                                         | createClient                    | +           | +          | +            |
|                                       |                                                                                                                                                                                                                                                  | createAccountContract           | +           | +          | +            |
|                                       |                                                                                                                                                                                                                                                  | createCardContract              | +           | +          | +            |
|                                       | [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                     | +           | +          | +            |
|                                       | [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                     | +           | +          | +            |
|                                       | [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        | +           | +          | +            |
|                                       |                                                                                                                                                                                                                                                  | reissueCard                     | +           | +          | +            |
|                                       | [Replace a Physical Card](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/replace-pc/index.md)                                                                                                | changeCardContractStatus        | +           | +          | +            |
|                                       |                                                                                                                                                                                                                                                  | reissueCard                     | +           | +          | +            |
|                                       | [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                     | +           | +          | +            |
|                                       | [Renew a Physical Card](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/renew-pc/index.md)                                                                                                    | reissueCard                     | +           | +          | +            |
|                                       | [Activate a Card](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/activate-a-card/index.md)                                                                                                   | activateCard                    | +           | +          | +            |
|                                       | [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                 | +           | +          | +            |
|                                       |                                                                                                                                                                                                                                                  | getCVC                          | +           | +          | +            |
|                                       | [Set or update authentication method](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/set-update-auth-method/index.md)                                                                        | setAuthenticationMethod         | +           | +          | +            |
|                                       | [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               | -           | -          | -            |
|                                       | [Verify CVC2](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/verify-cvc2/index.md)                                                                                                           | verifyCVC                       | +           | +          | +            |
|                                       | [Change a Card status](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/change-card-status/index.md)                                                                                           | changeCardContractStatus        | +           | +          | +            |
|                                       | [Close an Account](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/close-an-account/index.md)                                                                                                 | changeAccountContractStatus     | +           | -          | +            |
|                                       | [Open an Event](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/open-an-event/index.md)                                                                                                       | openEvent                       | -           | -          | -            |
|                                       | [Set Service Limit Tariff](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/card-lifecycle/set-service-limit-tariff/index.md)                                                                                 | setServiceLimitTariff           | +           | -          | -            |
| PIN management                        | [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                          | +           | +          | +            |
|                                       | [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                 | +           | +          | +            |
|                                       |                                                                                                                                                                                                                                                  | setPIN                          | +           | +          | +            |
|                                       | [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                       | -           | -          | -            |
|                                       | [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                 | +           | +          | +            |
|                                       |                                                                                                                                                                                                                                                  | verifyPIN                       | -           | -          | -            |
|                                       | [Display a PIN](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/pin-management/display-a-pin/index.md)                                                                                                       | getPIN                          | +           | +          | +            |
|                                       | [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 | -           | -          | -            |
|                                       |                                                                                                                                                                                                                                                  | clearOnlinePinAttempts          | +           | +          | +            |
| Data management                       | [Update Client data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-client-data/index.md)                                                                                            | updateClient                    | +           | +          | +            |
|                                       | [Update Account Contract data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-accnt-contract-data/index.md)                                                                          | updateAccountContract           | +           | +          | +            |
|                                       | [Update Card Contract data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-card-contract-data/index.md)                                                                              | updateCardContract              | +           | +          | +            |
|                                       | [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     | -           | +^1^       | +^1^         |
|                                       | [Relink Subaccount to another parent Account Contract](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/relink-subacct-another-par-acct-con/index.md)                                         | changeContractMainContract      | -           | +^1^       | +^1^         |
|                                       | [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        | -           | -          | -            |
|                                       | [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  | -           | -          | -            |
|                                       | [Add or update Custom Data](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/add-update-custom-data/index.md)                                                                                 | setClientCustomData             | +           | -          | -            |
|                                       |                                                                                                                                                                                                                                                  | setContractCustomData           | +           | +          | +            |
|                                       | [Add an Address](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/add-an-address/index.md)                                                                                                    | addClientAddress                | -           | -          | -            |
|                                       |                                                                                                                                                                                                                                                  | addContractAddress              | -           | -          | -            |
|                                       | [Update an Address](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-an-address/index.md)                                                                                              | updateClientAddress             | -           | -          | -            |
|                                       |                                                                                                                                                                                                                                                  | updateContractAddress           | -           | -          | -            |
| Query CMS to get particular data      | [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                       | +           | +          | +            |
|                                       | [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              | +           | +          | +            |
|                                       | [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                 | +           | +          | +            |
|                                       | [Retrieve CVC2](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-cvc2/index.md)                                                                        | getCVC                          | +           | +          | +            |
|                                       | [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     | +           | +          | +            |
|                                       | [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        | +           | +          | +            |
|                                       | [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            | +           | -          | -            |
|                                       | [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          | -           | -          | -            |
|                                       | [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        | -           | -          | -            |
|                                       |                                                                                                                                                                                                                                                  | getCardContractStatus           | +           | +          | +            |
|                                       | [Retrieve Subaccounts](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-subacc/index.md)                                                               | getSubAccountContracts          | -           | -          | -            |
|                                       | [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       | +           | +          | +            |
|                                       | [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             | +           | +          | +            |
|                                       |                                                                                                                                                                                                                                                  | getContractCustomData           | +           | +          | +            |
|                                       | [Retrieve Addresses](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-addresses/index.md)                                                              | getClientAddresses              | -           | -          | -            |
|                                       |                                                                                                                                                                                                                                                  | getContractAddresses            | -           | -          | -            |
|                                       | [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           | +           | -          | -            |
|                                       | [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             | +           | -          | +            |
|                                       | [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 | -           | -          | -            |
|                                       | [Retrieve Tariffs](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/query-cms-get-particular-data/retrieve-tariffs/index.md)                                                                  | getContractTariffData           | +           | -          | -            |
| Classifiers and Parameters management | [Set Classifier](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/classifiers-and-parameters-management/set-classifier/index.md)                                                                              | setClientClassifier             | -           | -          | -            |
|                                       |                                                                                                                                                                                                                                                  | setContractClassifier           | +           | +          | +            |
|                                       | [Retrieve Classifiers](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/classifiers-and-parameters-management/retrieve-classifiers/index.md)                                                                  | getClientClassifiers            | -           | -          | -            |
|                                       |                                                                                                                                                                                                                                                  | getContractClassifiers          | +           | +          | +            |
|                                       | [Set Parameter](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/classifiers-and-parameters-management/set-parameter/index.md)                                                                                | setContractParameter            | +           | -          | +            |
|                                       | [Retrieve Parameters](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/classifiers-and-parameters-management/retrieve-parameters/index.md)                                                                    | getContractParameters           | +           | -          | +            |
| Transactions and fees management      | [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 a Credit Transaction](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/post-credit-trans/index.md)                                                                     | creditContract                  | +           | -          | +            |
|                                       | [Charge a Fee](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/charge-a-fee/index.md)                                                                                       | chargeFee                       | +           | -          | +            |
|                                       | [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             | -           | -          | -            |
|                                       | [Reverse a Transaction](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/reverse-a-trans/index.md)                                                                           | reverseTransaction              | -           | -          | -            |
|                                       | [Retrieve Transactions](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/retrieve-trans/index.md)                                                                            | getTransactions                 | +           | +          | +            |
|                                       | [Retrieve Transaction Documents](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/retrieve-trans-docs/index.md)                                                              | getContractTransactionDocuments | -           | -          | -            |
|                                       | [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         | -           | -          | -            |
|                                       | [Retrieve Transaction's Fees](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/transactions-and-fees-management/retrieve-trans-fees/index.md)                                                                 | getTransactionFees              | -           | -          | -            |
| Usage limits management               | [Update Usage Limit](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/usage-limits-management/update-usage-limit/index.md)                                                                                    | setUsageLimit                   | +           | +          | +            |
|                                       | [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          | +           | +          | +            |
|                                       | [Reset Usage Limit counters](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/usage-limits-management/reset-usage-limit-counters/index.md)                                                                    | resetUsageLimitCounters         | +           | +          | +            |
|                                       | [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 | +           | +          | +            |
|                                       | [Retrieve Usage Limits details](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/usage-limits-management/retrieve-usage-limits-details/index.md)                                                              | getUsageLimits                  | +           | +          | +            |
| CMS identifiers search                | [Retrieve clientId](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/cms-identifiers-search/retrieve-clientid/index.md)                                                                                       | getClientId                     | +           | +          | +            |
|                                       | [Retrieve accountContractId](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/cms-identifiers-search/retrieve-accountcontractid/index.md)                                                                     | getAccountContractId            | +           | +          | +            |
|                                       | [Retrieve cardContractId](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/cms-identifiers-search/retrieve-cardcontractid/index.md)                                                                           | getCardContractId               | +           | +          | +            |

^1^ `changeAccountContractClient` and `changeContractMainContract` operations are available only with Pre-embossed Debit or Prepaid.
Note: If you try to execute the `operationId` that is disabled in your API configuration, you will receive a dedicated error. For more information about error messages, see [Error Codes](https://developer.mastercard.com/mastercard-processing-core/documentation/code-and-formats/index.md). Tip: As an issuer, you determine the scope of API operations to support. During onboarding, you can select the operations and business use cases you want to enable by completing the Product Parametrization Workbook (PPW), specifically the API Operations worksheet.

A minimum set of core operations is mandatory and is pre-enabled in the PPW with Value = Yes and Type = Default. These operations must be implemented by every issuer. Examples include `createClient`, `createAccountContract`, and `createCardContract`.

All API operations enabled in the PPW must be implemented, tested, and formally validated during User Acceptance Testing (UAT). Successful validation of these operations is required to obtain approval and gain access to the Production environment.

## Dictionaries {#dictionaries}

API uses dictionaries to:

* Validate values used in requests.
* Transform values between API and Card Management System (CMS) in both directions.

Realizing those functionalities requires a specific configuration based on which API operation can execute validation and transformation actions. Dictionaries store the possible values of some fields used in API operations and sometimes store mappings to CMS values. All dictionaries must be configured during onboarding.

API allows limiting or extending the available characters or setting a specific mask for sending the data, such as phone number or e-mail.
