Mastercard · Schema

Mastercard Card

A Mastercard payment card representing a physical or virtual card instrument issued to a cardholder. Covers prepaid, debit, credit, and commercial card products across Card Issuance, BIN Lookup, Benefit Eligibility, and tokenization services.

Credit CardsDigital IdentityFinancial ServicesFraud DetectionOpen BankingPaymentsFortune 500

Properties

Name Type Description
cardNumber string Primary Account Number (PAN) for the card. Must pass Luhn algorithm validation.
cardId string Unique system-generated identifier for the card within the Mastercard issuing platform.
cardPackId string Identifier for the card pack, used in card issuance and fulfillment.
cardType string Classification of the card product.
cardProductCode string Three-character code identifying the specific card product (e.g., MSI for Mastercard Standard, MWE for World Elite, MWO for World).
planCode string Card plan code defining the card product configuration and features.
programCode string Program code for the card product within the issuing institution.
brand string Card brand within the Mastercard network.
tier string Card tier or level indicating the product benefits tier.
status string Current lifecycle status of the card.
issuedDate string Date the card was issued, in ISO 8601 date format.
expirationDate string Card expiration date in MMYY format.
embossedName string Name embossed or printed on the physical card.
numberless boolean Indicates whether the card number is printed on the physical card. True means the number is not printed.
instant boolean Indicates whether the card was issued as an instant card (immediately generated).
virtual boolean Indicates whether this is a virtual card with no physical plastic.
contactless boolean Indicates whether the card supports contactless (NFC/PayPass) transactions.
photoIndicator string Indicates whether a photo is required on the card.
deliveryMode string Mode of card delivery to the cardholder.
deliveryDate string Date the card was delivered or handed over to the client, in ISO 8601 format.
tokenNumber string MDES (Mastercard Digital Enablement Service) token representing this card for digital transactions.
binNumber string Bank Identification Number (BIN), the first 6-8 digits of the card number identifying the issuing institution.
issuerId string ICA (Interbank Card Association) number of the issuing institution.
issuerName string Name of the financial institution that issued the card.
issuerCountryCode string ISO 3166-1 alpha-3 country code of the issuing institution.
cardholder object
limits object
applicationType string Type of card issuance application.
corporateCode string Unique code of the corporate entity for commercial/corporate cards.
View JSON Schema on GitHub

JSON Schema

