# Object Identifiers
source: https://developer.mastercard.com/mastercard-processing-core/documentation/api-basics-section/object-identifiers/index.md

Mastercard Processing is flexible and provides multiple identifiers that can manage the main objects of the CMS: client, account contract, and card contract. Some identifiers are generated by Mastercard Processing, and some can come from servers. This documentation refers to servers as the core banking system (CBS). When you create a new client, account contract, or card contract object; you will be asked to provide your CBS number in the request. You will receive our technical number as the object identifier in the response, and you must reference it in all requests concerning that object. If you do not want to store our technical CMS numbers in your system, you can send a request to retrieve the CMS numbers. The CMS will maintain the mapping between your CBS numbers and our technical identifiers.

The following list names all objects and their available identifiers:

* **Client** : The client number is generated by the CMS and is stored in the `clientId` field. The client identification number is defined by you and is named `clientNumber` in our system. It must contain a three-letter prefix related to your company name to prevent other institutions using the same `clientNumber`. Your unique prefix is approved during onboarding. If you do not need to store the `clientId` from the CMS in your own system, you can store the `clientNumber` and the CMS will maintain the mapping between those two identifiers.
* **Account contract** : The account contract number is generated by the CMS and is stored in the 'accountContractId' field. The number provided by your CBS is called the `accountContractNumber`, and it must be preceded by a three-letter prefix. The `cbsNumber` is used in our Graphic User Interface (GUI), Workbench. It is typically generated by the CMS, but it can be provided by your CBS.
* **Card contract** : The unique number generated by the CMS system by default in the `cardContractId` field for use in operations requests. The `cardContractNumber` stores the PAN in 16-digit format as the card contract stores data directly related to the card. If issuers do not want to handle [PAN related decisions](https://developer.mastercard.com/mastercard-processing-core/documentation/guides/pan-related-decisions/index.md), the alternative `cbsNumber` is generated by the CMS or provided by the CBS and used in our GUI Workbench. Mastercard Processing is a full PCI (Payment Card Industry) compliant partner. We keep both values in CMS and PAN and map them to the `cbsNumber` and `cardContractId`.

|    **Object**    | **Identifier (API field name)** | **Generated by** |                            **Description and Format**                            |
|------------------|---------------------------------|------------------|----------------------------------------------------------------------------------|
| Client           | clientId                        | CMS              | NUMERIC                                                                          |
|                  | clientNumber                    | Issuer           | Issuer prefix (set by CMS) + number generated by issuer Example: 'ABC_000000001' |
| Account contract | accountContractId               | CMS              | NUMERIC                                                                          |
|                  | accountContractNumber           | Issuer           | Issuer prefix (set by CMS) + number generated by issuer Example: 'ABC_000000001' |
|                  | cbsNumber                       | Issuer/CMS       | CHAR 64                                                                          |
| Card contract    | cardContractId                  | CMS              | NUMERIC                                                                          |
|                  | cardContractNumber              | Issuer/CMS       | Primary Account Number (PAN); 16 digits                                          |
|                  | cbsNumber                       | Issuer/CMS       | CHAR 64                                                                          |

Note: The account contract and card contract identifiers generated by the CMS are named `accountContractId` and `cardContractId`. If you encounter the `contractId` parameter, you must provide the `accountContractId` or `cardContractId` depending on the object you want to manage. The `contractId` occurs when the operation is universal. A universal operation can handle either the account contract or card contract. For example, to update a card contract provide the `cardContractId`. To update an account contract provide the `accountContractId`.

![](https://static.developer.mastercard.com/content/mastercard-processing-core/uploads/processing_14.png)
