{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/quickbooks/json-schema/quickbooks-card-schema.json",
  "title": "card",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/quickbooks-payments-openapi-generated.yml#/components/schemas/card",
  "type": "object",
  "properties": {
    "Updated": {
      "type": "string",
      "description": "The time the object was last updated. In ISO 8601 date-time format. It appears as YYYY-MM-DDTHH:MM:SSZ.",
      "x-intuit-required": "Conditionally required"
    },
    "Name": {
      "type": "string",
      "description": "The name of the credit or debit card holder, as it appears on the card.",
      "x-intuit-required": "Optional"
    },
    "IsLevel3Eligible": {
      "type": "boolean",
      "description": "Flag set to true if the credit or debit card falls into the L3 eligible Bank Identification Number (BIN) range.",
      "x-intuit-required": "Response Only"
    },
    "Created": {
      "type": "string",
      "description": "The time the object was originally created. In ISO 8601 date-time format. It appears as YYYY-MM-DDTHH:MM:SSZ."
    },
    "Default": {
      "type": "boolean",
      "description": "Indicates if the credit or debit card is the default. When users set a default, the flag is true.\n\nThis is the credit or debit card QuickBooks uses when another isn't specified. \n\nThe flag defaults to false.\n\nWhen a credit or debit card flag is true, all other cards are automatically set to false.",
      "x-intuit-required": "Optional"
    },
    "entityType": {
      "type": "string",
      "description": "The entity or user type the card is associated with. Example values: Customer, Employee, Vendor or Company."
    },
    "CommercialCardCode": {
      "type": "string",
      "description": "A code that indicates if the card is a commercial or corporate card.\n\nThis can be used to track specific business purchases.",
      "x-intuit-required": "Optional"
    },
    "Number": {
      "type": "string",
      "description": "The credit or debit card number.",
      "x-intuit-required": "Required"
    },
    "ExpMonth": {
      "type": "string",
      "description": "The card's two digit expiration month.",
      "x-intuit-required": "Required"
    },
    "CardType": {
      "type": "object",
      "x-intuit-type": "Enumerator",
      "description": "The type of credit or debit card.\n\nValid values:VISA\nMC\nAMEX\nDISC\nDINERS\nJCB",
      "x-intuit-required": "Conditionally required"
    },
    "Address": {
      "allOf": [
        {
          "$ref": "#/$defs/address"
        }
      ],
      "description": "The cardholder's full address.",
      "x-intuit-required": "Optional"
    },
    "ExpYear": {
      "type": "string",
      "description": "The card's four digit expiration year.",
      "x-intuit-required": "Required"
    },
    "entityId": {
      "type": "string",
      "description": "The ID of the entity the card is associated with."
    },
    "IsBusiness": {
      "type": "boolean",
      "description": "This flag is set to true if the credit or debit card is a business card.",
      "x-intuit-required": "Optional"
    },
    "Id": {
      "type": "string",
      "description": "The unique identifier for the card object.",
      "x-intuit-required": "Conditionally required"
    },
    "Cvc": {
      "type": "string",
      "description": "The Card Verification Code (CVC) on the back of the card.\n\n This can be up to four digits. The number varies by card provider. \n\n For security purposes, the CVC value can't be stored. It must be supplied in transaction requests and then erased.",
      "x-intuit-required": "Required"
    },
    "zeroDollarVerification": {
      "allOf": [
        {
          "$ref": "#/$defs/zerodollarverification"
        }
      ],
      "description": "Stores card verification information.",
      "x-intuit-required": "Response Only"
    }
  },
  "required": [
    "Cvc",
    "ExpMonth",
    "ExpYear",
    "Number"
  ],
  "$defs": {
    "address": {
      "type": "object",
      "title": "address",
      "properties": {
        "PostalCode": {
          "type": "string",
          "description": "The postal code for the address. For US and Canada, this is the zip code. \n\nRequired if no region is provided.",
          "x-intuit-required": "Conditionally Required"
        },
        "City": {
          "type": "string",
          "description": "The city name for the address.",
          "x-intuit-required": "Optional"
        },
        "StreetAddress": {
          "type": "string",
          "description": "The full street adddress. This may include the house number and street name (CR acceptable).",
          "x-intuit-required": "Optional"
        },
        "Region": {
          "type": "string",
          "description": "Specifies the region within a country. This is the state, province, prefecture, or region name.\n\nFor the US, this is the state name. For Canada, this is the province name.\n\nRequired if no postal code is provided.",
          "x-intuit-required": "Condtionally Required"
        },
        "Country": {
          "type": "string",
          "description": "The ISO-standard country code. Refer to the ISO Country Code List.",
          "x-intuit-required": "Optional"
        }
      }
    },
    "zerodollarverification": {
      "type": "object",
      "title": "zerodollarverification",
      "properties": {
        "Status": {
          "type": "string",
          "description": "Denotes the verification status of the credit or debit card."
        },
        "TransactionId": {
          "type": "string",
          "description": "The ID of the transaction (if returned) from the verification service.",
          "x-intuit-required": "Optional"
        },
        "Type": {
          "type": "string",
          "description": "Contains information about type of verification used to verify the creidt or debit card. It can be $0auth with card networks, or be an internal Intuit service",
          "x-intuit-required": "Optional"
        }
      }
    }
  }
}