Worldline · Schema

AddCardsAccountsRequest

PaymentsPayment ProcessingAcquiringIssuingOpen BankingDigital BankingFintechEurope

Properties

Name Type Description
issuerProductExtensionExternalReference string The issuer provides the reference of the product extension to be used (a product extension is usually composed of 1 card - 1 account, but other combinations are also possible).
parentAccountIdentifier object The issuer provides the account reference or the issuer account external reference to attach the new card(s) and/or account(s) created from the product extension to the right account of the existing a
customers array The issuer has to provide all new customers (as person) which don't already exist in our system in a dedicated list (customers). For each new customer, the issuer : - can provide an unique external re
legitimacyDocuments array The issuer can provide the list of legitimacy documents for each cardholder of the contract.
accountHierarchy object The issuer provides data related to each account to be created depending on the product extension.E.g. if the product extension contains 1 card account then data for 1 account has to be provided
cardContracts array
contractFees array The issuer can replace both default membership fee and account set up fee models for each account (usually card account). The accountIdentifier or accountRequestCorrelationId can be used to identify t
View JSON Schema on GitHub

JSON Schema

wordline-add-cards-accounts-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-add-cards-accounts-request-schema.json",
  "title": "AddCardsAccountsRequest",
  "x-generated": "2026-10-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/wordline-contract-api-openapi.yml#/components/schemas/AddCardsAccountsRequest",
  "type": "object",
  "required": [
    "issuerProductExtensionExternalReference"
  ],
  "properties": {
    "issuerProductExtensionExternalReference": {
      "type": "string",
      "description": "The issuer provides the reference of the product extension to be used (a product extension is usually composed of 1 card - 1 account, but other combinations are also possible)."
    },
    "parentAccountIdentifier": {
      "description": "The issuer provides the account reference or the issuer account external reference to attach the new card(s) and/or account(s) created from the product extension to the right account of the existing account hierarchy.\nIf no parent account identifier is provided, then by default the ROOT account is used.",
      "allOf": [
        {
          "$ref": "#/$defs/AccountIdentifier"
        }
      ]
    },
    "customers": {
      "description": "The issuer has to provide all new customers (as person) which don't already exist in our system in a dedicated list (customers).\nFor each new customer, the issuer :\n- can provide an unique external reference: whether this external reference is already assigned to an existing customer for this issuer in our system then the contract creation request is denied\n- must provide mandatory fields and a correlation id that can be used in the contract part to assign the customer, not yet created in our system, as contract owner, root or card account owner, cardholder, etc",
      "type": "array",
      "items": {
        "$ref": "#/$defs/CreateConsumerContractRequestCustomer"
      }
    },
    "legitimacyDocuments": {
      "description": "The issuer can provide the list of legitimacy documents for each cardholder of the contract.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/CreateConsumerContractRequestLegitimacyDocument"
      }
    },
    "accountHierarchy": {
      "description": "The issuer provides data related to each account to be created depending on the product extension.E.g. if the product extension contains 1 card account then data for 1 account has to be provided",
      "allOf": [
        {
          "$ref": "#/$defs/AddCardsAccountsRequestAccountHierarchy"
        }
      ]
    },
    "cardContracts": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CreateConsumerContractRequestCardContract"
      }
    },
    "contractFees": {
      "type": "array",
      "description": "The issuer can replace both default membership fee and account set up fee models for each account (usually card account). The accountIdentifier or accountRequestCorrelationId can be used to identify the account (defined in the data block CreateConsumerContractRequest.Account).",
      "items": {
        "$ref": "#/$defs/CreateConsumerContractRequestContractFee"
      }
    }
  },
  "$defs": {
    "AccountIdentifier": {
      "type": "object",
      "properties": {
        "accountReference": {
          "type": "string",
          "description": "Account reference is to identify the Account calculated by the system (algorithm is configurable per issuer). Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used."
        },
        "issuerAccountExternalReference": {
          "type": "string",
          "description": "Issuer account external reference is to identify the Account. Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used. Algorithm configurable by issuer, can be generated by the system if there is an externalReferenceGeneratorAlgorithm."
        }
      },
      "title": "AccountIdentifier"
    },
    "AccountModel": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of an account model\nPossible values:\n•\teventFeeModel\n•\ttransactionFeeModel\n•\tmarkupFeeModel\n•\trestrictionModel\n•\tdebitInterestModel\n•\tinterestModel\n•\tdirectDebitAmountModel\n•\taccountAmountDueModel \n•\tstatementModel"
        },
        "reference": {
          "type": "string",
          "description": "Reference to the particular model that has been selected in selectedModels"
        },
        "originalModelReference": {
          "type": "string",
          "description": "DEPRECATED"
        }
      },
      "title": "AccountModel"
    },
    "AccountOutgoingCreditTransferFeature": {
      "type": "object",
      "properties": {
        "periodicOctAllowed": {
          "type": "boolean",
          "description": "This field indicates if the issuer can override  the  periodic OCT option. \nTo override the option, the reimbursement model attached to the contract must be configured to accept the change of the default choice."
        },
        "periodicOctType": {
          "type": "string",
          "description": "This field indicates the periodic OCT type \nPossibles values:\n- DAILY (OCT can be triggered on a daily basis if account is in credit position)\n- CYCLIC (OCT can be triggered at cycle closure date if account is in credit position).\nIt can be overridden if the reimbursement model accepts the change of the default choice.",
          "enum": [
            "DAILY",
            "CYCLIC"
          ]
        },
        "periodicMaxThreshold": {
          "description": "Threshold amount used for generating the periodic OCT. When the account balance is greater than the threshold, the OCT amount will be equal to the (account credit balance - threshold amount). Ex: threshold is 10.000€ and credit balance is : 15.000€: the OCT amount is 5.000€.\nThe threshold amount can be overridden if the reimbursement model accepts the change of the default threshold.",
          "allOf": [
            {
              "$ref": "#/$defs/Amount"
            }
          ]
        },
        "octOnContractTerminationAllowed": {
          "type": "boolean",
          "description": "This field indicates the \"OCT on contract termination\" option\nThe option can be modified if it is allowed within the reimbursement model to change the default choice."
        },
        "octOnAccountTerminationAllowed": {
          "type": "boolean",
          "description": "This field indicates the option to generate an OCT when card account is closed.\nThe option can be modified if it is allowed within the reimbursement model to change the default choice."
        },
        "octOnContractSuspensionAllowed": {
          "type": "boolean",
          "description": "This field indicates if an Outgoing Credit Transfer is required or not when the contract is suspended.\nThe value is initialized from the product and can be overridden if this is allowed by the product (in reimbursement model)."
        },
        "octOnDemandAllowed": {
          "type": "boolean",
          "description": "This field indicates the \"OCT on demand\" option. \nThe option can be modifed if it is allowed within the reimbursement model to change the default choice."
        },
        "octOnDemandLimitType": {
          "type": "string",
          "description": "This field indicates the limit type of the \"OCT on demand\" option.\nPossible values:\n- BALANCE (= a customer can only request an OCT in case of account in credit position)\n- OTB (open-to-buy) (=a customer can request an OCT from its current Open-to-buy (so from its credit limit allowed by the issuer)\nThe limit type can be modified if it is allowed within the reimbursement model.",
          "enum": [
            "OTB",
            "BALANCE"
          ]
        },
        "octOnContractTerminationType": {
          "type": "string",
          "enum": [
            "CONTRACT_TERMINATION",
            "ACCOUNT_CLOSING"
          ]
        }
      },
      "description": "Specify OctFeature (periodicOct, periodicOctType, periodicOctMaxThreshold, etc.)",
      "title": "AccountOutgoingCreditTransferFeature"
    },
    "AddCardsAccountsRequestAccountHierarchy": {
      "type": "object",
      "description": "The issuer provides data related to each account to be created.",
      "required": [
        "accounts"
      ],
      "properties": {
        "structureType": {
          "type": "string",
          "description": "The issuer can provide this field for e.g. the root account, for information only (no check, no related business process), to indicate if the contract contains a single card only or can have several cards.\nPossible values are:\nFAMILY : the contract can have 1 or several cards\nREGULAR : the contract can have a single card only"
        },
        "accounts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CreateConsumerContractRequestAccount"
          }
        }
      },
      "title": "AddCardsAccountsRequest.AccountHierarchy"
    },
    "Amount": {
      "type": "object",
      "required": [
        "value",
        "exponent",
        "isoCode"
      ],
      "properties": {
        "value": {
          "type": "integer",
          "format": "int64",
          "description": "Integer amount value. Ex. if it is two hundred euros and 17 cents, then amount value is 20017 (exponent = 2 digits for currency=EUR)"
        },
        "exponent": {
          "type": "integer",
          "format": "int32",
          "description": "Exponent of Amount. Number of decimal digits."
        },
        "isoCode": {
          "type": "string",
          "description": "Currency code of amount\nThe currency in ISO4217 alphabetic format.\nExample: EUR for Euro"
        }
      },
      "title": "Amount"
    },
    "AuthorizationDataValidation": {
      "type": "object",
      "description": "The issuer can update cardholder data used by the Front Office for verification (AVS/ANI).",
      "properties": {
        "firstName": {
          "type": "string",
          "description": "First name of the cardholder"
        },
        "lastName": {
          "type": "string",
          "description": "Last name of the cardholder"
        },
        "secondFirstName": {
          "type": "string",
          "description": "Second first name of the cardholder"
        },
        "streetName": {
          "type": "string",
          "description": "Street name of the cardholder address"
        },
        "zipCode": {
          "type": "string",
          "description": "Zip code of the cardholder address"
        },
        "birthDate": {
          "type": "string",
          "format": "date-time",
          "description": "Birth date of the cardholder"
        }
      }
    },
    "CardContractIdentifier": {
      "type": "object",
      "description": "Identification of the card contract either by Issuer card contract external reference or by card contract reference",
      "properties": {
        "cardContractReference": {
          "type": "string",
          "description": "The reference of the card contract in our system, unique per platform\nThis reference is calculated from an algorithm (currently a unique algorithm 'DefaultCardContractReferenceAlgorithm' referenced in the card profile version).\nThe reference is composed of the issuerId + a sequence number of 16 digits (e;g; 100042000000000095003, where 10004 is the issuerId)"
        },
        "issuerCardContractExternalReference": {
          "type": "string",
          "description": "The external reference of the card contract provided by the issuer\nThis reference is unique per issuer and may be used to carry out research and find information."
        }
      },
      "title": "CardContractIdentifier"
    },
    "CardContractModel": {
      "type": "object",
      "properties": {
        "reference": {
          "type": "string",
          "description": "Reference of a card contract model"
        },
        "type": {
          "type": "string",
          "description": "Type of a card contract model\nPossible values: CARD_CREATION_MODEL, CARD_AUTONUMBERING_MODEL, TECHNOLOGY_AND_APPLICATION_MODEL, EVENT_FEE_MODEL, CARD_RENEWAL_MODEL, CARD_REPLACEMENT_MODEL, PIN_PRODUCTION_MODEL, DISTRIBUTION_MODEL"
        }
      },
      "title": "CardContractModel"
    },
    "CardContractSourceInheritance": {
      "type": "object",
      "properties": {
        "sourceCardContractIdentifier": {
          "description": "Card Contract identifier of the previous card contract",
          "allOf": [
            {
              "$ref": "#/$defs/CardContractIdentifier"
            }
          ]
        },
        "sourceCardIdentifier": {
          "description": "Card identifier of the previous card ",
          "allOf": [
            {
              "$ref": "#/$defs/CardIdentifier"
            }
          ]
        },
        "replacementReason": {
          "type": "string",
          "description": "replacement reason for brand change "
        },
        "forceNewPin": {
          "type": "boolean",
          "description": "indicate if forced new pin is required"
        }
      }
    },
    "CardIdentifier": {
      "type": "object",
      "description": "Identification of the card either by Issuer card external reference or by card reference",
      "properties": {
        "cardReference": {
          "type": "string",
          "description": "Reference of the card generated by our system, unique per platform.\nThis reference is calculated sequentially by an internal algorithm on 16 digits (e.g. 2000000000096013)."
        },
        "issuerCardExternalReference": {
          "type": "string",
          "description": "External reference of the card provided by the issuer or calculated by the system if the external reference generation algorithm is configured for the issuer.\nThis reference is unique per issuer and may be used to carry out research and find information."
        }
      },
      "title": "CardIdentifier"
    },
    "CreateAddressRequestMailAddress": {
      "type": "object",
      "required": [
        "country"
      ],
      "properties": {
        "typeCode": {
          "type": "string",
          "description": "DEPRECATED"
        },
        "courtesyTitle": {
          "type": "string",
          "description": "Courtesy title of the address. Free text"
        },
        "line1": {
          "type": "string",
          "description": "Address line 1 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "line2": {
          "type": "string",
          "description": "Address line 2 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "line3": {
          "type": "string",
          "description": "Address line 3 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "line4": {
          "type": "string",
          "description": "Address line 4 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "line5": {
          "type": "string",
          "description": "Address line 5 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)."
        },
        "buildingNumber": {
          "type": "string",
          "description": "Building number of the address (optional)"
        },
        "boxNumber": {
          "type": "string",
          "description": "Box number of the address (optional)"
        },
        "streetName": {
          "type": "string",
          "description": "Street name of the address (optional)"
        },
        "postCode": {
          "type": "string",
          "description": "zip code of the address (optional)"
        },
        "townName": {
          "type": "string",
          "description": "City corresponding to the address"
        },
        "countrySubdivision": {
          "type": "string",
          "description": "Subdivision of the country (optional)"
        },
        "country": {
          "type": "string",
          "description": "Code of the country (mandatory). Free text. The value can be subject to a validation process if a specific rule has been configured at issuer level. The value can be optional if a specific rule has been configured."
        }
      },
      "title": "CreateAddressRequest.MailAddress"
    },
    "CreateAddressRequestPhoneNumber": {
      "type": "object",
      "required": [
        "localPhoneNumber"
      ],
      "properties": {
        "countryCode": {
          "type": "string",
          "description": "Country dialing code (optional). Free text. It is recommended to provide a region dialing code (e.g. +33, +49)."
        },
        "localPhoneNumber": {
          "type": "string",
          "description": "Free text (mandatory). It’s recommended to provide an international phone number in accordance with the value provided in the country code Ex : - country code = ‘+’33’ and localPhoneNumber = ‘0622334455’ - country code = empty and localPhoneNumber = ‘+33622334455’             The value can be subject to a validation process if a specific rule has been configured at issuer level."
        }
      },
      "title": "CreateAddressRequest.PhoneNumber"
    },
    "CreateConsumerContractRequestAccount": {
      "type": "object",
      "required": [
        "accountTemplateReference"
      ],
      "properties": {
        "issuerAccountExternalReference": {
          "type": "string",
          "description": "The issuer can provide the external reference for the new account (maximum length of 255 characters).This external reference must be unique per issuer.\nIf not provided, the external reference is calculated by our system if a generation algorithm is configured at account hierarchy level (ExternalReferenceGeneratorAlgorithm), else the issuer account external reference will be empty."
        },
        "accountTemplateReference": {
          "type": "string",
          "description": "The issuer must provide the account template reference to identify the account (e.g. root, card account)."
        },
        "accountOwnerRequestCorrelationId": {
          "type": "string",
          "description": "Not to be provided if the account owner is the same as the contract owner.\nOtherwise the issuer can provide the correlation id of the new customer which represent the account owner (defined in the data block CreateConsumerContractRequest.Customer)."
        },
        "accountOwnerIdentifier": {
          "description": "Not to be provided if the account owner is the same as the contract owner.\nOtherwise if the account owner already exists in our system then the issuer has to provide the customer reference or the issuer external customer reference of the existing customer. If the account owner does not exist in our system then accountOwnerRequestCorrelationId has to be filled.",
          "allOf": [
            {
              "$ref": "#/$defs/CustomerIdentifier"
            }
          ]
        },
        "accountGuarantorRequestCorrelationId": {
          "type": "string",
          "description": "The issuer can provide the correlation id of the new customer which represent the account guarantor (defined in the data block CreateConsumerContractRequest.Customer)."
        },
        "accountGuarantorIdentifier": {
          "description": "If the account guarantor already exists in our system then the issuer can provide the customer reference or the issuer external customer reference of the existing customer.",
          "allOf": [
            {
              "$ref": "#/$defs/CustomerIdentifier"
            }
          ]
        },
        "closureCalendarReference": {
          "type": "string",
          "description": "The issuer can provide a specific closure calendar model reference, otherwise the default one from the account template is used."
        },
        "statementModelReference": {
          "type": "string",
          "description": "DEPRECATED"
        },
        "restrictionModelReference": {
          "type": "string",
          "description": "DEPRECATED"
        },
        "creditInterestModelReference": {
          "type": "string",
          "description": "DEPRECATED"
        },
        "name": {
          "type": "string",
          "description": "The issuer can provide the name of the account, otherwise the account template reference is used."
        },
        "iban": {
          "type": "string",
          "description": "Refer to Account.iban\nHas to be provided except if the payment processing channel is SEPA and SEPA mandate UMR is provided (comes from another system)."
        },
        "ibanOwnerName": {
          "type": "string",
          "description": "Refer to Account.ibanOwnerName\nIf Issuer expects to produce direct debits and outgoing credit transfers, it is recommended the Iban owner name to be always provided, except if the payment processing channel is SEPA and SEPA mandate UMR is provided (comes from another system)."
        },
        "secondIban": {
          "type": "string",
          "description": "Refer to Account.secondIban"
        },
        "bic": {
          "type": "string",
          "description": "Refer to Account.bic"
        },
        "sepaIndicator": {
          "type": "boolean",
          "description": "The issuer can indicate if the payment processing channel is SEPA or not (also valid for outgoing credit transfer processing channel).\nIf payment processing channel is SEPA (SEPA indicator is true) and  payment mode is AUTOPAYMENT or DIRECTDEBIT_WITH_CONFIRMATION, then SEPA mandate data must be provided.\nSEPA indicator default value  is false."
        },
        "sepaMandate": {
          "description": "The issuer must provide SEPA mandate if payment processing channel is SEPA (SEPA indicator is true) and payment mode is AUTOPAYMENT",
          "allOf": [
            {
              "$ref": "#/$defs/CreateConsumerContractRequestSepaMandate"
            }
          ]
        },
        "creditLimitAmount": {
          "description": "The issuer can provide a specific credit limit amount (within the minimum/maximum range defined in the restriction model for the credit limit) to replace the default permanent credit limit value.",
          "allOf": [
            {
              "$ref": "#/$defs/Amount"
            }
          ]
        },
        "accountMembershipNumber1": {
          "type": "string",
          "description": "The issuer can provide the membership number 1 of the account."
        },
        "accountMembershipNumber2": {
          "type": "string",
          "description": "The issuer can provide the membership number 2 of the account."
        },
        "insurancePackageReference": {
          "type": "string",
          "description": "The issuer can provide the reference of the insurance package it wants to apply on an account. This account must be a paying account and this reference of insurance package must be configured for this account."
        },
        "insuranceEventCode": {
          "type": "string",
          "description": "An insurance package can be configured to be activated automatically at contract creation time, if it is not the case then the Insurance event code to activate insurance fee calculation should be provided (corresponding event code is defined for the insurance package)."
        },
        "specificFields": {
          "type": "object",
          "description": "The issuer can provide Specific Fields for the new account. \nIt is a list of external data {\"label\":\"value\"} separated by a \",\" related to the account (pass-thru data) that can be provided by e.g. the issuer for information or for usage by other systems.\nExample : {\"label1\":\"value1\",\"label2\":\"value2\"}\nThose provided data have no impact on our system business processes.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "selectedModels": {
          "type": "array",
          "description": "The issuer can provide specific account model reference, otherwise the default one from the account template is used.\n\nList of possible models:      \n• restrictionModel                            \n• statementModel (only for credit account)     \n• accountAmountDueModel (only for credit account)   \n• directDebitAmountModel (only for credit account)                                                                         \n• creditInterestModel (only for credit account)   \n•  debitInterestModel (only for credit account)",
          "items": {
            "$ref": "#/$defs/AccountModel"
          }
        },
        "externalRestrictions": {
          "type": "array",
          "description": "Deprecated - Replaced by ExternalVelocityLimits",
          "items": {
            "$ref": "#/$defs/ExternalRestriction"
          }
        },
        "externalVelocityLimits": {
          "type": "array",
          "description": "List of external velocity limits related to the account",
          "items": {
            "$ref": "#/$defs/ExternalVelocityLimit"
          }
        },
        "externalAuthorizationsRestrictions": {
          "type": "array",
          "description": "List of external authorization restrictions related to the account",
          "items": {
            "$ref": "#/$defs/ExternalAuthorizationsRestriction"
          }
        },
        "requestCorrelationId": {
          "type": "string",
          "description": "Unique alias provided by the issuer for each new account (Conditional).\nDuring the contract creation processing, this alias is used to assign the new account to contract fees (same value as the value provided in accountRequestCorrelationId defined in the data block CreateConsumerContractRequest.ContractFee) or to address usage provided in the request (same value as the value provided in entityRequestCorrelationId defined in the data block CreateConsumerContractRequest.AddressUsage)"
        },
        "creditBureauContractFlag": {
          "type": "boolean",
          "description": "The issuer can specify if the Credit Bureau part of the contract has been signed by the credit card owner (pay later)."
        },
        "contractAddOnsSubscriptions": {
          "type": "array",
          "description": "List of contract add-on service to subscribe for this account.",
          "items": {
            "$ref": "#/$defs/CreateConsumerContractRequestAddOnSubscription"
          }
        },
        "accountOutgoingCreditTransferFeature": {
          "description": "Description of OCT features at account level if different from the configuration or definition at account hierarchy level",
          "allOf": [
            {
              "$ref": "#/$defs/AccountOutgoingCreditTransferFeature"
            }
          ]
        },
        "workingCurrencyCode": {
          "type": "string",
          "description": "Working currency code of the account\nEx : EUR for Euro, USD for dollar, etc.\n\nThe working currency must be allowed by the product.\nIf not provided, the default currency of the product is set.\nAll accounts of the same account hierarchy must have the same currency. "
        }
      },
      "title": "CreateConsumerContractRequest.Account"
    },
    "CreateConsumerContractRequestAddOnParameter": {
      "type": "object",
      "required": [
        "reference",
        "value"
      ],
      "properties": {
        "reference": {
          "type": "string",
          "description": "Refer to AddOnServiceParameter.reference"
        },
        "value": {
          "type": "string",
          "description": "Refer to AddOnServiceParameter.value"
        }
      },
      "title": "CreateConsumerContractRequest.AddOnParameter"
    },
    "CreateConsumerContractRequestAddOnSubscription": {
      "type": "object",
      "required": [
        "addonReference",
        "serviceTypeReference"
      ],
      "properties": {
        "addonReference": {
          "type": "string",
          "description": "Refer to AddOnSubscription.addonReference"
        },
        "subscriptionDate": {
          "type": "string",
          "description": "If provided, this date will be used as the starting date of the add-on subscription.",
          "format": "date-time"
        },
        "serviceTypeReference": {
          "type": "string",
          "description": "Refer to AddOnSubscription.serviceType"
        },
        "parameters": {
          "type": "array",
          "description": "The issuer can provide a list of parameters related to the addOn.",
          "items": {
            "$ref": "#/$defs/CreateConsumerContractRequestAddOnParameter"
          }
        }
      },
      "title": "CreateConsumerContractRequest.AddOnSubscription"
    },
    "CreateConsumerContractRequestAddress": {
      "type": "object",
      "required": [
        "addressLabel",
        "addressType"
      ],
      "properties": {
        "addressLabel": {
          "type": "string",
          "description": "Refer to Address.addressLabel"
        },
        "addressType": {
          "type": "string",
          "description": "Refer to Address.addressType"
        },
        "postalAddress": {
          "$ref": "#/$defs/CreateAddressRequestMailAddress"
        },
        "emailAddress": {
          "$ref": "#/$defs/EmailAddress"
        },
        "phone": {
          "$ref": "#/$defs/CreateAddressRequestPhoneNumber"
        },
        "addressUsages": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CreateConsumerContractRequestAddressUsage"
          }
        },
        "issuerAddressExternalReference": {
          "type": "string",
          "description": "Refer to AddressIdentifier.issuerAddressExternalReference"
        }
      },
      "title": "CreateConsumerContractRequest.Address"
    },
    "CreateConsumerContractRequestAddressUsage": {
      "type": "object",
      "required": [
        "addressUsageName",
        "serviceCode"
      ],
      "properties": {
        "addressUsageName": {
          "type": "string",
          "description": "The business process for which the address usage is defined such as CARD_DELIVERY, PIN_MAILER_DELIVERY, STATEMENT_DELIVERY."
        },
        "entityReference": {
          "type": "string",
          "description": "This field is filled by the User while adding the usage to a particular Address of the Customer. It can be eg a card contract reference, card account reference. It is an optional field."
        },
        "serviceCode": {
          "type": "string",
          "description": "The Service for which the address usage is defined : CARD_SERVICE (IBO CMS), ACCOUNT_SERVICE (IBO CAS), …"
        },
        "entityRequestCorrelationId": {
          "type": "string",
          "description": "The issuer can provide the correlation id of the new entity (card contract or account) which linked to the address usage (account defined in the data block CreateConsumerContractRequest.Account and card contract defined in the data block CreateConsumerContractRequest.CardContract -  field : requestCorrelationId)."
        },
        "entityType": {
          "type": "string",
          "description": "If a correlation id is filled for an entity reference, the entity type must be provided to indicate if the entity is related to a card contract or to an account.\nPossible values:\n- CARD_CONTRACT\n- ACCOUNT",
          "enum": [
            "ACCOUNT",
            "CARD_CONTRACT"
          ]
        }
      },
      "title": "CreateConsumerContractRequest.AddressUsage"
    },
    "CreateConsumerContractRequestCard": {
      "type": "object",
      "description": "Card related data to be provided for the creation of the first card.",
      "properties": {
        "pan": {
          "type": "string",
          "description": "The issuer can provide the Primary Account Number (PAN) or card number if this is allowed by the product configuration only.. The provided 

# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wordline/refs/heads/main/json-schema/wordline-add-cards-accounts-request-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/wordline-add-cards-accounts-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.