card.json Raw ↑
{
  "$id": "https://github.com/api-evangelist/mastercard/blob/main/json-schema/card.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Mastercard Card",
  "description": "A Mastercard payment card representing a physical or virtual card instrument issued to a cardholder. Covers prepaid, debit, credit, and commercial card products across Card Issuance, BIN Lookup, Benefit Eligibility, and tokenization services.",
  "type": "object",
  "required": [
    "cardNumber",
    "cardType"
  ],
  "properties": {
    "cardNumber": {
      "type": "string",
      "description": "Primary Account Number (PAN) for the card. Must pass Luhn algorithm validation.",
      "pattern": "^[0-9]{12,19}$",
      "minLength": 12,
      "maxLength": 19,
      "examples": ["5505135664572870000"]
    },
    "cardId": {
      "type": "string",
      "description": "Unique system-generated identifier for the card within the Mastercard issuing platform.",
      "maxLength": 36
    },
    "cardPackId": {
      "type": "string",
      "description": "Identifier for the card pack, used in card issuance and fulfillment.",
      "maxLength": 36
    },
    "cardType": {
      "type": "string",
      "description": "Classification of the card product.",
      "enum": [
        "CREDIT",
        "DEBIT",
        "PREPAID",
        "COMMERCIAL",
        "VIRTUAL"
      ]
    },
    "cardProductCode": {
      "type": "string",
      "description": "Three-character code identifying the specific card product (e.g., MSI for Mastercard Standard, MWE for World Elite, MWO for World).",
      "minLength": 3,
      "maxLength": 3,
      "examples": ["MSI"]
    },
    "planCode": {
      "type": "string",
      "description": "Card plan code defining the card product configuration and features.",
      "maxLength": 10
    },
    "programCode": {
      "type": "string",
      "description": "Program code for the card product within the issuing institution.",
      "maxLength": 20
    },
    "brand": {
      "type": "string",
      "description": "Card brand within the Mastercard network.",
      "enum": [
        "MASTERCARD",
        "MAESTRO",
        "CIRRUS"
      ],
      "default": "MASTERCARD"
    },
    "tier": {
      "type": "string",
      "description": "Card tier or level indicating the product benefits tier.",
      "enum": [
        "STANDARD",
        "GOLD",
        "PLATINUM",
        "TITANIUM",
        "WORLD",
        "WORLD_ELITE",
        "BLACK"
      ]
    },
    "status": {
      "type": "string",
      "description": "Current lifecycle status of the card.",
      "enum": [
        "ACTIVE",
        "INACTIVE",
        "SUSPENDED",
        "BLOCKED",
        "EXPIRED",
        "CANCELLED",
        "PENDING_ACTIVATION"
      ]
    },
    "issuedDate": {
      "type": "string",
      "description": "Date the card was issued, in ISO 8601 date format.",
      "format": "date",
      "examples": ["2024-01-26"]
    },
    "expirationDate": {
      "type": "string",
      "description": "Card expiration date in MMYY format.",
      "pattern": "^(0[1-9]|1[0-2])[0-9]{2}$",
      "minLength": 4,
      "maxLength": 4
    },
    "embossedName": {
      "type": "string",
      "description": "Name embossed or printed on the physical card.",
      "maxLength": 26
    },
    "numberless": {
      "type": "boolean",
      "description": "Indicates whether the card number is printed on the physical card. True means the number is not printed.",
      "default": false
    },
    "instant": {
      "type": "boolean",
      "description": "Indicates whether the card was issued as an instant card (immediately generated).",
      "default": false
    },
    "virtual": {
      "type": "boolean",
      "description": "Indicates whether this is a virtual card with no physical plastic.",
      "default": false
    },
    "contactless": {
      "type": "boolean",
      "description": "Indicates whether the card supports contactless (NFC/PayPass) transactions.",
      "default": true
    },
    "photoIndicator": {
      "type": "string",
      "description": "Indicates whether a photo is required on the card.",
      "enum": ["PHOTO", "NO_PHOTO"]
    },
    "deliveryMode": {
      "type": "string",
      "description": "Mode of card delivery to the cardholder.",
      "enum": [
        "BRANCH",
        "COURIER",
        "MAIL",
        "DIGITAL",
        "SELF_COLLECT"
      ]
    },
    "deliveryDate": {
      "type": "string",
      "description": "Date the card was delivered or handed over to the client, in ISO 8601 format.",
      "format": "date"
    },
    "tokenNumber": {
      "type": "string",
      "description": "MDES (Mastercard Digital Enablement Service) token representing this card for digital transactions.",
      "pattern": "^[0-9]{12,19}$",
      "minLength": 12,
      "maxLength": 19
    },
    "binNumber": {
      "type": "string",
      "description": "Bank Identification Number (BIN), the first 6-8 digits of the card number identifying the issuing institution.",
      "pattern": "^[0-9]{6,8}$",
      "minLength": 6,
      "maxLength": 8
    },
    "issuerId": {
      "type": "string",
      "description": "ICA (Interbank Card Association) number of the issuing institution.",
      "minLength": 3,
      "maxLength": 7
    },
    "issuerName": {
      "type": "string",
      "description": "Name of the financial institution that issued the card.",
      "maxLength": 100
    },
    "issuerCountryCode": {
      "type": "string",
      "description": "ISO 3166-1 alpha-3 country code of the issuing institution.",
      "pattern": "^[A-Z]{3}$",
      "minLength": 3,
      "maxLength": 3
    },
    "cardholder": {
      "$ref": "#/$defs/Cardholder"
    },
    "limits": {
      "$ref": "#/$defs/CardLimits"
    },
    "applicationType": {
      "type": "string",
      "description": "Type of card issuance application.",
      "enum": [
        "PRIMARY_NEW_CLIENT",
        "PRIMARY_EXISTING_CLIENT",
        "SUPPLEMENTARY",
        "ADD_ON",
        "REPLACEMENT",
        "RENEWAL"
      ]
    },
    "corporateCode": {
      "type": "string",
      "description": "Unique code of the corporate entity for commercial/corporate cards.",
      "pattern": "^[0-9]+$",
      "maxLength": 24
    }
  },
  "$defs": {
    "Cardholder": {
      "type": "object",
      "description": "The individual to whom the card is issued.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Full name of the cardholder.",
          "maxLength": 100
        },
        "firstName": {
          "type": "string",
          "description": "First name of the cardholder.",
          "maxLength": 50
        },
        "lastName": {
          "type": "string",
          "description": "Last name of the cardholder.",
          "maxLength": 50
        },
        "email": {
          "type": "string",
          "description": "Email address of the cardholder.",
          "format": "email"
        },
        "phone": {
          "type": "string",
          "description": "Phone number of the cardholder.",
          "maxLength": 20
        },
        "clientType": {
          "type": "string",
          "description": "Classification of the cardholder.",
          "enum": [
            "INDIVIDUAL",
            "CORPORATE",
            "SMALL_BUSINESS"
          ]
        },
        "vip": {
          "type": "boolean",
          "description": "Indicates whether the cardholder is classified as a VIP client.",
          "default": false
        },
        "address": {
          "$ref": "#/$defs/Address"
        }
      }
    },
    "CardLimits": {
      "type": "object",
      "description": "Transaction limits configured for the card.",
      "properties": {
        "perTransactionLimit": {
          "type": "string",
          "description": "Maximum amount permitted per transaction, without decimals.",
          "pattern": "^[0-9]+$",
          "maxLength": 12,
          "examples": ["100000"]
        },
        "dailyLimit": {
          "type": "string",
          "description": "Maximum total amount permitted per day, without decimals.",
          "pattern": "^[0-9]+$",
          "maxLength": 12
        },
        "totalTransactionLimit": {
          "type": "string",
          "description": "Maximum cumulative transaction limit for the card.",
          "pattern": "^[0-9]+$",
          "maxLength": 20,
          "examples": ["10000000"]
        },
        "velocity": {
          "type": "string",
          "description": "Maximum number of transactions allowed within a configured duration.",
          "pattern": "^[0-9]+$",
          "maxLength": 20
        },
        "validity": {
          "type": "string",
          "description": "Card validity duration in ISO 8601 duration format (e.g., P3M4DT12H30M5S). Maximum validity is 3 years.",
          "pattern": "^P(?!$)([0-9]+Y)?([0-9]+M)?([0-9]+W)?([0-9]+D)?(T(?=[0-9])([0-9]+H)?([0-9]+M)?([0-9]+S)?)?$",
          "maxLength": 19
        }
      }
    },
    "Address": {
      "type": "object",
      "description": "A postal address.",
      "properties": {
        "line1": {
          "type": "string",
          "description": "First line of the street address.",
          "maxLength": 50
        },
        "line2": {
          "type": "string",
          "description": "Second line of the street address.",
          "maxLength": 50
        },
        "city": {
          "type": "string",
          "description": "City name.",
          "maxLength": 50
        },
        "stateProvinceCode": {
          "type": "string",
          "description": "State or province code.",
          "maxLength": 3
        },
        "postalCode": {
          "type": "string",
          "description": "Postal or ZIP code.",
          "maxLength": 10
        },
        "countryCode": {
          "type": "string",
          "description": "ISO 3166-1 alpha-3 country code.",
          "pattern": "^[A-Z]{3}$",
          "minLength": 3,
          "maxLength": 3
        }
      }
    }
  }
}