{ "$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 PAN must belong to the card product BIN range." }, "panSequenceNumber": { "type": "string", "description": "PAN sequence number of the card. It will be possible to override PSN at the time of card creation if it is allowed in card creation model configuration" }, "issuerCardExternalReference": { "type": "string", "description": "The issuer can provide the external reference for the new card (maximum length is 50 characters). This external reference must be unique per issuer.\nIf not provided, the external reference is calculated by the system if a reference generation algorithm is configured for the issuer else the issuer card external reference will be empty." }, "embossingLine5": { "type": "string", "description": "The issuer must provide the embossing line 5 if required within card Technology and Application model. Else the issuer can provide it and the embossing line 5 will be sent to the embosser." }, "expiryDate": { "type": "string", "description": "The issuer can provide the expiry date of the card if allowed by the product configuration.\nIf provided and not allowed then an error is generated.\nFormat is MMYY (month and year)." }, "pinInheritanceCardReference": { "type": "string", "description": "Deprecated" }, "pinInheritanceCardIdentifier": { "description": "If the PIN inheritance is authorized for the issuer, the issuer can provide the reference of a card (card reference in our system or external card reference provided by the issuer) to inherit the PIN from a another card (if the provided card reference does not exist in the system, no PIN inheritance could be used).", "allOf": [ { "$ref": "#/$defs/PinInheritanceCardIdentifier" } ] }, "pinInheritanceExternalCardIdentifier": { "description": "The issuer can provide the reference of the external card only known by the PIN management module to inherit the PIN.", "allOf": [ { "$ref": "#/$defs/PinInheritanceExternalCardIdentifier" } ] }, "specificFields": { "type": "object", "description": "The issuer can provide Specific Fields for the new card. \nIt is a list of external data {\"label\":\"value\"} separated by a \",\" related to the card (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" } }, "cardOrder": { "$ref": "#/$defs/CreateConsumerContractRequestCardOrder" }, "pinMailerOrder": { "$ref": "#/$defs/CreateConsumerContractRequestPinMailerOrder" }, "tanMailerOrder": { "$ref": "#/$defs/CreateConsumerContractRequestTanMailerOrder" }, "encryptedPin": { "$ref": "#/$defs/CreateConsumerContractRequestEncryptedPin" }, "externalCobadgedCardNumber": { "type": "string", "description": "This is an external card number used for Giro card in Germany" }, "externalCobadgedSequenceNumber": { "type": "string", "description": "This is the sequence number of the external card for Giro card in Germany" }, "externalCobadgedExpiryDate": { "type": "string", "description": "This is the expiry date of the external card for Giro card in Germany" }, "externalAuthorizationsRestrictions": { "type": "array", "description": "List of external authorization restrictions related to the card to be passed to the Front Office", "items": { "$ref": "#/$defs/ExternalAuthorizationsRestriction" } }, "subBinRangeReference": { "type": "string", "description": "Reference of the sub BIN range selected for PAN generation.This field applies only if the card product is configured with random PAN generation and sub BIN range references" } }, "title": "CreateConsumerContractRequest.Card" }, "CreateConsumerContractRequestCardContract": { "type": "object", "description": "Data related to each card contract and card have to be provided.\nIf there is no card at contract creation time then no data to be provided.", "required": [ "cardTemplateReference" ], "properties": { "issuerCardContractExternalReference": { "type": "string", "description": "The issuer can provide the external reference for the new card contract.\nRefer to CardContractIdentifier.cardContractReference." }, "cardTemplateReference": { "type": "string", "description": "The issuer must provide the card template reference to be used for card contract creation." }, "artwork": { "type": "string", "description": "The issuer can provide the artwork to be used for the card contract creation, among those allowed, instead of the default one retrieved from the card template." }, "cardHolderRequestCorrelationId": { "type": "string", "description": "Not to be provided if the cardholder is the same as the account owner of the default account of the card.\nOtherwise the issuer can provide the correlation id of the new customer which represent the cardholder (defined in the data block CreateConsumerContractRequest.Customer)." }, "cardHolderIdentifier": { "description": "Not to be provided if the cardholder is the same as the account owner of the default account of the card.\nIf the cardholder already exists in our system then the issuer has to provide the customer reference or the issuer external customer reference of the existing customer.\nIf the cardholder does not exist in our system then cardholderRequestCorrelationId has to be filled.", "allOf": [ { "$ref": "#/$defs/CustomerIdentifier" } ] }, "principalSupplementaryCardIndicator": { "type": "string", "description": "The issuer can indicate if it is the principal card or a supplementary one.\nPossible values: PRINCIPAL, SUPPLEMENTARY\nBy default, no check is applied.If this indicator is not provided, all cards are considered as PRINCIPAL. E.g. when creating a new contract, 2 cards can be created as PRINCIPAL.It is also possible to apply specific checks by product configuration. In this case, the first created card will be the PRINCIPAL one and the other ones will be supplementary if any.", "enum": [ "PRINCIPAL", "SUPPLEMENTARY" ] }, "issuerBranchCode": { "type": "string", "description": "The issuer can provide the issuer branch code of the card contract. If not provided, then the contract issuer branch code is used." }, "forcedEmbossingName": { "type": "string", "description": "The first line of the name to be embossed on the physical card for the new card can be provided. \nThe field is mandatory depending on the issuer configuration. \nThe character \"*\" is not allowed in the line 1 of the embossing name." }, "forcedEmbossingName2ndLine": { "type": "string", "description": "The second line of the name to be embossed on the physical card for the new card can be provided (if allowed by the product configuration).\nThe character \"*\" is not allowed in the line 2 of the embossing name." }, "selectedModels": { "type": "array", "description": "The issuer can set one or several specific card contract models instead of the default ones from the card template (used by default).\n\nList of possible models: \nCARD_CREATION_MODEL\nTECHNOLOGY_AND_APPLICATION_MODEL\nEVENT_FEE_MODEL,\nDISTRIBUTION_MODEL,\nPIN_PRODUCTION_MODEL ", "items": { "$ref": "#/$defs/CardContractModel" } }, "cardEventFeeModelReference": { "type": "string", "description": "DEPRECATED" }, "distributionModelReference": { "type": "string", "description": "DEPRECATED" }, "cardCreationModelReference": { "type": "string", "description": "DEPRECATED" }, "techAndAppModelReference": { "type": "string", "description": "DEPRECATED" }, "vipFlag": { "type": "boolean", "default": false, "description": "Indicates if the card contract is VIP (priority pass) and allows to define fees amount (true) or not (false)." }, "specificFields": { "type": "object", "description": "The issuer can provide Specific Fields for the new card contract. \nIt is a list of external data {\"label\":\"value\"} separated by a \",\" related to the card contract (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" } }, "cardClass": { "type": "string", "description": "The issuer can provide the card class (free text, no business rule).Example: Standard, Extended" }, "card": { "$ref": "#/$defs/CreateConsumerContractRequestCard" }, "photoReference": { "type": "string", "description": "The issuer can provide the photo reference for the new card.Refer to Card.photoReference" }, "pictureReference": { "type": "string", "description": "The issuer can provide the picture reference for the new card.Refer to Card.pictureReference" }, "contractAddOnsSubscriptions": { "type": "array", "description": "List of contract add-on service to subscribe for this card contract.", "items": { "$ref": "#/$defs/CreateConsumerContractRequestAddOnSubscription" } }, "authorizationDataValidation": { "description": "The issuer can indicate cardholder data used by the Front Office for verification (AVS (Address Verification Service) / ANI (Account Name Inquiry)", "allOf": [ { "$ref": "#/$defs/AuthorizationDataValidation" } ] }, "cardContractSourceInheritance": { "description": "Card contract data to be inherited during card replacement with brand switch.", "allOf": [ { "$ref": "#/$defs/CardContractSourceInheritance" } ] }, "schemeDeclarationOptOut": { "type": "boolean", "description": "DEPRECATED" }, "schemeReportDeclarationBehavior": { "type": "string", "description": "The issuer can indicate if the card events are reported to the scheme. Relevant only if the ABU-VAU program is enabled. If the ABU-VAU program is disabled, the use of this attribute generates an error. Possible values are: OPT_IN: the card events are reported to the scheme, OPT_OUT: the card events are not reported to the scheme. If the ABU-VAU program is enabled and the attribute is empty, the default value set on card product is applied." }, "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 card contract to address usage provided in the request" }, "clickToPayEnrollment": { "type": "string", "description": "Indicates if the card enrollment in Click to Pay service is requested or not. \nRelevant only if the Click to Pay feature is enabled. If the Click to Pay feature is disabled, the use of this attribute generates an error.\n\nPossible values are :\n- OPT_IN : enrollment of the card in Click to Pay service is requested.\n- OPT_OUT : enrollment of the card in Click to Pay service is not requested. \n\nIf the Click to Pay feature is enabled and the attribute is empty, the default value set on card product is applied.\n\nAs a result :\nIf OPT_IN, the enrollment of the new card in Click to Pay service is requested and will be effective through WL iTSP at card activation\nIf OPT_OUT, the enrollment of the new card in Click to Pay service is not requested." } }, "title": "CreateConsumerContractRequest.CardContract" }, "CreateConsumerContractRequestCardOrder": { "type": "object", "description": "The issuer can provide data related to the card order if physical card is requested.\nIf not provided and required then the default sending mode is retrieved from product configuration.", "properties": { "specificFields": { "type": "object", "description": "The issuer can provide Specific Fields for the card order. It is a list of external data {\"label\":\"value\"} separated by a \",\" related to the card order (pass-thru data) that can be provided to the embosser by e.g. the issuer for information or for usage by other systems. Example : {\"label1\":\"value1\",\"label2\":\"value2\"}. Those provided data have no impact on our system business processes.", "additionalProperties": { "type": "string" } }, "cardProducer": { "type": "string", "description": "The issuer can provide the card producer if it is different than the default one (defined in the card profile)." }, "sendingMode": { "type": "string", "description": "The issuer can provide the sending mode if a physical card (card order) is requested. Default sending mode is retrieved from configuration.\nExample: Normal, Urgent, Ultra Urgent" }, "skipCardOrderGeneration": { "type": "boolean", "description": "If this field is true, the card order will not be generated (no plastic).\nBy default, a card order is requested (except if it is a virtual card configured in the Technology and Application model). ", "default": false }, "customDeliveryAddressee": { "type": "string", "description": "Refer to Order.customDeliveryAddressee\nWhen the customDeliveryAddress is provided, the field must also be provided." }, "customDeliveryAddress": { "description": "Refer to Order.customDeliveryAddress.\nThe customDeliveryAddressee must also be provided when the field is provided.", "allOf": [ { "$ref": "#/$defs/CreateAddressRequestMailAddress" } ] }, "deliveryType": { "type": "string", "description": "Indicates whether the delivery of the card should be to branch or customer (instead of the one from the distribution rule of the card product)\nPossible values are: CUSTOMER, BRANCH\nTo override the delivery address, the card delivery type must not be provided and only one of these fields must be provided: customDeliveryAddress, customDeliveryEmail or customDeliveryPhone.", "enum": [ "BRANCH", "CUSTOMER" ] }, "deliveryBranchCode": { "type": "string", "description": "The issuer must provide the card delivery branch code if the delivery type is BRANCH." } }, "title": "CreateConsumerContractRequest.CardOrder" }, "CreateConsumerContractRequestContact": { "type": "object", "properties": { "name": { "type": "string", "description": "The contact name has to be provided if the department name is not provided." }, "firstName": { "type": "string", "description": "Refer to Contact.firstName" }, "departmentName": { "type": "string", "description": "The department name has to be provided if the contact name is not provided." }, "sex": { "type": "string", "description": "Refer to Contact.sex" }, "description": { "type": "string", "description": "Refer to Contact.description" }, "courtesyTitle": { "type": "string", "description": "Refer to Contact.courtesyTitle" }, "birthDate": { "type": "string", "format": "date-time", "description": "The contact's date of birth" }, "postalAddress": { "description": "The postal adress of the contact", "allOf": [ { "$ref": "#/$defs/CreateAddressRequestMailAddress" } ] }, "type": { "type": "string", "description": "Refer to Contact.type" } }, "title": "CreateConsumerContractRequest.Contact" }, "CreateConsumerContractRequestContractFee": { "type": "object", "properties": { "accountIdentifier": { "description": "The issuer may to provide the account reference or the issuer external account reference of the existing account if available otherwise accountRequestCorrelationId should be used.", "allOf": [ { "$ref": "#/$defs/AccountIdentifier" } ] }, "accountSetupFeeModelReference": { "type": "string", "description": "Account setup fee model used for the account" }, "membershipFeeModelReference": { "type": "string", "description": "Membership fee model used for the account" }, "accountRequestCorrelationId": { "type": "string", "description": "The issuer can provide the correlation id of the new account for which the contract fee must be applied (this id is defined in the data block CreateConsumerContractRequest.Account at contract level and/or at addCardsAccounts level - field : requestCorrelationId)." }, "membershipFeePromotionalPeriod": { "description": "Membership fee promotional period\nIndicates the period (number of years/months (depending on the frequency defined in the membership fee model)) during which the promotional membership fee amount (if any) is applied from the card creation.\nIf the issuer configuration allows it, it is possible to extend the default promotional period defined in the membership fee model. The value must be greater than the default value and greater than the already passed promotional period.", "type": "integer" } }, "title": "CreateConsumerContractRequest.ContractFee" }, "CreateConsumerContractRequestCustomer": { "type": "object", "description": "The issuer has to provide customers which don't already exist in our system. Each new customer is identified by a correlation id.\nFor example:\n- If a contract owner and a cardholder are not defined in the system, the issuer must provide customer data into 2 blocks (one block to define the contract owner, identified by correlation id as e.g. CUSTOMER1, and one block to define the cardholder, identified by correlation id as e.g. CUSTOMER2).\n- If both contract owner and a cardholder are already defined in the system, this part will be empty.", "required": [ "addresses", "firstName", "lastName", "requestCorrelationId" ], "properties": { "requestCorrelationId": { "type": "string", "description": "Unique alias provided by the issuer for each new customer.\nDuring the contract creation processing, this alias is used to assign a new customer to certain customer roles (cardholder, contract owner, account owner, guarantor)." }, "issuerCustomerExternalReference": { "type": "string", "description": "Refer to CustomerIdentifier.issuerCustomerExternalReference" }, "active": { "type": "boolean", "description": "DEPRECATED", "default": true }, "courtesyTitle": { "type": "string", "description": "Refer to Customer.courtesyTitle" }, "lastName": { "type": "string", "description": "Refer to Customer.lastName" }, "firstName": { "type": "string", "description": "Refer to Customer.firstName " }, "onlineRiskCategory": { "type": "string", "description": "Categorizes the person for online risk management. \nList of possible values is defined per Issuer (eg.Business, Student, Teenager, Standard). \nMandatory if no default value is defined" }, "offlineRiskCategory": { "type": "string", "description": "Categorizes the person for offline risk management. \nList of possible values is defined per Issuer (eg.Business, Student, Teenager, Standard). \nMandatory if no default value is defined" }, "commercialStatus": { "type": "string", "description": "Defines the commercial status of a Person Customer among a list of possible values configured per issuer. \nOne of the possible values can be set as default value (eg. Normal, Address Only, Bankruptcy, Active Customer).\nMandatory if no default value is defined" }, "secondFirstName": { "type": "string", "description": "Refer to Customer.secondFirstName" }, "maidenName": { "type": "string", "description": "Refer to Customer.maidenName" }, "correspondenceName": { "type": "string", "description": "Refer to Customer.correspondenceName" }, "sex": { "type": "string", "description": "Refer to Customer.sex" }, "birthDate": { "type": "string", "format": "date-time", "description": "Birth date is required to create a card if a minimum age is defined in the card profile" }, "birthPlace": { "type": "string", "description": "Refer to Customer.birthPlace" }, "nationality": { "type": "string", "description": "Refer to Customer.nationality" }, "profession": { "type": "string", "description": "Refer to Customer.profession " }, "employerName": { "type": "string", "description": "Refer to Customer.employerName" }, "employerAddress": { "type": "string", "description": "Refer to Customer.employerAddress" }, "monthlySalary": { "type": "integer", "format": "int64", "description": "Refer to Customer.monthlySalary " }, "maritalStatus": { "type": "string", "description": "Refer to Customer.maritalStatus" }, "preferredCorrespondenceLanguage": { "type": "string", "description": "Refer to Customer.preferredCorrespondenceLanguage" }, "picture": { "type": "string", "description": "Refer to Customer.picture " }, "url1": { "type": "string", "description": "Refer to Customer.url1" }, "url2": { "type": "string", "description": "Refer to Customer.url2" }, "secretQuestion": { "type": "string", "description": "Refer to Customer.secretQuestion" }, "secretAnswer": { "type": "string", "description": "Refer to Customer.secretAnswer" }, "vatNumber": { "type": "string", "description": "Refer to Customer.vatNumber" }, "vatCountry": { "type": "string", "description": "Refer to Customer.vatCountry" }, "customerClass": { "type": "string", "description": "Refer to Customer.customerClass" }, "employee": { "type": "boolean", "description": "Refer to Customer.employee " }, "partnerExternalReference": { "type": "string", "description": "Refer to Customer.partnerExternalReference " }, "doNotContact": { "type": "boolean", "description": "Refer to Customer.doNotContact " }, "specificFields": { "type": "object", "description": "The issuer can provide Specific Fields for the new customer. \nIt is a list of external data {\"label\":\"value\"} separated by a \",\" related to the customer (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" } }, "addresses": { "type": "array", "description": "The Main postal address (addressLabel as MAIN_POSTAL_ADDRESS) has to be provided because used as default address by all business processes if no address usage is defined.E.g. if no address usage as CARD_DELIVERY is attached to a customer's address then the Main postal address is used as card order delivery address.", "items": { "$ref": "#/$defs/CreateConsumerContractRequestAddress" } }, "vulnerabilities": { "description": "List of vulnerabilities applicable to the customer.", "type": "array", "items": { "$ref": "#/$defs/Vulnerability" } }, "vulnerabilityIndicator": { "type": "boolean", "description": "indicates if the client is vulnerable" }, "vulnerabilityNote": { "type": "string", "description": "note about the client's vulnerability (free text)" }, "contacts": { "type": "array", "description": "List of contacts linked to the customer", "items": { "$ref": "#/$defs/CreateConsumerContractRequestContact" } } }, "title": "CreateConsumerContractRequest.Customer" }, "CreateConsumerContractRequestEncryptedPin": { "type": "object", "description": "The issuer can provide an encrypted PIN if it is allowed by the product configuration (self-selected PIN before production received from the issuer).\nIf the field is provided but this is not allowed then the field is ignored (no error).", "required": [ "keyId", "pinAlgorithmId", "pinBlock", "pinBlockFormat" ], "properties": { "pinBlock": { "type": "string", "description": "Refer to EncryptedPin.pinBlock" }, "pinBlockFormat": { "type": "string", "description": "Refer to EncryptedPin.pinBlockFormat" }, "pinAlgorithmId": { "type": "string", "description": "Refer to EncryptedPin.pinAlgorithmId" }, "key": { "type": "string", "description": "Refer to EncryptedPin.key" }, "keyId": { "type": "string", "description": "Refer to EncryptedPin.keyId" }, "requestId": { "type": "string", "description": "The issuer can provide the unique identifier of the request (free text, stored in the PIN management module).\nIf provided, its value must be unique per Issuer." }, "requestorId": { "type": "string", "description": "The issuer can provide the identifier of the requestor (free text, stored in the PIN management module)." } }, "title": "CreateConsumerContractRequest.EncryptedPin" }, "CreateConsumerContractRequestLegitimacyDocument": { "type": "object", "required": [ "legitimacyDocumentType", "legitimacyDocumentId", "legitimacyDocumentDate", "legitimacyDocumentExpiryDate", "legitimated" ], "properties": { "legitimacyDocumentType": { "type": "string", "description": "The issuer must provide the type of the legitimacy document (example: passport, identity card, etc.). \nFree text" }, "legitimacyDocumentId": { "type": "string", "description": "The issuer must provide the Id of the legitimacy document (example: the number of the passport).\nFree text (no check)" }, "legitimacyDocumentDate": { "type": "string", "format": "date-time", "description": "The issuer must provide the delivery date of the legitimacy document (no check)" }, "legitimacyDocumentExpiryDate": { "type": "string", "format": "date-time", "description": "The issuer must provide the expiry date of the legitimacy document.\nNo check on this field" }, "legitimated": { "type": "boolean", "description": "The issuer must indicate if the document is legitimate (true) or not (false). By default, the value is false." }, "customerIdentifier": { "description": "Not to be provided if the owner of the legitimacy document is the same as the contract owner.\nIf the owner of the legitimacy document already exists in our system then the issuer has to provide the customer reference or the issuer external customer reference of the existing customer.\nOtherwise the issuerCustomerExternalReference has to be provided.", "allOf": [ { "$ref": "#/$defs/CustomerIdentifier" } ] }, "customerRequestCorrelationId": { "type": "string", "description": "Not to be provided if the owner of the legitimacy document is the same as the contract owner. Otherwise the issuer can provide the correlation id of the new customer which represent the owner of the legitimacy document (defined in the data block CreateConsumerContractRequest.Customer)." } }, "title": "CreateConsumerContractRequest.LegitimacyDocument" }, "CreateConsumerContractRequestPinMailerOrder": { "type": "object", "description": "The issuer can provide data related to a PIN mailer order if it is configured as required in the PIN production model.\nIf not provided and required then the default sending mode is retrieved from product configuration.", "properties": { "sendingMode": { "type": "string", "description": "The issuer must provide the sending mode if a PIN mailer is requested.\nExample: Normal, Urgent, Ultra Urgent" }, "skipPinMailerOrderGeneration": { "type": "boolean", "description": "If this field is true, the PIN mailer will be not generated.\nIf false or empty, the product configuration will be used. By default, value is false", "default": false }, "specificFields": { "type": "object", "description": "The issuer can provide Specific Fields for the PIN mailer order. \nIt is a list of external data {\"label\":\"value\"} separated by a \",\" related to the PIN mailer order (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" } }, "customDeliveryAddressee": { "type": "string", "description": "Refer to Order.customDeliveryAddressee\nWhen the customDeliveryAddress is provided, the field must also be provided." }, "customDeliveryAddress": { "description": "Refer to Order.customDeliveryAddress.\nThe customDeliveryAddressee must also be provided when the field is provided.", "allOf": [ { "$ref": "#/$defs/CreateAddressRequestMailAddress" } ] } }, "title": "CreateConsumerContractRequest.PinMailerOrder" }, "CreateConsumerContractRequestSepaMandate": { "type": "object", "properties": { "debtorAddressType": { "type": "string", "description": "Deprecated field - not to be used", "enum": [ "ADDR", "PBOX", "BIZZ", "DLVY", "HOME" ] }, "debtorEmail": { "type": "string", "description": "SEPA debtor e-mail" }, "debtorId": { "type": "string", "description": "Deprecated field - not to be used" }, "debtorName": { "type": "string", "description": "Deprecated field - not to be used" }, "debtorPhoneNumber": { "type": "string", "description": "SEPA debtor phone number" }, "debtorPostalAddress": { "description": "Address lines 1 and 2, street name, building number, post code, town name, country and country subdivision can be provided in certain cases - refer to SEPA rules when debtor's address is required.", "allOf": [ { "$ref": "#/$defs/SepaMandateMailAddress" } ] }, "mandateContractId": { "type": "string", "description": "Mandate underlying contract identifier (external reference) used by the issuer. E.g., if the mandate is set up along with the contract creation, it may contain the application number, etc. " }, "mandateNatureType": { "type": "string", "description": "SEPA mandate nature type. PAPER_MANDATE is taken as a default.\nList of mandate possible nature types (for future usage only, not to be used):\nCOMPUTING_MIGRATION_NO_SIGNATURE, COMPUTING_MIGRATION_WITH_SIGNATURE, FR_MIGRATION_DOMESTIC_FILES,\nMANDATE_FROMDIGITALIZATION, e_MANDATE, SIGNATURE_MANDATE, MYBANK_e_MANDATE, IDEAL_e_MANDATE" }, "mandateSignCity": { "type": "string", "description": "SEPA mandate city of signature" }, "mandateSignDate": { "type": "string", "format": "date-time", "description": "The mandate signature date has to be provided except if the SEPA mandate UMR is provided (comes from another system)." }, "sepaMandateUmr": { "type": "string", "description": "Unique reference to identify the SEPA mandate. Can be provided to our system if mandate is created explicitly by another system." } }, "title": "CreateConsumerContractRequest.SepaMandate" }, "CreateConsumerContractRequestTanMailerOrder": { "type": "object", "description": "The issuer can provide data related to a TAN mailer order if it is configured as required in the TAN production model.\nIf not provided and required then the default sending mode is retrieved from product configuration.", "properties": { "sendingMode": { "type": "string", "description": "The issuer must provide the sending mode if a TAN mailer is requested.\nExample: Normal, Urgent, Ultra Urgent" }, "skipTanMailerOrderGeneration": { "type": "boolean", "description": "If this field is true, the TAN mailer will not be generated.\nIf false or empty, the product configuration will be used. By default, value is false", "default": false }, "tanBackupMethod": { "type": "string", "description": "The backup method that should be applied for TAN mailer order." }, "customDeliveryPhone": { "description": "Refer to Order.customDeliveryPhone", "allOf": [ { "$ref": "#/$defs/CreateAddressRequestPhoneNumber" } ] } }, "title": "CreateConsumerContractRequest.TanMailerOrder" }, "CustomerIdentifier": { "type": "object", "description": "Identification of the updated customer either by Issuer customer external reference or by customer reference", "properties": { "customerReference": { "type": "string", "description": "Reference computed internally by our system" }, "issuerCustomerExternalReference": { "type": "string", "description": "Reference provided by the Issuer" } }, "title": "CustomerIdentifier" }, "EmailAddress": { "type": "object", "required": [ "email" ], "properties": { "email": { "type": "string", "description": "Email address of the Customer (mandatory). The email address should have the following format: aaa@bbb.ccc\naaa, bbb, ccc are character string." } }, "title": "EmailAddress" }, "ExternalAuthorizationsRestriction": { "type": "object", "required": [ "externalAuthorizationsRestrictionIdentifier" ], "properties": { "externalAuthorizationsRestrictionIdentifier": { "description": "Reference identifier for external authorization restriction", "allOf": [ { "$ref": "#/$defs/ExternalAuthorizationsRestrictionIdentifier" } ] }, "activationStartTime": { "type": "string", "format": "date-time", "description": "First point in time at which the override will be considered. Has to be before end date time. Can be present without end date time. If not provided the override will be taken into account immediately (optional)" }, "activationEndTime": { "type": "string", "format": "date-time", "description": "Last point in time at which the override will be considered. Has to be later than start date time. Can be present without start date time. If not provided the override will be taken into account forever (optional)" }, "conditionCheck": { "type": "boolean", "description": "Overrides the default configured for the corresponding restriction attribute. In case nothing is provided then the default becomes effective." }, "priority": { "type": "string", "description": "In case multiple overrides with overlapping activation times are existing this information is used to resolve this situation by applying the overrides one by one starting with the one with lowest priority. The priority needs to be unique across all overrides associated with the same velocity check/restriction and the same account (card)" } }, "title": "ExternalAuthorizationsRestriction" }, "ExternalAuthorizationsRestrictionIdentifier": { "type": "object", "properties": { "authorizationRestrictionReference": { "type": "string" } }, "title": "ExternalAuthorizationsRestrictionIdentifier" }, "ExternalRestriction": { "type": "object", "required": [ "externalRestrictionIdentifier" ], "properties": { "externalRestrictionIdentifier": { "description": "Reference value for external restriction (Velocity limit) (mandatory)", "allOf": [ { "$ref": "#/$defs/ExternalRestrictionIdentifier" } ] }, "maximumAmount": { "description": "Maximum amount of provided velocity limit (optional)", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "minimumAmount": { "description": "Minimum amount of provided velocity limit (optional)", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "maximumCount": { "type": "integer", "description": "Maximum count of transaction to be done using velocity limit" }, "priority": { "type": "string", "description": "In case multiple overrides with overlapping activation times are existing this information is used to resolve this situation by applying the overrides one by one starting with the one with lowest priority. The priority needs to be unique across all overrides associated with a velocity check and an account" } }, "title": "ExternalRestriction" }, "ExternalRestrictionIdentifier": { "type": "object", "properties": { "externalRestrictionReference": { "type": "string" } }, "title": "ExternalRestrictionIdentifier" }, "ExternalVelocityLimit": { "type": "object", "required": [ "externalVelocityLimitIdentifier" ], "properties": { "externalVelocityLimitIdentifier": { "description": "Unique reference of the external velocity limit", "allOf": [ { "$ref": "#/$defs/ExternalVelocityLimitIdentifier" } ] }, "maximumAmount": { "description": "Maximum amount of provided velocity limit (optional)", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "minimumAmount": { "description": "Minimum amount of provided velocity limit (optional)", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "maximumCount": { "type": "integer", "description": "Maximum count of transaction to be done using velocity limit" }, "priority": { "type": "string", "description": "In case multiple overrides with overlapping activation times are existing this information is used to resolve this situation by applying the overrides one by one starting with the one with lowest priority. The priority needs to be unique across all overrides associated with a velocity check and an account" }, "activationStartTime": { "type": "string", "format": "date-time", "description": "The date time the velocity limit is active" }, "activationEndTime": { "type": "string", "format": "date-time", "description": "The date time the velocity limit finished if present" } }, "title": "ExternalVelocityLimit" }, "ExternalVelocityLimitIdentifier": { "type": "object", "properties": { "externalVelocityLimitReference": { "description": "Reference value for external Velocity limit (mandatory)", "type": "string" } }, "title": "ExternalVelocityLimitIdentifier" }, "PinInheritanceCardIdentifier": { "type": "object", "properties": { "pinInheritanceCardReference": { "type": "string", "description": "The reference of the card from which the PIN is inherited." }, "pinInheritanceIssuerCardExternalReference": { "type": "string", "description": "The external reference of the card from which the PIN is inherited." } }, "title": "PinInheritanceCardIdentifier" }, "PinInheritanceExternalCardIdentifier": { "type": "object", "properties": { "pinInheritanceExternalCardReference": { "type": "string", "description": "Reference of the external card used when the card is only known by the PIN management module (used in migration context)" } }, "title": "PinInheritanceExternalCardIdentifier" }, "SepaMandateMailAddress": { "type": "object", "properties": { "typeCode": { "type": "string", "description": "DEPRECATED" }, "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.Free text." } }, "title": "SepaMandateMailAddress" }, "Vulnerability": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "description": "Type of vulnerability applicable to the customer (free text)." }, "comment": { "type": "string", "description": "Details about the vulnerability of the customer (free text)." } } } } }