{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-api-response-entity-list-card-contract-schema.json", "title": "ApiResponseEntityListCardContract", "description": "Issuer response entity", "x-generated": "2026-10-10", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/wordline-card-contract-api-openapi.yml#/components/schemas/ApiResponseEntityListCardContract", "x-wl-api-response": true, "type": "object", "required": [ "responseMetadata" ], "properties": { "responseMetadata": { "description": "Response metadata", "allOf": [ { "$ref": "#/$defs/ResponseMetadata" } ] }, "data": { "type": "array", "description": "Response data", "items": { "$ref": "#/$defs/CardContract" } } }, "$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" }, "AccountRelation": { "type": "object", "required": [ "relation", "accountIdentifier" ], "properties": { "relation": { "type": "string", "description": "Is a combination of criteria to describe the posting rule (one criteria or combination of several ones such as transaction currency = XXX) for each posting account - DEFAULT for the default posting account." }, "accountIdentifier": { "description": "Identification of the account either by the Issuer account external reference or by the account reference.", "allOf": [ { "$ref": "#/$defs/AccountIdentifier" } ] } }, "title": "AccountRelation" }, "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" } } }, "Card": { "type": "object", "required": [ "issuerId" ], "properties": { "issuerId": { "type": "string", "description": "Issuer identifier (unique per platform)" }, "cardIdentifier": { "description": "Identification of the card either by Issuer card external reference or by card reference", "allOf": [ { "$ref": "#/$defs/CardIdentifier" } ] }, "encryptedPan": { "description": "This field returns the encrypted PAN and the public key identifier if the encryption is activated on the platform.", "allOf": [ { "$ref": "#/$defs/EncryptedPan" } ] }, "pan": { "type": "string", "description": "Primary Account Number (PAN) also called card number (mandatory) \n It is calculated by our system from the BIN range associated to the card product or provided by the issuer." }, "maskedPan": { "type": "string", "description": "Masked Primary Account Number (PAN) of the card (optional). \nExample: 445442******0275\nThe mask is defined per platform." }, "panReference": { "type": "string", "description": "Reference related to the PAN\nCards having the same PAN have the same PAN reference.\nPAN reference is generated in the system according to the following algorithm : \n1 (VISA) or 2 (MCI) + 3 last digit of issuer + UUID (without the -)\nExample : 1006f041ae6814bf4f068aa501141c85d57d" }, "expiryDate": { "type": "string", "description": "Card expiry date (mandatory)\nFormat is MMYY (month and year)" }, "panSequenceNumber": { "type": "string", "description": "PAN sequence number is a number (usually from 1 to N) that allows identifying either cards with same PAN or cards with same PAN and same Expiry date" }, "status": { "type": "string", "description": "Current status of the card (mandatory) \n Possible values: CREATED, ACTIVE, BLOCKED, DEACTIVATED, CANCELLED\n Status of the card (mandatory)\n The card status is changing during its life cycle according to business processes in the system.\n Possible values are :\n CREATED : The first status when the card is created. The card is not usable.\n ACTIVE : Card is active and ready for authorizations processing\n Examples of business processes triggering this status: contract creation request as per product configuration, card activation request, contract creation after a product change request.\n BLOCKED : card is blocked permanently (final status) or temporarily. Related authorizations are declined.\n DEACTIVATED : Card is deactivated (final status) and related authorizations are declined\n Examples of business processes triggering this status: contract closing request, card contract closing, contract closure after a product change request. Card was in ACTIVE status previously.\n CANCELLED : Card is cancelled (final status). Card has never been activated.\n Examples of business processes triggering this status: contract closing request, card contract closing, contract closure after a product change request. Card was in CREATED status previously." }, "statusDate": { "type": "string", "format": "date-time", "description": "Last card status change date (mandatory)" }, "externalStatus": { "type": "string", "description": "External status of the card\nPossible values are:\n- IN_PROGRESS (it implies the card has not registered in all the WL systems)\n- CREATED (it implies the card is registered in all the WL systems and ready for use)\n- ERROR (the synchronization process between WL systems is failed)" }, "statusHistory": { "type": "array", "description": "List of card status history\nRefer to resource CardStatusHistory for detail information\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "items": { "$ref": "#/$defs/CardStatusHistory" } }, "embossingName": { "type": "string", "description": "First line of the name embossed on the physical card (mandatory)\nIt can be provided by the issuer or calculated by our system (if allowed within card Technology and Application model and depending on the selected embossing name calculation algorithm)" }, "embossingName2ndLine": { "type": "string", "description": "Second line of the name embossed on the physical card, optional, can be provided only in addition to the first line.\nIt can be provided by the issuer or calculated by our system (if embossing name is required within card Technology and Application model and depending on the selected embossing name calculation algorithm)" }, "embossingLine5": { "type": "string", "description": "Specific additional embossing line that can be used by the issuer (mandatory only if required within card Technology and Application model)\nIt is sent out to the embosser with card order." }, "artwork": { "type": "string", "description": "Artwork (card design) used for the physical card (mandatory)" }, "permanentlyBlocked": { "type": "boolean", "description": "Indicates if the card is permanently blocked (true) or not (false). Default value is false" }, "emergencyCard": { "type": "boolean", "description": "This attribute indicates if the card is an emergency card (scheme emergency card service)." }, "emergencyCashAdvance": { "type": "boolean", "description": "Deprecated - Not used" }, "renewed": { "type": "boolean", "description": "Indicates if the card is renewed (true) or not (false). Default value is false" }, "replaced": { "type": "boolean", "description": "Indicates if the card is replaced (true) or not (false). Default value is false" }, "replacementReason": { "type": "string", "description": "Reason for replacing a card (mandatory only if the card is replaced)\nThe list of replacing reasons is configurable per issuer (For example, LOST, STOLEN, FRAUDULENT …)" }, "blockingReason": { "type": "string", "description": "Reason for blocking a card (mandatory only if card status is blocked)\nThe list of blocking reasons is configurable per issuer (For example, LOST, STOLEN, FRAUDULENT …)" }, "pinInheritanceCardIdentifier": { "description": "Identifier of the card from which the PIN is inherited (card is known in the issuing system).", "allOf": [ { "$ref": "#/$defs/PinInheritanceCardIdentifier" } ] }, "pinInheritanceCardReference": { "type": "string", "description": "Deprecated" }, "pinInheritanceExternalCardIdentifier": { "description": "Identifier of the external card used when the card is only known by the PIN management module.", "allOf": [ { "$ref": "#/$defs/PinInheritanceExternalCardIdentifier" } ] }, "specificFields": { "type": "object", "description": "List of external data {\"label\":\"value\"} separated by a \",\" related to a card that can be provided 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" } }, "renewedBy": { "description": "Card identifier of the new card created during the renewal process.\nRelevant information for the renewed card.\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "allOf": [ { "$ref": "#/$defs/CardIdentifier" } ] }, "replacementBy": { "description": "Card identifier of the new card created during the replacement process.\nRelevant information for the replaced card.\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "allOf": [ { "$ref": "#/$defs/CardIdentifier" } ] }, "renewedFor": { "description": "Card identifier of the renewed card.\nRelevant information for the new card created during the renewal process.\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "allOf": [ { "$ref": "#/$defs/CardIdentifier" } ] }, "replacementFor": { "description": "Card identifier of the replaced card.\nRelevant information for the new card created during the replacement process.\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "allOf": [ { "$ref": "#/$defs/CardIdentifier" } ] }, "cardContractIdentifier": { "description": "Card Contract Identifier", "allOf": [ { "$ref": "#/$defs/CardContractIdentifier" } ] }, "cardContract": { "description": "Card Contract\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "allOf": [ { "$ref": "#/$defs/CardContract" } ] }, "orderIdentifiers": { "type": "array", "description": "Order Identifiers\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "items": { "$ref": "#/$defs/OrderIdentifier" } }, "orders": { "type": "array", "description": "List of orders linked to the Card\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "items": { "$ref": "#/$defs/Order" } }, "isCardDigitalizationAllowed": { "type": "boolean", "description": "Indicates if the digitalization of the card is allowed (true) or not (false, default value). \nThis attribute is returned during wallets (e.g. GooglePay, ApplePay) enrollment process to e.g. the Issuer TSP (in case the card digitalization is not allowed then the Issuer TSP should decline the enrollment).", "default": false }, "multiCardInfo": { "description": "Multi card set if the card belongs to a multi card set", "allOf": [ { "$ref": "#/$defs/MultiCardInfo" } ] }, "cardScheme": { "type": "string", "description": "Card scheme to which the BIN of the card is belonging " }, "virtual": { "type": "boolean", "description": "Indicates if the card is physical or virtual" }, "contactlessEnabled": { "type": "boolean", "description": "Indicates if the chip contactless capability enabled or not" }, "technologyType": { "type": "string", "description": "Technology of the card (code/short name)\nPossible values are : \n- VIRTUAL\n- EMV\n- MAGSTRIPE\n- EMV_MAGSTRIPE\n- CONTACT_ONLY (contact only for EMV card with magstripe)\n- DUAL_INTERFACE (contact+contactless for EMV card with magstripe)" }, "techAndAppModelName": { "type": "string", "description": "Technology and application model name of the card" }, "photoReference": { "type": "string", "description": "Reference of the photo sent to the embosser and retrieved from the card contract during the card order extraction (optional)." }, "pictureReference": { "type": "string", "description": "Reference of the picture sent to the embosser and retrieved from the card contract during the card order extraction (optional)." }, "logoReference": { "type": "string", "description": "Reference of the company logo sent to the embosser and retrieved from the card contract during the card order extraction (optional).\nRelevant only for corporate cards." }, "dispatchCode": { "type": "string", "description": "If present the dispatch code is sent to the embosser. The dispatch code defines the corporate card orders delivery address which is known and managed by the embosser (Corporate cards only). If not present the standard process is applied to retrieve the card delivery address." }, "automaticDeactivationDate": { "type": "string", "format": "date-time", "description": "Date when the card is deactivated automatically (x days after its replacement if the feature is enabled)." }, "contractType": { "type": "string", "description": "Indicates if the card is a consumer (private) or corporate card. \n Possible values: \n CORPORATE \nCONSUMER ", "enum": [ "CORPORATE", "CONSUMER" ] }, "cardDeactivationRuleOverride": { "type": "string", "description": "Indicates which card deactivation rule is enabled for the card. It overrides the product card deactivation rule Possible value : FIRST_APPROVED_AUTHO (1st approved online authorization)" }, "partnerExternalCardReference": { "type": "string", "description": "This reference is generated by our system using rules define with the issuer that needs it." }, "recovered": { "type": "boolean", "description": "Indicates if the card is recovered (true) or not (false). Default value is false." }, "recoveryDate": { "type": "string", "format": "date-time", "description": "Date when the card was recovered. Only relevant if the card is recovered." }, "lastSavingMeasureCode": { "type": "string", "description": "Indicates the last saving measure applied (a saving measure is used to forbid some actions or remove the forbidding. For example: block the card replacement, the card renewal, the PIN mailer reprint)" } }, "title": "Card" }, "CardBlockingInformation": { "type": "object", "required": [ "cardBlockingDateTime" ], "properties": { "cardBlockingDateTime": { "type": "string", "format": "date-time", "description": "Date and time when the card has been blocked by our system" }, "blockAgent": { "type": "string", "description": "Operator who blocked the card (mandatory only if the card is blocked). It corresponds to the name of the user, referenced in our system, mentioned at the card blocking time." }, "blockingReason": { "type": "string", "description": "Reason for blocking a card (mandatory only if the card is blocked)\nThe list of blocking reasons is configurable per issuer (For example, LOST, STOLEN, FRAUDULENT …)" }, "blockingReasonDetail": { "type": "string", "description": "Complementary information describing the defined blocking reason\nFree text" }, "lostStolenDate": { "type": "string", "format": "date-time", "description": "Date when the card has been lost or stolen\nThis date is provided in addition to the blocking reason (required only if the card is blocked in a context of loss/theft)" }, "lossPlace": { "type": "string", "description": "Place where the card has been lost\nFree text" }, "lossCountry": { "type": "string", "description": "Country of card loss or steal\nCan be required in certain countries (e.g. french issuers with CB)\nFree text (not check on the provided value)" }, "lastUsageDate": { "type": "string", "format": "date-time", "description": " Date of last use of the card\nExample: for lost or stolen reason" }, "lastUsagePlace": { "type": "string", "description": "Last place where the card has been used\nExample: for lost or stolen reason" }, "lossCircumstances": { "type": "string", "description": "Description of the circumstances of the card loss\nFree text" }, "lossReportedBy": { "type": "string", "description": "Person who has reported the card loss\nFree text" }, "lossReportedVia": { "type": "string", "description": "How was reported the loss (channel)\nFree text" }, "fraudCode": { "type": "string", "description": "Fraud code can be used in the context of dispute management.\nFraud code (free text) is provided in case of Fraud for Fraud declaration to the schemes (VISA, MasterCard).\nThe value must be a value expected by the schemes." }, "contactData": { "type": "string", "description": "Indicates contact data (usually phone number)\nFree text" }, "pinCompromised": { "type": "boolean", "description": "Indicates if the PIN is compromised (true) or not (false) only in case of lost or stolen reason. Default value is false " }, "customerRequestingBlockDate": { "type": "string", "format": "date-time", "description": "Date when the customer has declared the blocking request.\nFor example, the cardholder calls the customer service at 4 pm to declare he lost his card and the card blocking request can only be sent at 5 pm to the system: then the customerRequestingBlockDateTime is 4 pm." }, "transferEffectiveDate": { "type": "string", "format": "date-time", "description": "Transfer effective date (either a date prior to the card blocking date time or it is the card blocking date time in our system)" }, "noReplacementReason": { "type": "string", "description": "The reason why the card is not replaced.\nFree text" }, "comment": { "type": "string", "description": "Comment associated with the card blocking action\nFree text" }, "cppFlag": { "type": "boolean", "description": "DEPRECATED" }, "fraudProcess": { "type": "string", "description": "Fraud process in which the card is blocked. \nPossible values : \n•\tCPP : the card is in CCP list \n•\tTFI : Fraud detected for a single card \n•\tMBA : Fraud detected for several cards (Mass action)" }, "scheduledCardBlockingDate": { "type": "string", "format": "date-time", "description": "Date when the permanent card blocking is scheduled" }, "scheduledCardBlockingDelay": { "type": "integer", "description": "Delay in calendar days used to permanently block the card in the future" }, "scheduledCardBlockingReason": { "type": "string", "description": "Blocking reason used when the card is blocked in the future\nRelevant if a scheduled permanent blocking is requested at the same time as an immediate temporary card blocking.\nPermanent blocking reasons used context of loss/theft are not allowed." }, "transactionId": { "type": "string", "description": "Indicates the transactionId of the suspicious transaction that has triggered the card blocking." } }, "title": "CardBlockingInformation" }, "CardContract": { "type": "object", "properties": { "issuerId": { "type": "string", "description": "Issuer identifier (unique per platform)" }, "cardContractIdentifier": { "description": "Identification of the card contract either by Issuer card contract external reference or by card contract reference", "allOf": [ { "$ref": "#/$defs/CardContractIdentifier" } ] }, "cardTemplateReference": { "type": "string", "description": "Card template reference used for card contract creation" }, "cardTypeCode": { "type": "string", "description": "Scheme card type from the card profile" }, "cardTypeLabel": { "type": "string", "description": "Scheme card type label from the card profile" }, "status": { "type": "string", "description": "Status of the card contract (mandatory)\nThe status of the card contract is changing during its life cycle according to business processes in the system.\nPossible values are :\n- CREATED : The first status when the card contract is created. Related card is not activated.\n- ACTIVE : The card contract is active. Related card is activated as per product configuration\nExamples of business processes triggering this status: contract creation request, contract creation after a product change request.\n- CLOSED : The card contract is closed and the associated card is deactivated/cancelled (if not already permanently blocked). Card renewal and card replacement are not possible.\nExamples of business processes triggering this status: contract closing request, card contract closing request, contract closure after a product change request." }, "openingDate": { "type": "string", "format": "date-time", "description": "Creation date of the card contract (mandatory)" }, "activationDate": { "type": "string", "format": "date-time", "description": "Date when the card contract becomes active in our system" }, "closingDate": { "type": "string", "format": "date-time", "description": "Closing date of the card contract (present only in case of card contract is already closed or card contract closing is scheduled)" }, "closingComment": { "type": "string", "description": "Comment associated with the card contract closing action (optional)\nFree text" }, "closingReason": { "type": "string", "description": "Indicates the reason for closing the card contract (present only in case of card contract is already closed or card contract closing is scheduled) Free text" }, "closingDelayType": { "type": "string", "description": "The closing type of the card contract (present only in case of card contract is already closed or card contract closing is scheduled)\nThe closing type can be:\nIMMEDIATE (at current date)\nSCHEDULED (at future date, greater than the current date)\nSCHEDULED_EXP_DATE (at the expiration date of active card)" }, "trustedAuthenticationReference": { "type": "string", "description": "Unique reference generated by card management system used as trusted authentication credential\nIt is related to a card. Same reference is used in case of card renewal/replacement.\nUsed for ACS enrolment (3D Secure)" }, "newCardRenewalAllowed": { "type": "boolean", "description": "Indicates if the renewal is allowed for a card (true) or not (false). \nDefault value is true." }, "blockingRenewalReasonCode": { "type": "string", "description": "Reason for blocking the renewal of a card (optional)\nThe list of renewal blocking reasons is configurable per issuer (For example : LOST, CREDIT_RISK, FRAUDULENT …)" }, "newCardReplacementAllowed": { "type": "boolean", "description": "Indicates if the replacement is allowed for a card (true) or not (false). Default value is false " }, "blockingReplacementReasonCode": { "type": "string", "description": "Reason for blocking the replacement of a card (optional) The list of replacement blocking reasons is configurable per issuer (For example, CONTRACT_SUSPENSION …)" }, "blockingPinReorderReasonCode": { "type": "string", "description": "Mandatory reason to be set for blocking a pin reorder\nThe list of blocking reasons for pin reorder is configurable per issuer (For example, CONTRACT_SUSPENSION …)" }, "newPinReorderAllowed": { "type": "boolean", "description": "The pin reorder process can be blocked (blocking pin reorder reason code must be provided) or not." }, "blockingPinReminderReasonCode": { "type": "string", "description": "Mandatory reason to be set for blocking pin reminder\nThe list of blocking reasons for pin reminder is configurable per issuer (For example, CONTRACT_SUSPENSION …)" }, "newPinReminderAllowed": { "type": "boolean", "description": "The pin reminder process can be blocked (blocking pin reminder reason code must be provided) or not." }, "issuerBranchCode": { "type": "string", "description": "The Branch code (optional)\nBy default, the value is NO_BRANCH." }, "artwork": { "type": "string", "description": "Artwork (card design) defined for the card contract (mandatory)" }, "forcedEmbossingName": { "type": "string", "description": "First line of the name to be embossed on the next physical card if provided by the issuer (optional)" }, "forcedEmbossingName2ndLine": { "type": "string", "description": "The second line of the name to be embossed on the physical card if provided by the issuer (optional)\nCan be present (optional) only if first line of forced embossing name is present and if embossing name calculation algorithm accepts a second line." }, "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." }, "principalSupplementaryCardIndicator": { "type": "string", "description": "Indicates if it is a Principal card or an additional card (mandatory)\nPossible values: PRINCIPAL, SUPPLEMENTARY" }, "productCategory": { "type": "string", "description": "Defines the category of the product (mandatory)\nThe list of product categories is configurable per issuer (e.g. CREDIT, DEBIT, PREPAID)" }, "productCategoryLabel": { "type": "string", "description": "Label of the product category (optional)\nExample: IMMEDIATE_DEBIT_DEBIT, REVOLVING_CREDIT_CREDIT, DIFFERED_DEBIT_CREDIT" }, "specificFields": { "type": "object", "description": "List of external data {\"label\":\"value\"} separated by a \",\" related to a card contract that can be provided 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" } }, "productIdentifier": { "description": "Identifier of the product used to create the contract to which the card contract is belonging. It corresponds also to the identifier of the product used to create the card contract if the card contract is created from the product directly.", "allOf": [ { "$ref": "#/$defs/ProductIdentifier" } ] }, "productExtensionIdentifier": { "description": "Identifier of the product extension used to create the card contract. \n Relevant if the card contract is created from a product extension.", "allOf": [ { "$ref": "#/$defs/ProductExtensionIdentifier" } ] }, "selectedModels": { "type": "array", "description": "List of models linked to the card contract\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "items": { "$ref": "#/$defs/CardContractModel" } }, "cardClass": { "type": "string", "description": "Information provided by the issuer to categorize cards within a contract.\nThe list of allowed card classes is defined by the issuer at its convenience according to its own business rules (e.g special conditions on fees for example) and is configured at product level to be controlled at card creation." }, "cardIdentifiers": { "type": "array", "description": "Card Identifiers\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "items": { "$ref": "#/$defs/CardIdentifier" } }, "cards": { "type": "array", "description": "List of cards linked to the card contract. See the Card's datatype for the detail list of the attributes\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "items": { "$ref": "#/$defs/Card" } }, "cardHolderIdentifier": { "description": "Card Holder Identifier", "allOf": [ { "$ref": "#/$defs/CustomerIdentifier" } ] }, "vipFlag": { "type": "boolean", "default": false, "description": "Indicates if the holder of the priority pass is a VIP or not. This information is used to determine the priority pass fees to apply. \n if true, VIP fees are applied. \n If false, standard fees are applied. \n By default, the value is false." }, "contractIdentifier": { "description": "Contract Identifier", "allOf": [ { "$ref": "#/$defs/ContractIdentifier" } ] }, "relatedAccounts": { "type": "array", "description": "List of posting accounts linked to a card contract\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "items": { "$ref": "#/$defs/AccountRelation" } }, "cardProfileDescription": { "type": "string", "description": "Description of the card profile linked to a card" }, "originalCardContractIdentifier": { "description": "CardContract Identifier of the original cardContract in case of ProductChange", "allOf": [ { "$ref": "#/$defs/CardContractIdentifier" } ] }, "changedCardContractIdentifier": { "description": "CardContract Identifier of the new cardContract in case of ProductChange", "allOf": [ { "$ref": "#/$defs/CardContractIdentifier" } ] }, "photoReference": { "type": "string", "description": "Reference of a cardholder photo used to personalise the card (free text), e.g. URL where object is stored, a reference (optional)." }, "pictureReference": { "type": "string", "description": "Reference of an image used to personalise the card (free text), e.g. URL where object is stored, a reference (optional)." }, "cardProfileReference": { "type": "string", "description": "Reference of the card profile." }, "mainCardIndicator": { "type": "boolean", "description": "Indicates whether the card is the main one or not for a mutli cards product" }, "logoReference": { "type": "string", "description": "For a corporate card a logo reference can be provided (free text), e.g. alphanumeric value, numeric value, URL where the logo is stored. This logo reference is sent to the embosser with the card order data." }, "cardContractGroupReference": { "type": "string", "description": "Unique reference to group card contracts calculated by the system if required by the product configuration" }, "contractType": { "type": "string", "description": "Indicates if it is a consumer (private) or corporate card. \n Possible values: \n CORPORATE \n CONSUMER", "enum": [ "CORPORATE", "CONSUMER" ] }, "deviceTokensNumber": { "type": "integer", "description": "Indicates the number of device tokens on the card attached to the card contract" }, "commercialProductReference": { "type": "string", "description": "Commercial reference of the card profile linked to a card" }, "commercialProductDescription": { "type": "string", "description": "Commercial description of the card profile linked to a card" }, "merchantTokensNumber": { "type": "integer", "description": "Indicates the number of merchant tokens on the card attached to the card contract" }, "authorizationDataValidation": { "description": "Cardholder data defined at card contract level and used by the Front Office for verification (AVS/ANI)", "allOf": [ { "$ref": "#/$defs/AuthorizationDataValidation" } ] }, "contactCenters": { "type": "array", "items": { "$ref": "#/$defs/ContactCenter" } }, "clickToPayEnrollment": { "type": "string", "description": "Indicates if the card enrollment in Click to Pay service is requested or not.\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\nRelevant only if the Click to Pay feature is enabled." } }, "title": "CardContract" }, "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" }, "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" }, "CardStatusHistory": { "type": "object", "properties": { "eventType": { "type": "string", "description": "Event type associated to a card status and an event date (mandatory)\nExample: CardActivation, CardIssuing, CardCancellation, CardDeactivation, CardBlocking, CardUnblocking" }, "eventDate": { "type": "string", "format": "date-time", "description": "Date time when an event is performed on the card by our system (mandatory)\nExample: blocking card, unblocking card, replacement card" }, "reason": { "type": "string", "description": "Reason associated to a card status (mandatory)\nThe list of reasons is configurable per issuer (example: ActivationReason, CancellationReason, DeactivationReason, CardBlockingReason)" }, "comment": { "type": "string", "description": "A comment (free text) used in case of blocking or unblocking a card (optional)" }, "waiveFee": { "type": "boolean", "description": "Indicates if the fee was waived (true) or not (false). By default, value is false." }, "blockingInformation": { "description": "Information related to the card blocking (present if the card is blocked)", "allOf": [ { "$ref": "#/$defs/CardBlockingInformation" } ] } }, "title": "CardStatusHistory" }, "ContactCenter": { "type": "object", "properties": { "description": { "type": "string", "description": "Description of the contact center. Free text" }, "addressType": { "type": "string", "description": "The type of an address is POSTAL_MAIL, PHONE or E_MAIL" }, "contactCenterIdentifier": { "description": "Unique reference of the contact center within the issuer", "allOf": [ { "$ref": "#/$defs/ContactCenterIdentifier" } ] }, "postalAddress": { "description": "The postal adress of the contact center", "allOf": [ { "$ref": "#/$defs/MailAddress" } ] }, "emailAddress": { "description": "The email adress of the contact center", "allOf": [ { "$ref": "#/$defs/EmailAddress" } ] }, "phone": { "description": "The phone number of the contact center", "allOf": [ { "$ref": "#/$defs/PhoneNumber" } ] } }, "title": "ContactCenter" }, "ContactCenterIdentifier": { "type": "object", "properties": { "contactCenterReference": { "type": "string", "description": "Contact center dentifier (unique per issuer)" } }, "title": "ContactCenterIdentifier" }, "ContractIdentifier": { "type": "object", "description": "Identification of thecorporate contract either by Issuer contract external reference or by contract reference", "properties": { "contractReference": { "type": "string", "description": "The unique reference of the contract in our system, unique per platform\nThis reference is an UUID (universally unique identifier) on 36 digits (e.g.196c2215-9a80-4b8b-868c-18beb8c8c9)." }, "issuerContractExternalReference": { "type": "string", "description": "The external reference of the contract provided by the issuer\nThis reference is unique per issuer and may be used to carry out research and find information." } }, "title": "ContractIdentifier" }, "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" }, "EncryptedPan": { "type": "object", "properties": { "encryptedValue": { "type": "string" }, "publicKeyIdentifier": { "type": "string" } }, "title": "EncryptedPan" }, "FeeCondition": { "type": "object", "properties": { "description": { "type": "string", "description": "Conditions of the fee generation for the event (optional)" }, "operationType": { "type": "string", "description": "Contains the type of the operation on which the criteria applies\nFor example: PinOrderIssuing - PIN_REQUEST (optional)" }, "criteria": { "type": "string", "description": "Criteria of the fee condition\nFor example:\n(counter['ALL'] - counter['IVR'] ) > 1 => If the condition is successfull, one Fee is allocated (optional)" } }, "title": "FeeCondition" }, "Links": { "type": "object", "required": [ "self" ], "properties": { "self": { "type": "string", "description": "Service method URL" }, "next": { "type": "string", "description": "URL pagination query parameter next page" } }, "title": "Links" }, "MailAddress": { "type": "object", "required": [ "country" ], "properties": { "typeCode": { "type": "string", "description": "Deprecated field" }, "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 (optional). 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 (optional). 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 (optional). 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 (optional). 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." }, "countryName": { "type": "string", "description": "Country Name of the address. Free text" }, "courtesyTitle": { "type": "string", "description": "Courtesy title of the address. Free text" } }, "title": "MailAddress" }, "MultiCard": { "type": "object", "properties": { "cardId": { "type": "string", "description": "Card ID" }, "cardIdentifier": { "description": "Unique identifier of the card", "allOf": [ { "$ref": "#/$defs/CardIdentifier" } ] }, "cardStatus": { "type": "string", "description": "Current status of the card \n Possible values: CREATED, ACTIVE, BLOCKED, DEACTIVATED, CANCELLED" }, "permanentlyBlocked": { "type": "boolean", "description": "Indicates if the card is permanently blocked (true) or not (false). Default value is false" }, "renewed": { "type": "boolean", "description": "Indicates if the card is renewed (true) or not (false). Default value is false" }, "replaced": { "type": "boolean", "description": "Indicates if the card is replaced (true) or not (false). Default value is false" } }, "title": "MultiCard" }, "MultiCardInfo": { "type": "object", "properties": { "multiCardReference": { "type": "string", "description": "Main card reference" }, "samePin": { "type": "boolean", "description": "Indicate if multi card set shares same PIN" }, "multiCards": { "type": "array", "description": "List of multi cards", "items": { "$ref": "#/$defs/MultiCard" } } }, "title": "MultiCardInfo" }, "Order": { "type": "object", "properties": { "issuerId": { "type": "string", "description": "Issuer identifier (unique per platform)" }, "orderType": { "type": "string", "description": "The order can correspond to a card, a PIN mailer or a TAN mailer.\nPossible values are : CardOrder, PinMailerOrder, TanMailerOrder" }, "orderIdentifier": { "description": "Unique identifier of the order (mandatory)\nRefer to OrderIdentifier data type for detail information", "allOf": [ { "$ref": "#/$defs/OrderIdentifier" } ] }, "currentExternalStatus": { "type": "string", "description": "Current external status of the order (optional)\nThe list of external statuses is configurable per issuer.\nThe external status can be used to follow the card producing status for the card order e.g. received, embossed, sent, etc." }, "currentExternalStatusDate": { "type": "string", "format": "date-time", "description": "Modification date of the last external status of the order (optional)" }, "currentInternalStatus": { "type": "string", "description": "Current internal status of the order (mandatory)\nPossible values: are: CREATED, CONFIRMED, ORDERED, REJECTED, CANCELLED, FINISHED, ORDERABLE" }, "currentInternalStatusDate": { "type": "string", "format": "date-time", "description": "Last modification date of the internal status of the order (optional)" }, "sendingMode": { "type": "string", "description": "Code identifying the desired sending mode for the order (mandatory)\nExample: Normal, Urgent, Ultra Urgent" }, "deliveryChannel": { "type": "string", "description": "Code of the delivery channel for the card\nThe list of delivery channels is configurable per Issuer." }, "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) (optional)\nPossible values: CUSTOMER (the card is to be delivered to the customer address, BRANCH (the card is to be delivered to the bank branch)" }, "orderReason": { "type": "string", "description": "Reason why the order is done (mandatory)\nPossible values are: CARD_RENEWAL, PIN_CARD_RENEWAL, FIRST_CARD_ISSUE, FIRST_PIN_CARD_ISSUE, CARD_REPLACEMENT, PIN_CARD_REPLACEMENT, PIN_REMINDER, PIN_REORDER, TAN_REQUEST" }, "statusHistory": { "type": "array", "description": "List of order status history data\nRefer to OrderStatusHistory data type for detail information.\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "items": { "$ref": "#/$defs/OrderStatusHistory" } }, "cardProducer": { "type": "string", "description": "It is the card producer or embosser.\nIt is present if it is different than the default one (defined in the card profile) and was provided when requesting the card creation.\nThe list of allowed card producer is configurable per issuer." }, "pinMailerEditor": { "type": "string", "description": "It is the PIN mailer printer.\nIt is present if it is different than the default one (defined in the card profile) and was provided when requesting the card/PIN creation.\nThe list of allowed PIN mailer editors is configurable by issuer." }, "deliveryBranchCode": { "type": "string", "description": "Code of the delivery branch (mandatory only if card delivery type is BRANCH)\nThe list of issuer branches is configurable per Issuer.\nThe branch code is used to access a preconfigured Postal address (configured in the system)." }, "customDeliveryAddressee": { "type": "string", "description": "Custom postal address to send the order \n Depending on countries, the address format (mainly for line1, line 2, line3, line4 and line5) can have specific conditions such as length restriction. The customer should contact WL to check the address format and have more information." }, "customDeliveryAddress": { "description": "Custom postal address to send the order\nDepending on countries, the address format (mainly for line1, line 2, line3, line4 and line5) can have specific conditions such as length restriction. The customer should contact WL to check the address format and have more information.", "allOf": [ { "$ref": "#/$defs/MailAddress" } ] }, "customDeliveryPhone": { "description": "Custom phone to send the card.\nNOT USED", "allOf": [ { "$ref": "#/$defs/PhoneNumber" } ] }, "customDeliveryEmail": { "description": "Custom email to send the card.\nNOT USED", "allOf": [ { "$ref": "#/$defs/EmailAddress" } ] }, "specificFields": { "type": "object", "description": "List of external data {\"label\":\"value\"} separated by a \",\" related to an order that can be provided 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" } }, "card": { "description": "Card information related to the order.\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "allOf": [ { "$ref": "#/$defs/Card" } ] }, "cardIdentifier": { "description": "Unique identifier of the card", "allOf": [ { "$ref": "#/$defs/CardIdentifier" } ] }, "embossingFileName": { "type": "string", "description": "Embossing file name in CardOrder" }, "tanOrigin": { "type": "string", "description": "Origin of the TAN request, e.g. GUI. (free text)" }, "tanBackupMethod": { "type": "string", "description": "The backup method that should be applied for TAN mailer order." }, "tanExpiryDate": { "type": "string", "format": "date-time", "description": "Expiry date of the TAN, date until which the TAN can used (mandatory for TanMailerOrder)" }, "tanStatus": { "type": "string", "description": "Status of the TAN (mandatory for TanMailerOrder)\nPossible values: CREATED, FAILED, ACTIVE, USED, EXPIRED" }, "freeTanMailerCounter": { "type": "integer", "description": "Number of free TAN requests (optional)" }, "tanUsageDate": { "type": "string", "format": "date-time", "description": "Date when the TAN was used to change the PIN (optional)" }, "free": { "type": "boolean", "description": "Indicates if the operation is free (true) or not (false). Default value is false (mandatory)" }, "tanValue": { "type": "string", "description": "Clear value of the TAN (mandatory for TanMailerOrder)" }, "feeConditions": { "type": "array", "description": "Conditions of the fee generation (if fee configured in the product) (optional)", "items": { "$ref": "#/$defs/FeeCondition" } }, "notExtractedReason": { "type": "string", "description": "In case the order will not be extracted because of invalid customer address, then it will be indicated in this field" }, "notExtractedUpdateDate": { "type": "string", "format": "date-time", "description": "The last update date of notExtractedReason field" }, "waitingPin": { "type": "boolean", "format": "date-time", "description": "This flag is used only for a card order or a PIN mailer order.\n- If this flag is true, the PIN is waiting to be provided by the cardholder (the mode “Self Selected Pin” is activated in the PIN production model). Depending on the configuration, after x days, the card is extracted with a default PIN if the cardholder has not provided a PIN.\n- If this flag is false, the PIN is not waiting to be provided , e.g. the PIN has been generated by PMM or provided by the cardholder." } }, "title": "Order" }, "OrderIdentifier": { "type": "object", "description": "Order reference calculated by our system", "properties": { "orderReference": { "type": "string", "description": "The reference of the order in our system, unique per platform\nThis reference is calculated from an algorithm configurable per issuer (currently a unique algorithm is defined).\nThe reference is composed of the creation date of the order (YYYYMMDD) + a sequence number of 16 digits (e;g; 202203212000000000097002, where 20220321 is the date when the order is created)" } }, "title": "OrderIdentifier" }, "OrderStatusHistory": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of the history order status (mandatory)\nPossible values: InternalStatus or ProducerStatus" }, "date": { "type": "string", "format": "date-time", "description": "Date of the history order status (mandatory)" }, "status": { "type": "string", "description": "Status of the history order (mandatory)\nThe possible values are the same the ones defined for the current internal status and the current external status depending on the type of the order status. " } }, "title": "OrderStatusHistory" }, "PhoneNumber": { "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.\nEx : \n- country code = ‘+’33’ and localPhoneNumber = ‘0622334455’ \n- country code = empty and localPhoneNumber = ‘+33622334455’\nThe value can be subject to a validation process if a specific rule has been configured at issuer level." }, "internationalPhoneNumber": { "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.\nEx : \n- country code = ‘+’33’ and localPhoneNumber = ‘0622334455’ \n- country code = empty and localPhoneNumber = ‘+33622334455’\nThe value can be subject to a validation process if a specific rule has been configured at issuer level." } }, "title": "PhoneNumber" }, "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" }, "ProductExtensionIdentifier": { "properties": { "issuerProductExtensionExternalReference": { "description": "External reference of the product extension provided by the issuer and defined for a product (e.g. it can be used when adding cards and accounts to a contract )", "type": "string" } }, "title": "ProductExtensionIdentifier", "type": "object" }, "ProductIdentifier": { "type": "object", "properties": { "issuerProductExternalReference": { "type": "string", "description": "Product External Reference provided by the issuer" }, "productReference": { "type": "string", "description": "Reference of the product in our system, unique per platform" } }, "title": "ProductIdentifier" }, "ResponseMetadata": { "type": "object", "required": [ "correlationId", "responseDateTime", "statusCode", "statusMessage" ], "properties": { "correlationId": { "type": "string", "description": "Correlation Identifier" }, "links": { "description": "Metadata Links", "allOf": [ { "$ref": "#/$defs/Links" } ] }, "statusMessage": { "type": "string", "description": "Executed REST API status message" }, "statusCode": { "type": "integer", "format": "int32", "description": "HTTP status code" }, "responseDateTime": { "type": "string", "description": "Timestamp when response date was generated" }, "timeTakenMs": { "type": "integer", "format": "int64", "description": "Wall clock time required from service to generate the response" } }, "title": "ResponseMetadata" } } }