{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Card",
  "title": "Card",
  "type": "object",
  "description": "A credit or debit card linked to a Moov account as a payment source.",
  "properties": {
    "cardID": {
      "type": "string",
      "format": "uuid",
      "description": "Unique identifier for the card."
    },
    "fingerprint": {
      "type": "string",
      "description": "Unique fingerprint identifying the underlying card number."
    },
    "brand": {
      "type": "string",
      "description": "Card network brand.",
      "enum": [
        "Visa",
        "Mastercard",
        "AmericanExpress",
        "Discover",
        "DinersClub",
        "JCB"
      ]
    },
    "cardType": {
      "type": "string",
      "description": "Type of card.",
      "enum": [
        "debit",
        "credit",
        "prepaid",
        "unknown"
      ]
    },
    "lastFourCardNumber": {
      "type": "string",
      "description": "Last four digits of the card number.",
      "pattern": "^\\d{4}$"
    },
    "bin": {
      "type": "string",
      "description": "First six digits of the card number (Bank Identification Number)."
    },
    "expiration": {
      "$ref": "#/components/schemas/CardExpiration"
    },
    "holderName": {
      "type": "string",
      "description": "Name of the cardholder as it appears on the card."
    },
    "billingAddress": {
      "$ref": "#/components/schemas/Address"
    },
    "cardVerification": {
      "$ref": "#/components/schemas/CardVerification"
    },
    "issuer": {
      "type": "string",
      "description": "Name of the card-issuing financial institution."
    },
    "issuerCountry": {
      "type": "string",
      "description": "Two-letter ISO country code of the card issuer.",
      "maxLength": 2
    },
    "createdOn": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the card was linked."
    },
    "updatedOn": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the card was last updated."
    }
  }
}