{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/barclays/main/json-schema/barclays-create-cof-consent-request-schema.json",
  "title": "create_cof_consent_request",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/barclays-consents-api-openapi.yml#/components/schemas/create_cof_consent_request",
  "type": "object",
  "properties": {
    "registrationInformation": {
      "type": "string",
      "maxLength": 140,
      "minLength": 1,
      "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,140})$"
    },
    "cardInformation": {
      "type": "string",
      "maxLength": 140,
      "minLength": 1,
      "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,140})$"
    },
    "account": {
      "type": "object",
      "properties": {
        "bban": {
          "type": "string",
          "maxLength": 30,
          "minLength": 0,
          "pattern": "^[a-zA-Z0-9]{0,30}$"
        },
        "iban": {
          "type": "string",
          "maxLength": 34,
          "minLength": 0,
          "pattern": "^[a-zA-Z0-9]{0,34}$"
        },
        "currency": {
          "type": "string",
          "maxLength": 3,
          "minLength": 3,
          "pattern": "^[A-Z]{3}$"
        }
      }
    },
    "cardNumber": {
      "type": "string",
      "maxLength": 20,
      "minLength": 1,
      "pattern": "^(?!\\s)([a-zA-Z0-9-., '()=\"_@£$#/]{1,20})$"
    },
    "cardExpiryDate": {
      "type": "string",
      "format": "date"
    }
  }
}