swagger: '2.0' info: description: 'The current set of APIs will be available in Q2 2026 on Worldline Global Issuing Platforms. Additional APIs are under construction and planned to be available in 2026.' version: 2.41.1 title: Worldline Card Issuing Account - AccountState Contract API contact: {} host: sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing basePath: /api/v2 schemes: - https tags: - name: Contract description: Contract Api Controller paths: /issuers/{issuerId}/contracts/brand-advice: post: tags: - Contract summary: Get a brand selection advice (beta) operationId: getBrandAdvice description: "This API allows getting an advice on which brand to select for a card creation (either first card along new contract, additional card or replacement card). This is applicable for products on which brand selection is configured. \nThe API returns the product extension for the advised card brand" consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: issuerId in: path description: Issuer ID required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/BrandAdviceRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityBrandAdvice' security: - basic: [] deprecated: true /issuers/{issuerId}/contracts/advise-product-extension: post: tags: - Contract summary: Advice a product extension (beta) operationId: adviceProductExtension description: "This API is used to get the product extension for a card creation depending on the configured algorithm. It can be used for the first card or additional card. \nThe main input fields are:\n- The issuer ID\n- The issuer product external reference for which the advice is requested.\nThe API returns the product extension advised for the card creation." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: issuerId in: path description: Issuer ID required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/AdviceProductExtensionRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityAdviceProductExtensionResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/brand-advice-config/{issuerProductExternalReference}: get: tags: - Contract summary: Retrieve brand advice algorithm configuration by issuer product external reference (beta) operationId: retrieveBrandAdviceConfigByIssuerProductExtRef description: 'The API allows the brand advice configuration to be retrieved. The main input fields are: - The issuer ID - The issuer product external reference for which the configuration details are requested.' produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerProductExternalReference in: path description: Issuer Product External Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityBrandAdviceConfig' security: - basic: [] deprecated: true patch: tags: - Contract summary: Update brand advice algorithm configuration by issuer product external reference (beta) operationId: modifyBrandAdviceConfigByIssuerProductExtRef description: 'The API allows a list of pre-defined parameters (attributes) of a brand advice configuration to be updated. The main input fields are: - The issuer ID - The issuer product external reference for which configuration updates are required. - Parameters to be updated The brand advice configuration parameters can be retrieved using the Retrieve brand advice detail API. The updated parameters should be consistent with the initial product configuration defined in the system (e.g., the profiles to be updated must exist in the system to be found).' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerProductExternalReference in: path description: Issuer Product External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/ModifyBrandAdviceConfigRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityModifyBrandAdviceConfigResponse' security: - basic: [] deprecated: true /issuers/{issuerId}/contracts/create-consumer-contract: post: x-wl-idempotent: true x-wl-lra-operation: true x-wl-lra-interface: true tags: - Contract summary: Create consumer contract description: "The Create Consumer Contract API allows the creation of a new consumer contract already signed by the customer or not, and its first card(s), either with physical support (plastic) or not (virtual card).\n\nPre-conditions: \n- The request correlation ID, if provided by the issuer, must be unique. \nIn case of re-use of a request correlation ID from an existing contract, the system will return the data from the existing contract (e.g., if the API call returns a \"time-out“ response, the same request correlation ID can be provided to retrieve contract data from WL system for further checks).\n Idempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once. The response will be retrieved directly from our system.\n- An active consumer product exists with a physical or pure virtual card.\n\nThe issuer can request the creation of a new consumer contract from the provided active consumer product with additional information such as\n- the contract is already signed (status as \"SIGNED\") by the customer or not (status as \"AWAITING_SIGNATURE\")\n- The issuer can provide a list of new customers or the references to existing customers in Worldline system\n\nAs a result, the contract is created\n- with the provided status by the issuer: either the contract is already signed (its account hierarchy is immediately in \"ACTIVE\" status) or not (its account hierarchy is in \"AWAITING_SIGNATURE\" status)\n- with each card and its status set to created or active, depending on the card product configuration \n- with related card order to produce the physical card, if plastic required and the pin mailer order if required. \n\nThe API response returns newly created contract information such as\n- the new contract itself\n- the different identifiers such as the contract reference, contract owner, account owner, add-on, card contract, card and cardholder. Each identifier is composed of the Worldline internal reference and the external reference (is not present if not provided by the issuer and not generated by any algorithm) \n\nThe references are used to: retrieve/update/close contracts, list accounts for a contract, retrieve the contract owner for a contract, retrieve/update legitimacy documents, etc.. " operationId: createConsumerContract consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/CreateConsumerContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCreateConsumerContractResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/sign: post: x-wl-idempotent: true x-wl-lra-operation: true tags: - Contract summary: Sign Contract description: "The API allows to \n- sign a contract, identified by the Issuer Contract external reference or the Contract reference (the contract must be in \"awaiting signature\" status)\n- request to activate all cards within this contract simultaneously\n\nAs a result :\n- the contract is signed\n- the accounts within the contract are activated\n- the cards within the contract are activated if requested\n- the contract can be updated" operationId: signContract consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/SignContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntitySignContractResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/sign: post: x-wl-idempotent: true x-wl-lra-operation: true tags: - Contract summary: Sign Contract by external reference description: "The API allows to \n- sign a contract, identified by the Issuer Contract external reference or the Contract reference (the contract must be in \"awaiting signature\" status)\n- request to activate all cards within this contract simultaneously\n\nAs a result :\n- the contract is signed\n- the accounts within the contract are activated\n- the cards within the contract are activated if requested\n- the contract can be updated" operationId: signExternalContract consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/SignContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntitySignContractResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}: get: tags: - Contract summary: Retrieve contract by external reference operationId: retrieveContractByIssuerExtRef description: 'This API allows retrieving a particular contract from its reference or its issuer external reference. The API response contains contract information such as: - contract identifier with the contract reference and the issuer external contract reference if previously provided - product change information if any, such as its current status (scheduled, done, cancelled), new product, new contract if it exists - embedded fields if requested such as list of all customers or identifiers linked to this contract (e.g. contract owner, root account owner, cardholder(s)), card contracts' produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: relatedResourceIdentifiersOnly in: query description: "If relatedResourceIdentifiersOnly is true, the API returns only identifiers related to the embedded resources (for example, if embedded fields cardContracts.cards are requested and relatedResourceIdentifiersOnly is true, only cardContractIdentifier in CardContract and cardIdentifier in Card will be returned). \nIf relatedResourceIdentifiersOnly is false, the API returns all resource information (for example, if embedded fields cardContracts.cards are requested and relatedResourceIdentifiersOnly is false, all information in CardContract and all information in Card will be returned).\nBy default, relatedResourceIdentifiersOnly is false." required: false default: false type: boolean - name: relatedResourceBaseInfoOnly in: query description: 'relatedResourceBaseInfoOnly (cannot be used with relatedResourceIdentifiersOnly):

If relatedResourceBaseInfoOnly is true, the API returns only main information related to the embedded resources (for example, if embedded fields accounts and cardContracts are requested and relatedResourceBaseInfoOnly is true, only main information of Account and Card Contract will be returned).

The main information is as follows :

- For Account: accountIdentifier, root, status, accountOwnerIdentifier and accountGuarantorIdentifier
- For Card Contract: cardContractIdentifier, cardHolderIdentifier and status
- For Card: cardIdentifier, pan, maskedPan, expiryDate, panSequenceNumber, status, externalStatus, panReference and blockingReason
- For Customer: customerIdentifier, courtesyTitle, firstName and lastName

If relatedResourceBaseInfoOnly is false, the API returns all resource information (for example, if embedded fields accounts and cardContracts are requested and relatedResourceBaseInfoOnly is false, all information in Account and all information in CardContract will be returned).

By default, relatedResourceBaseInfoOnly is false.' required: false default: false type: boolean - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - name: embed in: query description: Embedded Fields required: false type: array items: type: string enum: - advertisementFlags - deliveryChannel - legitimacyDocuments - contractFees - accountIdentifiers - accounts - cardContractIdentifiers - cardContracts - dataAnalysisFlags - contractCustomerIdentifiers - contractCustomers - addonSubscriptions collectionFormat: multi responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityContract' security: - basic: [] deprecated: false patch: tags: - Contract summary: Update contract by external reference operationId: modifyContractByIssuerExtRef description: 'The API allows to update certain data of an existing consumer contract, identified by the Issuer Contract external reference or the Contract reference : - allowed advertisement channels (flags) - allowed data analysis - the issuer branch code (e.g. bank agency in charge of this contract) - allowed delivery channel for possible letters - if the membership fee should be reimbursed when a card contract is closed - how many cards should free of membership fee and/or account setup fee - if the primary card should be considered as the first to be free for membership/account setup fees or if only additional cards should be considered - if both membership and account setup fees should be waived during contract lifecycle (can be changed at any moment) - the membership fee anniversary date can be changed - pass-through data can be updated (specificFields) As a result the contract is immediately updated with provided data in our system.' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/ModifyContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityModifyContractResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/accounts: get: tags: - Contract summary: List accounts for contract by external reference operationId: listAccountsForContractByIssuerExtRef description: 'The API allows the list of accounts for a contract, identified by the Issuer Contract external reference or the Contract reference, to be retrieved. ' produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: embed in: query description: Embedded Fields required: false type: array items: type: string enum: - hierarchyOperationStatusHistory collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListAccount' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/addon-subscriptions: get: tags: - Contract summary: Retrieve the list of add-on services by external reference operationId: listAddonsSubscriptionsForContractByIssuerExtRef description: "The API allows the list of additional service subscriptions (e.g. new letter, travel insurance) for the contract to be retrieved.\n\nThe main input fields requested by the API are:\n• The issuer ID\n• The contract for which the add-on subscriptions are requested: It can be provided by using the contract reference or the issuer external contract reference\n\nThe API response contains add-on subscription information such as:\n•\tThe reference of the additional service subscription\n•\tThe service type reference\n•\tThe card contract or the account on which the subscription has been done\n•\tThe date of subscription to the add-on service\n•\tThe list of add-on service parameters if any" produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListAddonSubscription' security: - basic: [] deprecated: false post: x-wl-lra-operation: true tags: - Contract summary: Subscribe to add-on by external reference operationId: createAddOnSubscriptionByIssuerExtRef description: "The API allows a cardholder to subscribe to an additional service (e.g. new letter, travel insurance) for the contract during all contract life cycle.\nThe list of allowed additional services are defined on the product (e.g. PORTAL_ACCESS, ALERT, NOTIFICATION).\n\nThe main input fields requested by the API are:\n• The issuer ID\n• The contract for which the add-on subscription is requested: It can be provided by using the contract reference or the issuer external contract reference\n• The identifier of the entity for which the add-on subscription is requested: Either the card contract by providing the card contract reference or the issuer external card contract reference, \n OR the account by providing the account reference or the issuer external account reference\n• The corresponding reference of the additional service\n• The service type reference defined at product level\nDepending on the service type, the issuer can add additional parameters to the add-on service.\n\nAs a result:\n- The new add-on subscription for the contract is available and can be unsubscribed during all contract life cycle\n- A fee can be generated and posted to the cardholder account if required for the product." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/CreateAddOnSubscriptionRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCreateAddOnSubscriptionResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/addon-subscriptions/unsubscribe: post: x-wl-lra-operation: true tags: - Contract summary: Unsubscribe add-on by external reference operationId: removeAddOnSubscriptionByIssuerExtRef description: "The API allows a cardholder to unsubscribe from an additional service (e.g. new letter, travel insurance) for the contract during all contract life cycle.\n\nThe main input fields requested by the API are:\n• The issuer ID\n• The contract for which the add-on unsubscription is requested: It can be provided by using the contract reference or the issuer external contract reference\n• The identifier of the entity for which the add-on subscription is requested: Either the card contract by providing the card contract reference or the issuer external card contract reference, \n OR the account by providing the account reference or the issuer external account reference\n• The reference of the additional service\n• The service type reference \n\nAs a result, the existing add-on subscription for the contract is no longer available." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/RemoveAddOnSubscriptionRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityRemoveAddOnSubscriptionResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/add-cards-accounts: post: x-wl-idempotent: true x-wl-lra-operation: true tags: - Contract summary: Add cards and accounts to a contract by external reference description: "This API allows an issuer to add a new card (debit, credit, prepaid, either physical or virtual), a new account to an existing contract, together or independantly, from a product extension among those allowed by the product used to instantiate the contract. \n\nThis product extension is usually composed of both card and account products, but can be composed of a card or several cards only, or of one or several accounts only or combination of both cards and accounts. It leads to create a new card and a new card account within the the contract (multiple contents of product extensions can be configured depending on issuer's needs)\n\nThe new card account is in most of the cases attached to the root account of the hierarchy (default behaviour) but the issuer can provide its parent account if it is not the root (complex account hierarchy with more than 2 account levels).\nThe issuer shall provide required data for each account and card contract/card if required (depends on product extension configuration).\n\nThe issuer can provide \n- a list of new customers or the references to existing customers in Worldline system\n- the legitimacy document(s) per customer\n- different membership fee and account setup fee (contract fees) if needed per account\n\nThe issuer can choose to receive in response for the extended/updated contract new resources created only or all resources (e.g. already existing accounts, card contracts, cards).\n\nIn case it is configured that adding additional card and account should trigger a product change, and there is an already scheduled product change, then the product change will be initiated and the new card and account will be created in the new contract.\n\nThe API response returns the extended contract with information related to account(s), card contract(s) and card(s) (limited to newly created account(s) and card contract(s)/card(s) if requested)." operationId: addCardsAccountsByIssuerExtRef consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - name: newResourcesOnly in: query description: 'If newResourcesOnly is true, the API returns only information related to new resources. If newResourcesOnly is false, the API returns all contract information. By default, newResourcesOnly is false.' required: false default: false type: boolean - in: body name: body required: false schema: $ref: '#/definitions/AddCardsAccountsRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityAddCardsAccountsResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/card-contracts: get: tags: - Contract summary: List card contracts for contract by external reference operationId: listCardContractsForContractByIssuerExtRef description: 'The API allows the list of card contract linked to a contract, identified by the Issuer Contract external reference or the Contract reference, to be retrieved. ' produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListCardContract' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/close: post: tags: - Contract summary: Close contract by external reference operationId: closeContractByIssuerExtRef description: "The API allows to close a contract identified by the Issuer Contract external reference or the Contract reference. \nThe contract can be closed immediately or in the future at a date provided by the issuer or at the card expiry date. \nThe contract must not be closed or awaiting signature.\n\nAs a result,\nFor immediate closure :\nThe contract is closed, the cards within the contract are deactivated, the closing is triggered for the accounts.\n\nFor scheduled closure :\nThe contract is not changed until the closing date is reached.\nOnce the closing date is reached, the contract is closed, the cards within the contract are deactivated, the closing is triggered for the accounts." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/CloseContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCloseContractResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/update-all-customers-addresses: post: x-wl-lra-operation: true tags: - Contract summary: Update addresses of all customers linked to the contract by external reference operationId: updateAllCustomersAddressesByIssuerExtRef description: "This API is used to update all members of a given contract with same provided addresses (including address usages).\nE.g. for Contract A, contract owner, cardholders 1 and 2 are updated simultaneously with the same Main postal address data.\n\nThis API is used also: \n- to invalidate a particular address of all members of a contract by setting the flag \"invalid\" to True and providing only the address label and the address type (limited to address type as postalAddress). All the other data are ignored.\n- or to provide a valid address for all contract members by setting the flag \"invalid\" to False (default value) and providing the address label, the address type and the valid address (limited to address type as postalAddress)’\n\nEach provided address must have \n- an addressLabel among the ones configured such as MAIN_POSTAL_ADDRESS \n- an address type to indicate whether it a postal, an e-mail or a phone number \n- the address itself depending on its type: MailAddress, EmailAddress or PhoneNumber \nEach provided address can have :\n- none, 1,... N address usages. Such address usages can be used to retrieve the address related to a business process (e.g. CARD_DELIVERY used to identify the address to be used to send the card to the cardholder).\n- startDate: this is the date when the provided address becomes valid. If not provided this is by default the current date." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/ModifyContractCustomersAddressesRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityModifyContractCustomersAddressesResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/suspend: post: tags: - Contract summary: Suspend contract by external reference operationId: suspendContractByIssuerExtRef description: 'The API allows a contract, identified by the Issuer Contract external reference or the Contract reference, to be suspended. It is possible to indicate whether membership/account setup fees must be partially reimbursed with the contract suspension. The contract suspension has the following effects: - the contract closure is scheduled according a delay configurable at issuer level - Immediate temporary card blocking - Renewal and replacement of all cards blocking - Account Setup Fee (AS-Fee) and Membership Fee (MF) are suppressed. - An Outgoing Credit Transfer (OCT) is automatically generated if the account has a credit balance.' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/SuspendContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntitySuspendContractResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/cancel-close: post: tags: - Contract summary: Cancel contract Closing by external reference operationId: cancelContractClosingByIssuerExtRef description: "This API enables to cancel a contract closing with a scheduled date in the future. \nThe main input fields are:\n- The issuer ID\n- The issuer contract external reference or the contract reference\nAs a result, no closing date is planned anymore for the contract." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCancelContractClosingResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/cancel-suspend: post: tags: - Contract summary: Cancel contract Suspension by external reference operationId: cancelContractSuspensionByIssuerExtRef description: "As long as the closure date is not reached, contract suspension can be removed.\nThe contract suspension cancellation has the following effects: \n- The scheduled contract closure date is removed\n- Renewal is unblocked\n- Replacement is unblocked\n- Cards linked to the contract are unblocked\n\nThe API allows a contract suspension process to be cancelled. \nThe contract is identified by the Issuer Contract external reference or the Contract reference," consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCancelContractSuspensionResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/contract-fees: get: tags: - Contract summary: List contract fees for a contract (Membership fee and Account setup fee models) by external reference operationId: listContractFeesByIssuerExtRef description: "The API allows the list of contract fees linked to a contract, identified by the Issuer Contract external reference or the Contract reference, to be retrieved. \n\nIn response, the model references are provided for each account part of the contract." produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListContractFee' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/contract-fees/{accountReference}: patch: tags: - Contract summary: Update contract fees for an account (Membership fee and Account setup fee models) by contract external reference operationId: modifyContractFeeByContractIssExtRef description: 'This API enables the contract fees (Membership fee and account set-up fee) to be updated for a given contract and given card account in the contract. This is done by providing in input the new model reference and the type to be used. This model has to be configured previously for the product.' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - name: accountReference in: path description: Account Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/ModifyContractFeeRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ModifyContractFeeResponse' security: - basic: [] deprecated: false ? /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/contract-fees/external-accounts/{issuerAccountExternalReference} : patch: tags: - Contract summary: Update contract fees for an account (Membership fee and Account setup fee models) by contract external reference and account external reference operationId: modifyContractFeeByContractAndAccountIssExtRef description: 'This API enables the contract fees (Membership fee and account set-up fee) to be updated for a given contract and given card account in the contract. This is done by providing in input the new model reference and the type to be used. This model has to be configured previously for the product.' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - name: issuerAccountExternalReference in: path description: Issuer Account External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/ModifyContractFeeRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ModifyContractFeeResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/contract-owner: get: tags: - Contract summary: Retrieve contract owner for a contract by external reference operationId: retrieveContractOwnerByIssuerExtRef description: This API allows the contract owner for a contract identified by the Issuer Contract external reference or the Contract reference, to be retrieved. produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - name: embed in: query description: Embedded Fields required: false type: array items: type: string enum: - addressIdentifiers - addresses collectionFormat: multi responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCustomer' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/legitimacy-documents: get: tags: - Contract summary: List legitimacy documents for a contract by external reference operationId: listLegitimacyDocumentsByIssuerExtRef description: "Legitimacy documents correspond to documents that prove the identity of a customer (pass ID, national card ID)\nThe document type, The document ID, the expiry date of the document, its issuing date can be stored in our system.\nThis API is used to get the customers legitimacy documents of a contract.\n\nThe input parameters are: \n- the contract reference for which information is requested: It can be provided by using the contract reference or the issuer external contract reference." produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListLegitimacyDocuments' security: - basic: [] deprecated: false ? /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/legitimacy-documents/external-customers/{issuerCustomerExternalReference} : put: tags: - Contract summary: Update legitimacy document of a contract customer by contract external reference and customer external reference operationId: modifyLegitimacyDocumentByIssuerExtRef description: "This API is used to update the customers legitimacy documents of a contract.\nThe input parameters are: \n- the contract reference and the customer reference for which information must be updated.\n\nThey can be provided by using the internal references or the issuer external references:\n- contract reference and customer reference\nor\n- issuer contract external reference and issuer customer external reference" consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - name: issuerCustomerExternalReference in: path description: Issuer Customer External Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/ModifyLegitimacyDocumentRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityModifyLegitimacyDocumentResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/search: post: tags: - Contract summary: Retrieve contracts by criteria operationId: searchContract description: "This API can be used but it will no longer evolve. It is recommended to use the Global Search for Contracts API (POST /search-contracts), which has the same functionality and also allows searching from an issuer and optionally with sub-issuers or searching from a list of issuers.\n\nThe API provides possibility to retreive a list of consumer contracts for an issuer, based on certain criteria. \n\nOne of the following criteria for searching must be provided:\n- either account's criteria\n- or customer's criteria\n- or card's criteria\n\nFor searching with account's criteria, only one of the following data must be provided :\n•\tIBAN \n•\tor account identifier : either account reference or issuer account external reference\n•\tor account membership number1\n•\tor account membership number 2 \n\nFor searching with customer's criteria, only one of the following data must be provided :\n•\tCustomer Attributes with last name and first name (and optionally with birth date, postal address : postal code, street name and/or building number, phonetic criteria : phonetic search and/or phonetic algorithm)\n•\tor customer identifier : either customer reference or issuer customer external reference\n•\tor partner external reference\n\nFor searching with card's criteria, only one of the following data must be provided :\n•\tPAN\n•\tor card contract identifier : either card contract reference or issuer card contract external reference\n•\tor card identifier : either card reference or issuer card external reference\n\nIf requested, the API input parameters allows also to:\n* limit the list of returned cards per card contract to either the latest card only or all previous cards\n* return the direct parent account in the hierarchy of the account and/or the list of child accounts of the account matching the criteria if the research is based on account's criteria\n* request to enrich the response with additional data relative to the accounts, the card contracts, the cards and the customers by using embedded fields\n\nThe API response contains all matched contracts and for each returned contract some information is provided such as\n- contract identifier with the contract reference, the issuer external contract reference if originally provided\n- product change information if any, such as its current status, new product, new contract if it exists\n- embedded fields if requested such as list of all customers or identifiers linked to this contract (e.g. contract owner, root account owner, cardholder(s)), accounts and account identifiers, card contracts, cards" consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: embed in: query description: "Embedded Fields. \n Intermediate embed properties doesn't need to be provided if sub property already requested (For example : When requesting 'cards.statusHistory' there is no need to also request 'cardContracts' and 'cardContracts.cards', it will be done automatically." required: false type: array items: type: string enum: - advertisementFlags - deliveryChannel - legitimacyDocuments - contractFees - accountIdentifiers - accounts - accounts.selectedModels - cardContractIdentifiers - cardContracts - cardContracts.cards - dataAnalysisFlags - contractCustomerIdentifiers - contractCustomers - addonSubscriptions - contractCustomers.addresses - cardContracts.relatedAccounts - cardContracts.selectedModels - cardContracts.cardIdentifiers - cards.statusHistory - cards.renewedBy - cards.renewedFor - cards.replacementBy - cards.replacementFor - cards.orderIdentifiers - cards.orders collectionFormat: multi - name: page in: query description: '0' required: false type: integer default: 0 format: int32 - name: offset in: query description: '10' required: false type: integer default: 10 format: int32 - in: body name: body required: false schema: $ref: '#/definitions/SearchContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListContract' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}: get: tags: - Contract summary: Retrieve contract operationId: retrieveContract description: 'This API allows retrieving a particular contract from its reference or its issuer external reference. The API response contains contract information such as: - contract identifier with the contract reference and the issuer external contract reference if previously provided - product change information if any, such as its current status (scheduled, done, cancelled), new product, new contract if it exists - embedded fields if requested such as list of all customers or identifiers linked to this contract (e.g. contract owner, root account owner, cardholder(s)), card contracts' produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: relatedResourceIdentifiersOnly in: query description: "If relatedResourceIdentifiersOnly is true, the API returns only identifiers related to the embedded resources (for example, if embedded fields cardContracts.cards are requested and relatedResourceIdentifiersOnly is true, only cardContractIdentifier in CardContract and cardIdentifier in Card will be returned). \nIf relatedResourceIdentifiersOnly is false, the API returns all resource information (for example, if embedded fields cardContracts.cards are requested and relatedResourceIdentifiersOnly is false, all information in CardContract and all information in Card will be returned).\nBy defalut, relatedResourceIdentifiersOnly is false." required: false default: false type: boolean - name: relatedResourceBaseInfoOnly in: query description: 'relatedResourceBaseInfoOnly (cannot be used with relatedResourceIdentifiersOnly):

If relatedResourceBaseInfoOnly is true, the API returns only main information related to the embedded resources (for example, if embedded fields accounts and cardContracts are requested and relatedResourceBaseInfoOnly is true, only main information of Account and Card Contract will be returned).

The main information is as follows :

- For Account: accountIdentifier, root, status, accountOwnerIdentifier and accountGuarantorIdentifier
- For Card Contract: cardContractIdentifier, cardHolderIdentifier and status
- For Card: cardIdentifier, pan, maskedPan, expiryDate, panSequenceNumber, status, externalStatus, panReference and blockingReason
- For Customer: customerIdentifier, courtesyTitle, firstName and lastName

If relatedResourceBaseInfoOnly is false, the API returns all resource information (for example, if embedded fields accounts and cardContracts are requested and relatedResourceBaseInfoOnly is false, all information in Account and all information in CardContract will be returned).

By default, relatedResourceBaseInfoOnly is false.' required: false default: false type: boolean - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - name: embed in: query description: Embedded Fields required: false type: array items: type: string enum: - advertisementFlags - deliveryChannel - legitimacyDocuments - contractFees - accountIdentifiers - accounts - cardContractIdentifiers - cardContracts - dataAnalysisFlags - contractCustomerIdentifiers - contractCustomers - addonSubscriptions collectionFormat: multi responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityContract' security: - basic: [] deprecated: false patch: tags: - Contract summary: Update contract operationId: modifyContract description: 'The API allows to update certain data of an existing consumer contract, identified by the Issuer Contract external reference or the Contract reference : - allowed advertisement channels (flags) - allowed data analysis - the issuer branch code (e.g. bank agency in charge of this contract) - allowed delivery channel for possible letters - if the membership fee should be reimbursed when a card contract is closed - how many cards should free of membership fee and/or account setup fee - if the primary card should be considered as the first to be free for membership/account setup fees or if only additional cards should be considered - if both membership and account setup fees should be waived during contract lifecycle (can be changed at any moment) - the membership fee anniversary date can be changed - pass-through data can be updated (specificFields) As a result the contract is immediately updated with provided data in our system.' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/ModifyContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityModifyContractResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/accounts: get: tags: - Contract summary: List accounts for contract operationId: listAccountsForContract description: 'The API allows the list of accounts for a contract, identified by the Issuer Contract external reference or the Contract reference, to be retrieved. ' produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: embed in: query description: Embedded Fields required: false type: array items: type: string enum: - hierarchyOperationStatusHistory collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListAccount' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/add-cards-accounts: post: x-wl-idempotent: true x-wl-lra-operation: true tags: - Contract summary: Add cards and accounts to a contract description: "This API allows an issuer to add a new card (debit, credit, prepaid, either physical or virtual), a new account to an existing contract, together or independently, from a product extension among those allowed by the product used to instantiate the contract. \n\nThis product extension is usually composed of both card and account products, but can be composed of a card or several cards only, or of one or several accounts only or combination of both cards and accounts. It leads to create a new card and a new card account within the the contract (multiple contents of product extensions can be configured depending on issuer's needs)\n\nThe new card account is in most of the cases attached to the root account of the hierarchy (default behaviour) but the issuer can provide its parent account if it is not the root (complex account hierarchy with more than 2 account levels).\nThe issuer shall provide required data for each account and card contract/card if required (depends on product extension configuration).\n\nThe issuer can provide \n- a list of new customers or the references to existing customers in Worldline system\n- the legitimacy document(s) per customer\n- different membership fee and account setup fee (contract fees) if needed per account\n\nThe issuer can choose to receive in response for the extended/updated contract new resources created only or all resources (e.g. already existing accounts, card contracts, cards).\n\nIn case it is configured that adding additional card and account should trigger a product change, and there is an already scheduled product change, then the product change will be initiated and the new card and account will be created in the new contract.\n\nThe API response returns the extended contract with information related to account(s), card contract(s) and card(s) (limited to newly created account(s) and card contract(s)/card(s) if requested)." operationId: addCardsAccounts consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - name: newResourcesOnly in: query description: 'If newResourcesOnly is true, the API returns only information related to new resources. If newResourcesOnly is false, the API returns all contract information. By default, newResourcesOnly is false.' required: false default: false type: boolean - in: body name: body required: false schema: $ref: '#/definitions/AddCardsAccountsRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityAddCardsAccountsResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/addon-subscriptions: get: tags: - Contract summary: Retrieve the list of add-on services operationId: listAddonsSubscriptionsForContract description: "The API allows the list of additional service subscriptions (e.g. new letter, travel insurance) for the contract to be retrieved.\n\nThe main input fields requested by the API are:\n• The issuer ID\n• The contract for which the add-on subscriptions are requested: It can be provided by using the contract reference or the issuer external contract reference\n\nThe API response contains add-on subscription information such as:\n•\tThe reference of the additional service subscription\n•\tThe service type reference\n•\tThe card contract or the account on which the subscription has been done\n•\tThe date of subscription to the add-on service\n•\tThe list of add-on service parameters if any" produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListAddonSubscription' security: - basic: [] deprecated: false post: x-wl-lra-operation: true tags: - Contract summary: Subscribe to add-on operationId: createAddOnSubscription description: "The API allows a cardholder to subscribe to an additional service (e.g. new letter, travel insurance) for the contract during all contract life cycle.\nThe list of allowed additional services are defined on the product (e.g. PORTAL_ACCESS, ALERT, NOTIFICATION).\n\nThe main input fields requested by the API are:\n• The issuer ID\n• The contract for which the add-on subscription is requested: It can be provided by using the contract reference or the issuer external contract reference\n• The identifier of the entity for which the add-on subscription is requested: Either the card contract by providing the card contract reference or the issuer external card contract reference, \n OR the account by providing the account reference or the issuer external account reference\n• The corresponding reference of the additional service\n• The service type reference defined at product level\nDepending on the service type, the issuer can add additional parameters to the add-on service.\n\nAs a result:\n- The new add-on subscription for the contract is available and can be unsubscribed during all contract life cycle\n- A fee can be generated and posted to the cardholder account if required for the product." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/CreateAddOnSubscriptionRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCreateAddOnSubscriptionResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/addon-subscriptions/unsubscribe: post: x-wl-lra-operation: true tags: - Contract summary: Unsubscribe add-on operationId: removeAddOnSubscription description: "The API allows a cardholder to unsubscribe from an additional service (e.g. new letter, travel insurance) for the contract during all contract life cycle.\n\nThe main input fields requested by the API are:\n• The issuer ID\n• The contract for which the add-on unsubscription is requested: It can be provided by using the contract reference or the issuer external contract reference\n• The identifier of the entity for which the add-on subscription is requested: Either the card contract by providing the card contract reference or the issuer external card contract reference, \n OR the account by providing the account reference or the issuer external account reference\n• The reference of the additional service\n• The service type reference \n\nAs a result, the existing add-on subscription for the contract is no longer available." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/RemoveAddOnSubscriptionRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityRemoveAddOnSubscriptionResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/card-contracts: get: tags: - Contract summary: List card contracts for contract operationId: listCardContractsForContract description: 'The API allows the list of card contract linked to a contract, identified by the Issuer Contract external reference or the Contract reference, to be retrieved. ' produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListCardContract' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/close: post: tags: - Contract summary: Close contract description: "The API allows to close a contract identified by the Issuer Contract external reference or the Contract reference. \nThe contract can be closed immediately or in the future at a date provided by the issuer or at the card expiry date. \nThe contract must not be closed or awaiting signature.\n\nAs a result,\nFor immediate closure :\nThe contract is closed, the cards within the contract are deactivated, the closing is triggered for the accounts.\n\nFor scheduled closure :\nThe contract is not changed until the closing date is reached.\nOnce the closing date is reached, the contract is closed, the cards within the contract are deactivated, the closing is triggered for the accounts." operationId: closeContract consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/CloseContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCloseContractResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/update-all-customers-addresses: post: x-wl-lra-operation: true tags: - Contract summary: Update addresses of all customers linked to the contract operationId: updateAllCustomersAddresses description: "This API is used to update all members of a given contract with same provided addresses (including address usages).\nE.g. for Contract A, contract owner, cardholders 1 and 2 are updated simultaneously with the same Main postal address data.\n\nThis API is used also: \n- to invalidate a particular address of all members of a contract by setting the flag \"invalid\" to True and providing only the address label and the address type (limited to address type as postalAddress). All the other data are ignored.\n- or to provide a valid address for all contract members by setting the flag \"invalid\" to False (default value) and providing the address label, the address type and the valid address (limited to address type as postalAddress)’\n\nEach provided address must have \n- an addressLabel among the ones configured such as MAIN_POSTAL_ADDRESS \n- an address type to indicate whether it a postal, an e-mail or a phone number \n- the address itself depending on its type: MailAddress, EmailAddress or PhoneNumber \nEach provided address can have :\n- none, 1,... N address usages. Such address usages can be used to retrieve the address related to a business process (e.g. CARD_DELIVERY used to identify the address to be used to send the card to the cardholder).\n- startDate: this is the date when the provided address becomes valid. If not provided this is by default the current date." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/ModifyContractCustomersAddressesRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityModifyContractCustomersAddressesResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/suspend: post: tags: - Contract summary: Suspend contract operationId: suspendContract description: 'The API allows a contract, identified by the Issuer Contract external reference or the Contract reference, to be suspended. It is possible to indicate whether membership/account setup fees must be partially reimbursed with the contract suspension. The contract suspension has the following effects: - the contract closure is scheduled according a delay configurable at issuer level - Immediate temporary card blocking - Renewal and replacement of all cards blocking - Account Setup Fee (AS-Fee) and Membership Fee (MF) are suppressed. - An Outgoing Credit Transfer (OCT) is automatically generated if the account has a credit balance.' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/SuspendContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntitySuspendContractResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/cancel-close: post: tags: - Contract summary: Cancel contract closing operationId: cancelContractClosing description: "This API enables to cancel a contract closing with a scheduled date in the future. \nThe main input fields are:\n- The issuer ID\n- The issuer contract external reference or the contract reference\nAs a result, no closing date is planned anymore for the contract." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCancelContractClosingResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/cancel-suspend: post: tags: - Contract summary: Cancel contract suspension operationId: cancelContractSuspension description: "As long as the closure date is not reached, contract suspension can be removed.\nThe contract suspension cancellation has the following effects: \n- The scheduled contract closure date is removed\n- Renewal is unblocked\n- Replacement is unblocked\n- Cards linked to the contract are unblocked\n\nThe API allows a contract suspension process to be cancelled. \nThe contract is identified by the Issuer Contract external reference or the Contract reference," consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCancelContractSuspensionResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/contract-fees: get: tags: - Contract summary: List contract fees for a contract (Membership fee and Account setup fee models) operationId: listContractFees description: "The API allows the list of contract fees linked to a contract, identified by the Issuer Contract external reference or the Contract reference, to be retrieved. \n\nIn response, the model references are provided for each account part of the contract." produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListContractFee' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/contract-fees/{accountReference}: patch: tags: - Contract summary: Update contract fees for an account (Membership fee and Account setup fee models) operationId: modifyContractFee description: 'This API enables the contract fees (Membership fee and account set-up fee) to be updated for a given contract and given card account in the contract. This is done by providing in input the new model reference and the type to be used. This model has to be configured previously for the product.' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - name: accountReference in: path description: Account Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/ModifyContractFeeRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ModifyContractFeeResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/contract-fees/external-accounts/{issuerAccountExternalReference}: patch: tags: - Contract summary: Update contract fees for an account (Membership fee and Account setup fee models) by account external reference operationId: modifyContractFeeByAccountIssExtRef description: 'This API enables the contract fees (Membership fee and account set-up fee) to be updated for a given contract and given card account in the contract. This is done by providing in input the new model reference and the type to be used. This model has to be configured previously for the product.' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - name: issuerAccountExternalReference in: path description: Issuer Account External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/ModifyContractFeeRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ModifyContractFeeResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/contract-owner: get: tags: - Contract summary: Retrieve contract owner for a contract operationId: retrieveContractOwner description: This API allows the contract owner for a contract identified by the Issuer Contract external reference or the Contract reference, to be retrieved. produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - name: embed in: query description: Embedded Fields required: false type: array items: type: string enum: - addressIdentifiers - addresses collectionFormat: multi responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCustomer' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/legitimacy-documents: get: tags: - Contract summary: List legitimacy documents for a contract operationId: listLegitimacyDocuments description: "Legitimacy documents correspond to documents that prove the identity of a customer (pass ID, national card ID)\nThe document type, The document ID, the expiry date of the document, its issuing date can be stored in our system.\nThis API is used to get the customers legitimacy documents of a contract.\n\nThe input parameters are: \n- the contract reference for which information is requested: It can be provided by using the contract reference or the issuer external contract reference." produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityListLegitimacyDocuments' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/legitimacy-documents/{customerReference}: put: tags: - Contract summary: Update legitimacy document of a contract customer operationId: modifyLegitimacyDocument description: "This API is used to update the customers legitimacy documents of a contract.\nThe input parameters are: \n- the contract reference and the customer reference for which information must be updated.\n\nThey can be provided by using the internal references or the issuer external references:\n- contract reference and customer reference\nor\n- issuer contract external reference and issuer customer external reference" consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - name: customerReference in: path description: Customer Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/ModifyLegitimacyDocumentRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityModifyLegitimacyDocumentResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/switch-principal-card: post: tags: - Contract summary: Switch between principal and supplementary cards operationId: switchPrincipalCard description: "The API is used to change the contract owner of the main card by a cardholder of an additional card belonging to the same contract.\nThe API requires in input:\n- the Issuer ID\n- the contract reference\n- the cardholder reference (future contract owner and future cardholder of the main card)\n- the card contract reference (optional - in case the cardholder has several card contracts in different contracts) \n\nIn return, the list of all changes is provided at contract level and card contracts level (old main card and new main card)." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/SwitchPrincipalCardRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntitySwitchPrincipalCardResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/switch-principal-card: post: tags: - Contract summary: Switch between principal and supplementary cards by external reference operationId: switchPrincipalCardByIssuerExtRef description: "The API is used to change the contract owner of the main card by a cardholder of an additional card belonging to the same contract.\nThe API requires in input:\n- the Issuer ID\n- the contract reference\n- the cardholder reference (future contract owner and future cardholder of the main card)\n- the card contract reference (optional - in case the cardholder has several card contracts in different contracts) \n\nIn return, the list of all changes is provided at contract level and card contracts level (old main card and new main card)." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/SwitchPrincipalCardRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntitySwitchPrincipalCardResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/change-product: post: x-wl-idempotent: true tags: - Contract summary: Change the existing product for another one description: "The API can be used to replace a consumer contract (so called 'product change'), created from a certain product, by another consumer contract, created from a different product (e.g. in case of card product upgrade, downgrade). \nThis replacement or change\n- must be allowed by the configuration (e.g. transition from product A to product B is configured and allowed)\n- is performed either immediately or in the future (next anticipated card renewal date) depending on the configuration \n\nAs a result\n- Card renewal and replacement are disabled for all cards within the old contract\n- In case of product change in the future, the change is scheduled at the first anticipated card renewal date within the contract, and the product change status is PENDING\n\nWhen this contract replacement or product change is performed (immediately or at the scheduled date)\n- Product change status is set to PROCESSED \n- the new contract is created from the new product (target product)\n- All cards of the old contract are transferred to the new one depending on business rules (e.g. deactivated/cancelled cards are not transferred)\n- Data such as IBAN are transferred to the new contract (data to be transferred depend on issuer requirements)\n- the closing date of the old contract is set according to the delay configured for the issuer\n- account set-up fee and membership are reimbursed on old contract if requested\n\nIdempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once. The response will be retrieved directly from our system." operationId: changeProduct consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/ChangeProductRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityChangeProductResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/change-product: post: x-wl-idempotent: true tags: - Contract summary: Change the existing product for another one by external reference description: "The API can be used to replace a consumer contract (so called 'product change'), created from a certain product, by another consumer contract, created from a different product (e.g. in case of card product upgrade, downgrade). \nThis replacement or change\n- must be allowed by the configuration (e.g. transition from product A to product B is configured and allowed)\n- is performed either immediately or in the future (next anticipated card renewal date) depending on the configuration \n\nAs a result\n- Card renewal and replacement are disabled for all cards within the old contract\n- In case of product change in the future, the change is scheduled at the first anticipated card renewal date within the contract, and the product change status is PENDING\n\nWhen this contract replacement or product change is performed (immediately or at the scheduled date)\n- Product change status is set to PROCESSED \n- the new contract is created from the new product (target product)\n- All cards of the old contract are transferred to the new one depending on business rules (e.g. deactivated/cancelled cards are not transferred)\n- Data such as IBAN are transferred to the new contract (data to be transferred depend on issuer requirements)\n- the closing date of the old contract is set according to the delay configured for the issuer\n- account set-up fee and membership are reimbursed on old contract if requested\n\nIdempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once. The response will be retrieved directly from our system." operationId: changeProductByIssuerExtRef consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/ChangeProductRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityChangeProductResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/cancel-product-change: post: tags: - Contract summary: Cancel a pending ProductChange operationId: cancelProductChange description: 'The API can be used to cancel a product change for a given consumer contract, identified by either its issuer Contract external reference or its Contract reference: - PENDING or already PROCESSED product change - The cancellation is possible as long as the original contract is not yet closed (product change already processed). - It is possible to request the reimbursement of the fees (membership fee / account setup) already posted on the new contract. - It is possible to request cancellation only for the latest product change that was performed for the contracts that are linked each other through a product change (old contracts, new contract) As a result, - In case of cancellation of a pending product change, the product change is not performed. - In case of cancellation of a product change already processed, the product change is reversed: - the original contract,and its cards will not be closed - the new contract and new cards are closed immediately' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/CancelProductChangeRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCancelProductChangeResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/cancel-product-change: post: tags: - Contract summary: Cancel a pending ProductChange by external reference operationId: cancelProductChangeByIssuerExtRef description: 'The API can be used to cancel a product change for a given consumer contract, identified by either its issuer Contract external reference or its Contract reference: - PENDING or already PROCESSED product change - The cancellation is possible as long as the original contract is not yet closed (product change already processed). - It is possible to request the reimbursement of the fees (membership fee / account setup) already posted on the new contract. - It is possible to request cancellation only for the latest product change that was performed for the contracts that are linked each other through a product change (old contracts, new contract) As a result, - In case of cancellation of a pending product change, the product change is not performed. - In case of cancellation of a product change already processed, the product change is reversed: - the original contract,and its cards will not be closed - the new contract and new cards are closed immediately' consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: false schema: $ref: '#/definitions/CancelProductChangeRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityCancelProductChangeResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/force-product-change: post: x-wl-idempotent: true tags: - Contract summary: Force a pending ProductChange operationId: forceProductChange description: "When a product change is scheduled for a consumer contract A, card replacement is blocked for each card of this contract A.\nIn this case, instead of requesting a card replacement this API allows to anticipate / force the scheduled product change on a consumer contract, identified by its Issuer Contract external reference or its Contract reference.\n\nAlso, the card to be replaced, previously permanently blocked (e.g. for lost or stolen reason) after the product change request, can be transferred to the new contract, not in cancelled status but in the status foreseen by the new product.\n\nAs a result : \n- Product change status is set to PROCESSED \n- the new contract is created from the new product\n- All cards of the old contract (e.g. contract A) are transferred to the new one depending on business rules (e.g. deactivated/cancelled, permanently blocked cards before the product change request are not transferred)\n- Data such as IBAN are transferred to the new contract\n- the closing date of the old contract is set according to the delay configured for the issuer\n- account set-up fee and membership are reimbursed on old contract if requested.\n\nIdempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once.The response will be retrieved directly from our system." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/ForceProductChangeRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityForceProductChangeResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/force-product-change: post: x-wl-idempotent: true tags: - Contract summary: Force a pending ProductChange by external reference operationId: forceProductChangeByIssuerExtRef description: "When a product change is scheduled for a consumer contract A, card replacement is blocked for each card of this contract A.\nIn this case, instead of requesting a card replacement this API allows to anticipate / force the scheduled product change on a consumer contract, identified by its Issuer Contract external reference or its Contract reference.\n\nAlso, the card to be replaced, previously permanently blocked (e.g. for lost or stolen reason) after the product change request, can be transferred to the new contract, not in cancelled status but in the status foreseen by the new product.\n\nAs a result : \n- Product change status is set to PROCESSED \n- the new contract is created from the new product\n- All cards of the old contract (e.g. contract A) are transferred to the new one depending on business rules (e.g. deactivated/cancelled, permanently blocked cards before the product change request are not transferred)\n- Data such as IBAN are transferred to the new contract\n- the closing date of the old contract is set according to the delay configured for the issuer\n- account set-up fee and membership are reimbursed on old contract if requested.\n\nIdempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once.The response will be retrieved directly from our system." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/ForceProductChangeRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityForceProductChangeResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/refund-fee-on-demand: post: x-wl-idempotent: true tags: - Contract summary: Refund fee by contract reference operationId: refundFeeByContractReference description: "The API is used to trigger an on demand pro rata refund of Account Setup (AS) fee or Membership fee (MS) for the unutilised period. \n\nPre Conditions:\n- In case refund for Account Setup fee is requested then card contract closure date should be less than card contract creation date + 1 year\n- In case refund for Membership fee is requested, then the Membership fee should already be posted \n- Account setup fee refund on demand can be received only once during contract lifecycle\n- Membership fee refund on demand can be received only once between Membership fee anniversary dates\n\nThe issuer can request the refund by AS or MS fee by providing:\n- The fee type: Either Account Setup fee or Membership Fee\n- Card Contract Reference\n\nAs a Result:\n- For Account Setup fee: \nIf account is in closed status (BEING_CLOSED), the pro rata refund will be calculated and posted with the following logic: Posted AS fee amount * (Number of days from contract cancellation till (card contract creation + 1 year) / number of days in the year), \nIn other cases, it will be calculated in the following logic:,Posted AS fee amount * (Number of days from the date when demand for refund is received till (card contract creation + 1 year) / number of days in the year)\n\n- For Membership Fee: \nIf account is in closed status (BEING_CLOSED), the pro rata refund will be calculated and posted with the following logic: MS fee posted on last MS fee anniversary date * (Number of days from contract cancellation till next MS Fee Anniversary date / number of days in the year)\nIn other cases, it will be calculated in the following logic: MS fee posted on last MS fee anniversary date * (Number of days from the date when demand for refund is received till next MS Fee Anniversary date / number of days in the year).\n\nIdempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once.The response will be retrieved directly from our system." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/RefundFeeOnDemandRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityRefundFeeOnDemandResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/refund-fee-on-demand: post: x-wl-idempotent: true tags: - Contract summary: Refund fee by issuer contract external reference operationId: refundFeeByIssuerContractExternalReference description: "The API is used to trigger an on demand pro rata refund of Account Setup (AS) fee or Membership fee (MS) for the unutilised period. \n\nPre Conditions:\n- In case refund for Account Setup fee is requested then card contract closure date should be less than card contract creation date + 1 year\n- In case refund for Membership fee is requested, then the Membership fee should already be posted \n- Account setup fee refund on demand can be received only once during contract lifecycle\n- Membership fee refund on demand can be received only once between Membership fee anniversary dates\n\nThe issuer can request the refund by AS or MS fee by providing:\n- The fee type: Either Account Setup fee or Membership Fee\n- Card Contract Reference\n\nAs a Result:\n- For Account Setup fee: \nIf account is in closed status (BEING_CLOSED), the pro rata refund will be calculated and posted with the following logic: Posted AS fee amount * (Number of days from contract cancellation till (card contract creation + 1 year) / number of days in the year), \nIn other cases, it will be calculated in the following logic:,Posted AS fee amount * (Number of days from the date when demand for refund is received till (card contract creation + 1 year) / number of days in the year)\n\n- For Membership Fee: \nIf account is in closed status (BEING_CLOSED), the pro rata refund will be calculated and posted with the following logic: MS fee posted on last MS fee anniversary date * (Number of days from contract cancellation till next MS Fee Anniversary date / number of days in the year)\nIn other cases, it will be calculated in the following logic: MS fee posted on last MS fee anniversary date * (Number of days from the date when demand for refund is received till next MS Fee Anniversary date / number of days in the year).\n\nIdempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once.The response will be retrieved directly from our system." consumes: - application/json produces: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Issuer Contract External Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/RefundFeeOnDemandRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityRefundFeeOnDemandResponse' security: - basic: [] deprecated: false /issuers/{issuerId}/contracts/{contractReference}/replace-customer: post: x-wl-idempotent: true x-wl-lra-operation: true tags: - Contract summary: Replace a customer within a consumer contract operationId: replaceCustomerByContractReference description: 'The API can be used to replace a customer belonging to a consumer contract, by an existing one in our system or by a new one. The customer to be replaced can be the contract owner, the account owner, the cardholder, etc...of the contract. The main input fields are: - The issuer ID - The issuer contract external reference or the contract reference - The issuer customer external reference or the customer reference for which the replacement is requested - The target customer (by providing either the issuer customer external reference or the customer reference) if the customer already exists in our system, or a new one In return, the API provides the identifiers of all customers (contract owner account owner, the cardholder, etc...) associated to the consumer contract. Idempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once.The response will be retrieved directly from our system.' produces: - application/json consumes: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: contractReference in: path description: Contract Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/ReplaceCustomerInContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityReplaceCustomerInConsumerContractResponse' security: - basic: [] /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/replace-customer: post: x-wl-idempotent: true x-wl-lra-operation: true tags: - Contract summary: Replace a customer within a consumer contract by external reference operationId: replaceCustomerByIssuerContractExternalReference description: 'The API can be used to replace a customer belonging to a consumer contract, by an existing one in our system or by a new one. The customer to be replaced can be the contract owner, the account owner, the cardholder, etc...of the contract. The main input fields are: - The issuer ID - The issuer contract external reference or the contract reference - The issuer customer external reference or the customer reference for which the replacement is requested - The target customer (by providing either the issuer customer external reference or the customer reference) if the customer already exists in our system, or a new one In return, the API provides the identifiers of all customers (contract owner account owner, the cardholder, etc...) associated to the consumer contract. Idempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once.The response will be retrieved directly from our system.' produces: - application/json consumes: - application/json parameters: - name: WL-Correlation-ID in: header required: false type: string - name: WL-Origin in: header required: false type: string - name: WL-Username in: header required: false type: string - name: filter in: query description: Filtered Fields required: false type: array items: type: string collectionFormat: multi - name: issuerId in: path description: Issuer ID required: true type: string - name: issuerContractExternalReference in: path description: Contract External Reference required: true type: string - in: body name: body required: true schema: $ref: '#/definitions/ReplaceCustomerInContractRequest' responses: '400': description: Bad request schema: $ref: '#/definitions/BadRequestErrorApiResponse' '401': description: Unauthorized schema: $ref: '#/definitions/UnauthorizedErrorApiResponse' '403': description: Forbidden schema: $ref: '#/definitions/ForbiddenErrorApiResponse' '404': description: Not found schema: $ref: '#/definitions/NotFoundErrorApiResponse' '500': description: Internal server error schema: $ref: '#/definitions/InternalServerErrorErrorApiResponse' '502': description: Bad gateway schema: $ref: '#/definitions/BadGatewayErrorApiResponse' '200': description: OK schema: $ref: '#/definitions/ApiResponseEntityReplaceCustomerInConsumerContractResponse' security: - basic: [] /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts: get: tags: - Contract summary: Search contracts description: "This operation retrieves a list of contracts. Terminated contracts are excluded.\n \nIf there is a previous and/or next page the http response header will have a link (url) to this data \n" operationId: getContractOverviewList parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: holdingId in: query description: 'Unique identification of the holding, determined by equensWorldline ' schema: type: integer format: int32 - name: merchantId in: query description: 'Unique identification of the merchant, determined by the acquirer ' schema: type: string - name: contractId in: query description: 'Unique identification of the contract, determined by the acquirer ' schema: type: string - name: iban in: query description: 'Iban ' schema: type: string - name: contractName in: query description: 'Optional name for this specific contract ' schema: type: string - name: postalCode in: query description: 'Postal code of business address. ' schema: type: string - name: houseNumber in: query description: 'House number of business address. Note, Postal code must be given as well ' schema: type: integer format: int32 - name: cardAcceptorId in: query description: 'Unique identification of the site in accordance with payment scheme rules. Some Dutch acquirers have a waiver not to fill this field. In that case it contains the merchant ID ' schema: type: string - name: terminalId in: query description: 'Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID) ' schema: type: string - name: merchantName in: query description: 'Name of the merchant ' schema: type: string - name: sortField in: query description: 'Sort field ' schema: type: string enum: - contractId - contractName - name: sortOrder in: query description: 'Sort order ' schema: type: string enum: - Ascending - Descending - name: pageSize in: query description: Page size (Max page size is 300) schema: type: string - name: pageNumber in: query description: Page number schema: type: string - name: includeTerminated in: header description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included). schema: type: boolean responses: 200: description: Successful content: application/json: schema: type: array items: $ref: '#/components/schemas/ContractListData' example: - contractIdentification: acquirerId: '315000001' holdingId: 200 merchantId: '1001' contractId: '10011' contractName: Music Festivals commencementDate: 2022-12-09 status: Active address: streetName: Stootblok houseNumber: 14 postalCode: 3071AP city: Rotterdam countryCode: 528 contactPersonName: M. Scott email: M.Scott@eventpaymentsolutions.com contractDetailsURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011 - contractIdentification: acquirerId: '315000001' holdingId: 300 merchantId: '2001' contractId: '20011' contractName: GG Retail Stores commencementDate: 2022-12-09 status: Active address: streetName: Utrechtsestraat houseNumber: 17 postalCode: 1017VH city: Amsterdam countryCode: 528 contactPersonName: W. Kilbourne email: W.Kilbourne@GreatGroceries.com contractDetailsURI: acquiring/contract/v2.0/acquirers/315000001/contracts/20011 400: description: Invalid input provided content: {} 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} post: tags: - Contract summary: Add a contract operationId: postContract parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/PostContract' application/json: schema: $ref: '#/components/schemas/PostContract' text/json: schema: $ref: '#/components/schemas/PostContract' application/*+json: schema: $ref: '#/components/schemas/PostContract' required: true responses: 201: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/PostContractResponse' 400: description: Invalid input provided content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}: get: tags: - Contract summary: Retrieve a contract description: 'This operation retrieves a contract. ' operationId: getContract parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string - name: includeTerminated in: header description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included). schema: type: boolean responses: 200: description: Successful content: application/json: schema: $ref: '#/components/schemas/ContractData' example: contractIdentification: acquirerId: '315000001' merchantId: '1001' contractId: '10011' basic: acquirerName: Worldline Sandbox Bank merchantName: Event Payment Solutions 1 contractName: Music Festivals merchantCategoryCode: '8931' currencyData: transaction2PaymentCurrency: - transactionCurrency: EUR paymentCurrency: EUR - transactionCurrency: GBP paymentCurrency: EUR - transactionCurrency: USD paymentCurrency: EUR localPaymentCurrency: EUR refundLimits: maximumRefundAmount: '500.00' maximumDailyRefundAmount: '100000.00' maximumDailyNumberOfRefunds: 5000 financial: transactionFeePricePlans: - currency: EUR name: IC+ PayFac type: 2 paymentTemplateName: Net1 serviceBasedFeePricePlanName: Service Fees PayFac 1 status: status: Active commencementDate: 2022-12-09 addressDetailsURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/addresses balanceDataURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/balances brandDataURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/brands 400: description: Invalid input provided content: {} 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} delete: tags: - Contract summary: Delete a contract operationId: deleteContract parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string responses: 200: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/CorrelationResponse' 400: description: Invalid input provided content: {} 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} patch: tags: - Contract summary: Update a contract description: "Based on a GET Contract call a PATCH Contract call can be generated to change one or more fields. Whether it is allowed to change a field (and which values are allowed) is determined by the business logic of the contract management solution. Sample request: \r\n\r\n [\r\n {\r\n \"value\": \"MyContract\",\r\n \"path\": \"/basic/contractName\",\r\n \"op\": \"replace\" \r\n }, \r\n {\r\n \"value\": \"true\",\r\n \"path\": \"/basic/highRiskMerchant\",\r\n \"op\": \"replace\" \r\n }\r\n ]" operationId: PatchContract parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string requestBody: content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' application/*+json: schema: type: array items: $ref: '#/components/schemas/Operation' required: false responses: 200: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/ContractResponse' 400: description: Invalid input provided content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/currencies: post: tags: - Contract summary: Add currencies to a contract operationId: postContractCurrencies parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/PostContractCurrency' application/json: schema: $ref: '#/components/schemas/PostContractCurrency' text/json: schema: $ref: '#/components/schemas/PostContractCurrency' application/*+json: schema: $ref: '#/components/schemas/PostContractCurrency' required: true responses: 201: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/PostContractCurrenciesResponse' 400: description: Returns when business errors are found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/addresses: get: tags: - Contract summary: Retrieve the addresses of a contract description: 'This operation retrieves addresses of a contract. ' operationId: getContractAddresses parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string - name: includeTerminated in: header description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included). schema: type: boolean responses: 200: description: Successful content: application/json: schema: $ref: '#/components/schemas/ContractAddressData' example: contractIdentification: acquirerId: '315000001' merchantId: '1001' contractId: '10011' addresses: - addressType: Business streetName: Stootblok houseNumber: 14 postalCode: 3071AP city: Rotterdam countryCode: 528 contactPersonName: M. Scott email: M.Scott@eventpaymentsolutions.com communicationLanguage: eng communicationPreference: 3 - addressType: Postal streetName: Postbus houseNumber: 2341 postalCode: 3000CH city: Rotterdam countryCode: 528 contactPersonName: S. Chadwick email: S.Chadwick@eventpaymentsolutions.com communicationLanguage: eng communicationPreference: 3 400: description: Invalid input provided content: {} 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} post: tags: - Contract summary: Add addresses to a contract operationId: postContractAddresses parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/PostContractAddresses' application/json: schema: $ref: '#/components/schemas/PostContractAddresses' text/json: schema: $ref: '#/components/schemas/PostContractAddresses' application/*+json: schema: $ref: '#/components/schemas/PostContractAddresses' required: true responses: 201: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/EditContractAddressesResponse' 400: description: Returns when business errors are found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} patch: tags: - Contract summary: Update the addresses of a contract description: "Based on a GET Contract Addresses call a PATCH Contract Addresses call can be generated to change one or more fields. Whether it is allowed to change a field (and which values are allowed) is determined by the business logic of the contract management solution. Sample request: \r\n\r\n [\r\n {\r\n \"value\": \"Mainstreet\",\r\n \"path\": \"/addresses/0/streetName\",\r\n \"op\": \"replace\" \r\n }, \r\n {\r\n \"value\": 12,\r\n \"path\": \"/addresses/0/houseNumber\",\r\n \"op\": \"replace\" \r\n }\r\n ]" operationId: patchContractAddresses parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string requestBody: content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' application/*+json: schema: type: array items: $ref: '#/components/schemas/Operation' required: false responses: 200: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/EditContractAddressesResponse' 400: description: Returns when business errors are found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/addresses/{addressType}: delete: tags: - Contract summary: Delete an address from a contract description: 'This operation deletes a contract address ' operationId: deleteContractAddresses parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string - name: addressType in: path description: Type of the address. Values [Business, Chargeback, Creditor, Debtor, Invoice, Location, Postal, Private] required: true schema: type: string responses: 200: description: Delete is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/CorrelationResponse' 400: description: Invalid input provided content: {} 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/balances: get: tags: - Contract summary: Retrieve the balances of a contract description: 'This operation retrieves balances of a contract. ' operationId: getContractBalances parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string - name: includeTerminated in: header description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included). schema: type: boolean responses: 200: description: Successful content: application/json: schema: $ref: '#/components/schemas/ContractBalanceData' example: contractIdentification: acquirerId: '315000001' merchantId: '1001' contractId: '10011' balances: - balanceNumber: 1 paymentLevel: 4 paymentAggregation: 1 paymentFrequency: 4 paymentDelay: 0 bankAccounts: - currency: EUR bankAccountType: 1 bic: BITSNL2A iban: NL76BITS1234567890 400: description: Invalid input provided content: {} 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} post: tags: - Contract summary: Add balances to a contract operationId: postContractBalances parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/PostContractBalances' application/json: schema: $ref: '#/components/schemas/PostContractBalances' text/json: schema: $ref: '#/components/schemas/PostContractBalances' application/*+json: schema: $ref: '#/components/schemas/PostContractBalances' required: true responses: 201: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/EditContractBalancesResponse' 400: description: Returns when business errors are found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} patch: tags: - Contract summary: Update the balances of a contract description: "Based on a GET Contract Balances call a PATCH Contract Balances call can be generated to change one or more fields. Whether it is allowed to change a field (and which values are allowed) is determined by the business logic of the contract management solution. Sample request: \r\n\r\n [\r\n {\r\n \"value\": \"Fil.100\",\r\n \"path\": \"/balances/0/merchantReconciliationReference\",\r\n \"op\": \"replace\"\r\n }, \r\n {\r\n \"value\": \"1\",\r\n \"path\": \"/balances/0/bankAccounts/0/bankAccountType\",\r\n \"op\": \"replace\" \r\n },\r\n {\r\n \"value\": \"NL91STUB0000007899\",\r\n \"path\": \"/balances/0/bankAccounts/0/iban\",\r\n \"op\": \"replace\" \r\n },\r\n {\r\n \"value\": \"STUBNL2A\",\r\n \"path\": \"/balances/0/bankAccounts/0/bic\",\r\n \"op\": \"replace\" \r\n }\r\n ]" operationId: patchContractBalances parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string requestBody: content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' application/*+json: schema: type: array items: $ref: '#/components/schemas/Operation' required: false responses: 200: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/EditContractBalancesResponse' 400: description: Returns when business errors are found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/brands: get: tags: - Contract summary: Retrieve the brand parameters of a contract description: 'This operation retrieves brands of a contract. ' operationId: getContractBrands parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string - name: includeTerminated in: header description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included). schema: type: boolean responses: 200: description: Successful content: application/json: schema: $ref: '#/components/schemas/ContractBrandData' example: contractIdentification: acquirerId: '315000001' merchantId: '1001' contractId: '10011' brands: - label: MAST brand: Mastercard brandParameters: - offlineManualEntryAllowed: true magstripeTransactionProcessingOptions: 2 amounts: - currency: EUR magstripeOfflineFloorLimit: '0.00' iccOfflineFloorLimit: '0.00' transactionLimitContactless: '99999.99' offlineFloorLimitContactless: '0.00' cardholderVerificationLimit: '50.00' receiptLimit: '0.00' noCvmLimit: '0.00' maximumCashBackAmount: '0.00' matMaximumTransactionAmount: '0.00' offlineMaximumTipPercentage: 0 noCvmAllowed: false offlineBackupModeAllowed: false allowedServices: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true manualEntryProcessingOptions: refuseTransaction: false performOnlineTransaction: true pinRequired: false signatureRequired: true cvc2OrCvv2Required: false luhnDigitCheckRequired: true cardEntryModes: manualEntry: false magstripe: true iccEmv: true contactlessMagstripe: true contactlessIccEmv: true allowedServicesContactless: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true rejectedProductTypes: eeaDebit: false eeaCredit: false eeaCommercial: false eeaPrepaid: false - label: VISA brand: Visa brandParameters: - offlineManualEntryAllowed: true magstripeTransactionProcessingOptions: 2 amounts: - currency: EUR magstripeOfflineFloorLimit: '0.00' iccOfflineFloorLimit: '0.00' transactionLimitContactless: '99999.99' offlineFloorLimitContactless: '0.00' cardholderVerificationLimit: '50.00' receiptLimit: '0.00' noCvmLimit: '0.00' maximumCashBackAmount: '0.00' matMaximumTransactionAmount: '0.00' offlineMaximumTipPercentage: 0 noCvmAllowed: false offlineBackupModeAllowed: false allowedServices: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true manualEntryProcessingOptions: refuseTransaction: false performOnlineTransaction: true pinRequired: false signatureRequired: true cvc2OrCvv2Required: false luhnDigitCheckRequired: true cardEntryModes: manualEntry: false magstripe: true iccEmv: true contactlessMagstripe: true contactlessIccEmv: true allowedServicesContactless: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true rejectedProductTypes: eeaDebit: false eeaCredit: false eeaCommercial: false eeaPrepaid: false - label: MAES brand: Maestro brandParameters: - magstripeTransactionProcessingOptions: 1 amounts: - currency: EUR transactionLimitContactless: '99999.99' offlineFloorLimitContactless: '0.00' cardholderVerificationLimit: '50.00' receiptLimit: '0.00' noCvmLimit: '0.00' maximumCashBackAmount: '0.00' matMaximumTransactionAmount: '0.00' offlineMaximumTipPercentage: 0 noCvmAllowed: false offlineBackupModeAllowed: false allowedServices: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true manualEntryProcessingOptions: refuseTransaction: false performOnlineTransaction: false pinRequired: false signatureRequired: false cvc2OrCvv2Required: false luhnDigitCheckRequired: false cardEntryModes: manualEntry: false magstripe: false iccEmv: true contactlessMagstripe: true contactlessIccEmv: true allowedServicesContactless: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true - label: VPAY brand: V Pay brandParameters: - magstripeTransactionProcessingOptions: 1 amounts: - currency: EUR transactionLimitContactless: '99999.99' offlineFloorLimitContactless: '0.00' cardholderVerificationLimit: '50.00' receiptLimit: '0.00' noCvmLimit: '0.00' maximumCashBackAmount: '0.00' matMaximumTransactionAmount: '0.00' offlineMaximumTipPercentage: 0 noCvmAllowed: false offlineBackupModeAllowed: false allowedServices: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true manualEntryProcessingOptions: refuseTransaction: false performOnlineTransaction: false pinRequired: false signatureRequired: false cvc2OrCvv2Required: false luhnDigitCheckRequired: false cardEntryModes: manualEntry: false magstripe: false iccEmv: true contactlessMagstripe: true contactlessIccEmv: true allowedServicesContactless: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true - label: DBMC brand: Debit Mastercard brandParameters: - magstripeTransactionProcessingOptions: 1 amounts: - currency: EUR transactionLimitContactless: '99999.99' offlineFloorLimitContactless: '0.00' cardholderVerificationLimit: '50.00' receiptLimit: '0.00' noCvmLimit: '0.00' maximumCashBackAmount: '0.00' matMaximumTransactionAmount: '0.00' offlineMaximumTipPercentage: 0 noCvmAllowed: false offlineBackupModeAllowed: false allowedServices: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true manualEntryProcessingOptions: refuseTransaction: false performOnlineTransaction: false pinRequired: false signatureRequired: false cvc2OrCvv2Required: false luhnDigitCheckRequired: false cardEntryModes: manualEntry: false magstripe: false iccEmv: true contactlessMagstripe: true contactlessIccEmv: true allowedServicesContactless: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true - label: VIDB brand: Visa Debit brandParameters: - magstripeTransactionProcessingOptions: 1 amounts: - currency: EUR transactionLimitContactless: '99999.99' offlineFloorLimitContactless: '0.00' cardholderVerificationLimit: '50.00' receiptLimit: '0.00' noCvmLimit: '0.00' maximumCashBackAmount: '0.00' matMaximumTransactionAmount: '0.00' offlineMaximumTipPercentage: 0 noCvmAllowed: false offlineBackupModeAllowed: false allowedServices: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true manualEntryProcessingOptions: refuseTransaction: false performOnlineTransaction: false pinRequired: false signatureRequired: false cvc2OrCvv2Required: false luhnDigitCheckRequired: false cardEntryModes: manualEntry: false magstripe: false iccEmv: true contactlessMagstripe: true contactlessIccEmv: true allowedServicesContactless: purchaseService: true cashAdvanceService: false reservationService: false purchaseAfterReservationService: false cardValidityCheckService: false refundService: true deferredSaleService: false cancellationService: true 400: description: Invalid input provided content: {} 401: description: Unauthorized content: {} 403: description: Forbidden content: {} 404: description: Resource not found content: {} 500: description: Unexpected error content: {} 502: description: Backend service problem content: {} post: tags: - Contract summary: Add brands to a contract operationId: postContractBrands parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/PostContractBrands' application/json: schema: $ref: '#/components/schemas/PostContractBrands' text/json: schema: $ref: '#/components/schemas/PostContractBrands' application/*+json: schema: $ref: '#/components/schemas/PostContractBrands' required: true responses: 201: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/PostContractBrandsResponse' 400: description: Returns when business errors are found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 403: description: Not authorised to use this call content: {} 404: description: Returns when the site is not found content: {} 500: description: Server side error content: {} patch: tags: - Contract summary: Update the brand parameters of a contract description: "Based on a GET Contract Brands call a PATCH Contract Brands call can be generated to change one or more fields. Whether it is allowed to change a field (and which values are allowed) is determined by the business logic of the contract management solution. Sample request: \r\n\r\n [\r\n {\r\n \"value\": 12,\r\n \"path\": \"/brands/1/brandParameters/offlineMaximumTipPercentage\",\r\n \"op\": \"replace\" \r\n }, \r\n {\r\n \"path\": \"/brands/1/brandParameters/magstripeTransactionProcessingOptions\",\r\n \"op\": \"remove\"\r\n },\r\n {\r\n \"value\": \"12.0000\",\r\n \"path\": \"/brands/1/brandParameters/amounts/0/iccOfflineFloorLimit\",\r\n \"op\": \"replace\" \r\n },\r\n {\r\n \"value\": \"true\",\r\n \"path\": \"/brands/1/brandParameters/manualEntryProcessingOptions/refuseTransaction\",\r\n \"op\": \"replace\" \r\n }\r\n ]" operationId: patchContractBrands parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string - name: applyToAll in: query description: If value is true then the changes made to 1 brand (with index 0) will automatically apply to all brands schema: type: boolean requestBody: content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' application/*+json: schema: type: array items: $ref: '#/components/schemas/Operation' required: false responses: 200: description: Change is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/CorrelationResponse' 400: description: Returns when business errors are found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 403: description: Not authorised to use this call content: {} 404: description: Returns when terminal not found content: {} 500: description: Server side error content: {} /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/brands/{label}: delete: tags: - Contract summary: Delete a brand from a contract operationId: deleteContractBrand parameters: - name: acquirerId in: path description: Unique identification of the acquirer, determined by equensWorldline required: true schema: type: string - name: contractId in: path description: 'Unique identification of the contract, determined by the acquirer ' required: true schema: type: string - name: label in: path description: Unique identification of the brand (payment product). Maestro = MAES, American Express = AMEX, Visa = VISA, etc. required: true schema: type: string responses: 200: description: Delete is processed with correlation id content: application/json: schema: $ref: '#/components/schemas/CorrelationResponse' 400: description: Returns when business errors are found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 403: description: Not authorised to use this call content: {} 404: description: Returns when terminal not found content: {} 500: description: Server side error content: {} components: schemas: BrandParameters: type: object properties: offlineManualEntryAllowed: type: boolean description: Indicates whether manual entry of card data (PAN, expiry date) is allowed for transactions which are processed offline magstripeTransactionProcessingOptions: type: integer description: Used to select the cardholder verification method for magnetic stripe based transactions. Values [1 = PIN required, 2 = Signature required, 3 = PIN or signature required based on card service code] format: int32 amounts: type: array items: $ref: '#/components/schemas/Amount' offlineMaximumTipPercentage: type: integer description: The maximum tip amount, represented as a percentage of the transaction amount, that is allowed as extra format: int32 noCvmAllowed: type: boolean description: Indicates whether transactions (chip with contacts) without cardholder verification (No-CVM) are allowed beneath the maximum amount set by the scheme maximumDailyTransactionNumber: type: integer description: The maximum number of online transactions for a site per day format: int32 maxDailyVoiceAuthorizationNumber: type: integer description: The maximum number of voice authorizations for a site per day format: int32 tokenization: type: boolean description: Indicates whether C-TAP tokenization is allowed on the terminal dynamicDescriptor: type: boolean description: Card brand parameter which indicates towards the front office, whether a terminal or website is allowed to use Dynamic Descriptors. Dynamic descriptors allow merchants to add relevant information (invoice number or some other details) about a transaction to the payment description so that it shows up on bank statements of consumers. The dynamic descriptor data is sent both in authorization and clearing messages preAuthorizationPanClipping: type: boolean description: Indicates whether the PAN must be clipped or not on merchant’s ticket for pre-authorization offlineBackupModeAllowed: type: boolean description: The backup mode allows the merchant to let the terminal approve offline transactions, which normally require going online, when it is temporarily unable to go online. It is an indicator telling if the backup mode can be activated or not by the terminal allowedServices: $ref: '#/components/schemas/AllowedServices' manualEntryProcessingOptions: $ref: '#/components/schemas/ManualEntryProcessingOptions' cardEntryModes: $ref: '#/components/schemas/CardEntryModes' allowedServicesContactLess: $ref: '#/components/schemas/AllowedServices' rejectedProductTypes: $ref: '#/components/schemas/RejectedProductTypes' AddressDetails: required: - addressType - city - countryCode type: object properties: addressType: type: string description: Type of the address. Values [Business, Chargeback, Creditor, Debtor, Invoice, Location, Postal, Private] example: Business streetName: type: string description: Street name and house number of the address. In case of a Dutch address only Street name example: Stootblok houseNumber: type: integer description: House number. Only used for Dutch addresses format: int32 example: 14 houseAddition: type: string description: House number addition. Only used for Dutch addresses example: bis postalCode: type: string description: Postal code of the address example: 3071AP city: type: string description: City of the address example: Rotterdam region: type: string description: Region of the address. Only applicable for specific countries example: Zuid-Holland countryCode: type: string description: Country of the address according to ISO 3166-1 (numeric-3) example: '528' departmentName: type: string description: Department of the contact person registered with the address example: Finance contactPersonName: type: string description: Name of the contact person registered with the address example: M. Scott postalRoom: type: string description: Postal room of the contact person registered with the address example: 2N.17 telephoneNumber: type: string description: Telephone number of contact person registered with the address example: +31-63864055 faxNumber: type: string description: Fax number of the contact person registered with the address example: +31-24683905 email: type: string description: E-mail address of the contact person registered with the address example: M.Scott@eventpaymentsolutions.com communicationLanguage: type: string description: Preferred communication language of the contact person registered with the address accrding to ISO 639-2 (alphanumeric-3) example: eng communicationPreference: type: integer description: Preferred communication type of the contact person registered with the address. Values [1 = Post, 2 = Fax, 3 = E-mail] format: int32 example: 3 PostContractStatus: type: object properties: status: type: string description: The status of the contract. Values [Active, Blocked (Trx & Pmts), Blocked (Trx), Blocked (Pmts)] missing: $ref: '#/components/schemas/ContractSubentitiesMissingResponse' Financial: type: object properties: transactionFeePricePlans: type: array items: $ref: '#/components/schemas/TransactionFeePricePlan' paymentTemplateName: type: string description: Unique name of the payment template. It dictates how many balances are used at the contract and which financial activities are posted on which balance. Values [Gross0, Gross1, Gross2, Gross3, Net1, Net2, Net3, Net4] serviceBasedFeePricePlanName: type: string description: Unique name of the service based fee price plan ContractBalanceData: type: object properties: contractIdentification: $ref: '#/components/schemas/ContractContractIdentification' balances: type: array items: $ref: '#/components/schemas/Balance' PostContract: required: - basic - contractIdentification type: object properties: contractIdentification: $ref: '#/components/schemas/PostContractContractIdentification' basic: $ref: '#/components/schemas/PostContractBasic' serviceProvider: $ref: '#/components/schemas/PostServiceProvider' currencyData: $ref: '#/components/schemas/PostCurrencyData' refundLimits: $ref: '#/components/schemas/PostRefundLimits' financial: $ref: '#/components/schemas/PostFinancial' externalIds: $ref: '#/components/schemas/ExternalIds' ContractBasic: type: object properties: acquirerName: type: string description: Name of the acquirer merchantName: type: string description: Name of the merchant contractName: type: string description: Optional name for this specific contract threeDSecure: type: boolean description: Indicates whether the merchants accepts 3D secure eCommerce transactions highRiskMerchant: type: boolean description: Indicates whether the acquirer considers the merchant high risk merchantPortalAccess: type: boolean description: Indicates whether the merchant has access to the equensWorldline merchant portal statementFrequency: type: integer description: Frequency of statement generation. Values [1 = Weekly, 2 = Monthly] format: int32 merchantCategoryCode: type: string description: The MCC is used to classify a business by the types of goods or services it provides, according to ISO 18245 for retail financial services PostContractResponse: type: object properties: correlationId: type: string description: Unique ID that was generated for the specific change format: uuid contractIdentification: $ref: '#/components/schemas/MerchantIdentificationResponse' status: $ref: '#/components/schemas/PostContractStatus' ContractResponse: type: object properties: correlationId: type: string description: Unique ID that was generated for the specific change format: uuid contractIdentification: $ref: '#/components/schemas/MerchantIdentificationResponse' status: $ref: '#/components/schemas/ContractStatusResponse' BalanceNumber: type: object properties: balanceNumber: type: integer description: Number of the balance. Values [1, 2, 3] format: int32 ContractStatusResponse: type: object properties: status: type: string description: The status of the contract. Values [Active, Blocked (Trx & Pmts), Blocked (Trx), Blocked (Pmts)] statusReasonId: type: integer description: Reason for blocking or terminating the contract, the site or the terminal. Values [1 = Bankrupt, 2 = Clean Up, 3 = Closed, 4 = Finance request, 5 = Suspected fraud, 6 = Legal request, 7 = To other acquirer, 8 = Incorrect bank Account, 9 = Negative balance, 10 = PCI non-compliance] format: int32 commencementDate: type: string description: Date at which contract was registered transactionBlockDate: type: string description: Date at which the transactions for the contract were blocked paymentBlockDate: type: string description: Date at which the payments for the contract were blocked missing: $ref: '#/components/schemas/ContractSubentitiesMissingResponse' ErrorData: type: object properties: code: type: string description: Unique code of the error as returned by the system handling the request keyword: type: string description: JSON keyword from the request message that triggered the error errorMessage: type: string description: Message explaining the error ContractData: type: object properties: contractIdentification: $ref: '#/components/schemas/ContractContractIdentification' basic: $ref: '#/components/schemas/ContractBasic' serviceProvider: $ref: '#/components/schemas/ContractServiceProvider' currencyData: $ref: '#/components/schemas/CurrencyData' refundLimits: $ref: '#/components/schemas/RefundLimits' financial: $ref: '#/components/schemas/Financial' externalIds: $ref: '#/components/schemas/ExternalIds' status: $ref: '#/components/schemas/Status' addressDetailsURI: type: string description: URI to get the contract address details example: acquiring/contract/v2.0/acquirers/XXX/contracts/XXX/addresses balanceDataURI: type: string description: URI to get the contract balance data example: acquiring/contract/v2.0/acquirers/XXX/contracts/XXX/balances brandDataURI: type: string description: URI to get the contract brand data example: acquiring/contract/v2.0/acquirers/XXX/contracts/XXX/brands ErrorResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/ErrorData' ContractBrandData: type: object properties: contractIdentification: $ref: '#/components/schemas/ContractContractIdentification' brands: type: array items: $ref: '#/components/schemas/BrandData' ContractListData: type: object properties: contractIdentification: type: object properties: acquirerId: type: string description: Unique identification of the acquirer, determined by equensWorldline example: '315000001' holdingId: type: integer description: Unique identification of the holding, determined by equensWorldline format: int32 example: 200 merchantId: type: string description: Unique identification of the merchant, determined by the acquirer example: '1001' contractId: type: string description: Unique identification of the contract, determined by the acquirer example: '10011' contractName: type: string description: Optional name for this specific contract example: Music Festivals startDateTime: type: string description: Start date of the entity (yyyy-mm-dd hh:mm:ss). FIELD DEPRECATED format: date-time commencementDate: type: string description: Date at which contract, site or terminal was registered paymentBlockDate: type: string description: Date at which the payment for the contract or site has been blocked (yyyy-mm-dd hh:mm:ss) format: date-time transactionBlockDate: type: string description: Date at which the transactions for the contract or site has been blocked (yyyy-mm-dd hh:mm:ss) format: date-time status: type: string description: The status of this entity. Values [Active, Blocked (Trx & Pmts), Blocked (Trx), Blocked (Pmts)] example: Active address: $ref: '#/components/schemas/Address' contractDetailsURI: type: string description: URI to get the contract details example: acquiring/contract/v2.0/acquirers/XXX/contracts/XXX MerchantIdentificationResponse: type: object properties: acquirerId: type: string description: Unique identification of the acquirer, determined by equensWorldline holdingId: type: string description: Unique identification of the holding, determined by equensWorldline merchantId: type: string description: Unique identification of the merchant, determined by the acquirer contractId: type: string description: Unique identification of the contract, determined by the acquirer example: '10011' siteId: type: integer description: Unique identification of the site within the contract format: int64 cardAcceptorId: type: string description: Unique identification of the site in accordance with payment scheme rules. Some Dutch acquirers have a waiver not to fill this field. In that case it contains the merchant ID terminalId: type: string description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID) Balance: type: object properties: balanceNumber: type: integer description: Number of the balance. Values [1, 2, 3] format: int32 merchantReconciliationReference: type: string description: Reference the merchant wants to be part of the description lines of the payment on his bank statement paymentLevel: type: integer description: Level of the merchant hierarchy at which the merchant is paid. Values [4 = Contract, 5 = Site, 6 = Terminal] format: int32 paymentAggregation: type: integer description: Indicates whether the merchant is paid per brand, per scheme or totalized. Values [1 = Totalized payment, 2 = Payment per brand, 3 = Payment per scheme] format: int32 paymentFrequency: type: integer description: Frequency in which the balance is settled with the merchant. Values [1 = Accounting period, 2 = Weekly, 3 = Monthly, 4 = Daily, 5 = Twice a month, 6 = Per external batch, 7 = Across batches, 8 = Merchant manual cut-off, 9 = Merchant automatic cut-off] format: int32 paymentDay: type: integer description: Specific day of the week or month the merchant is paid. Values in case of weekly [1 to 7], values in case of monthly [1 to 31] format: int32 paymentDelay: type: integer description: Payment delay in days. Values [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 30, 60, 90] format: int32 terminalPeriodClosureLevel: type: integer description: The level on which the financial counter information for the transactions cut-off period are consulted, used by the merchant to align it with the used reconciliation period when the merchant has chosen to manual cut-off the booking period of the transactions. Values [0 = Terminal, 1 = Site] format: int32 terminalPeriodCutoffTime: type: string description: The fixed time (hours and minutes, without date and seconds) of the daily moment - defined by the merchant - when the cut-off of the financial counter information, used by the merchant to align it with the used reconciliation period when the merchant has chosen for automatically cut off the booking period of the transactions bankAccounts: type: array items: $ref: '#/components/schemas/TerminalBalancebankAccount' ContractCurrencyTransaction2Payment: type: object properties: transactionCurrency: type: string description: Transaction currency accepted by the merchant paymentCurrency: type: string description: Currency in which transactions of the linked transaction currency are paid to the merchant Dcc: type: object properties: dccProvider: type: string description: Unique identification of the DCC Provider dccPaymentCurrency: type: string description: Currency in which DCC transactions are paid to the merchant. Always part of a DCC currency combination, a combination of a DCC transaction currency and a DCC payment currency. A merchant can have only one those combinations dccSupportIndicator: type: boolean description: Indicates whether the merchant can accept dynamic currency conversion (DCC) transactions dccTransactionCurrency: type: string description: DCC base currency of the merchant. Always part of a DCC currency combination, a combination of a DCC transaction currency and a DCC payment currency. A merchant can have only one those combinations Operation: type: object properties: value: type: object properties: {} path: type: string description: 'A pointer to a specific value (field) that needs to be changed examples /basic/merchantCategoryCode, brands/0/brandParameters/allowedServices/refundService ' op: type: string description: 'The following operations are implemented - replace - change the value of a specific field - remove - remove the value of a specific field (only allowed for optional fields) ' from: type: string description: Not elevant for currently supported operations PostContractBasic: required: - merchantCategoryCode type: object properties: contractName: type: string description: Optional name for this specific contract example: Music Festivals highRiskMerchant: type: boolean description: Indicates whether the acquirer considers the merchant high risk example: false merchantPortalAccess: type: boolean description: Indicates whether the merchant has access to the equensWorldline merchant portal example: true statementFrequency: type: integer description: Frequency of statement generation. Values [1 = Weekly, 2 = Monthly] format: int32 example: 1 merchantCategoryCode: type: string description: The MCC is used to classify a business by the types of goods or services it provides, according to ISO 18245 for retail financial services example: '8931' PostContractCurrency: type: object properties: currencyData: $ref: '#/components/schemas/PostContractCurrencyData' balances: type: array items: $ref: '#/components/schemas/ContractCurrencyBalance' PostContractBrands: required: - brands type: object properties: brands: type: array items: $ref: '#/components/schemas/BrandLabel' ContractCurrencyBalance: type: object properties: balanceNumber: type: integer format: int32 description: Number of the balance. Values [1, 2, 3] bankAccounts: type: array items: $ref: '#/components/schemas/ContractCurrencyBankAccount' PostContractCurrenciesResponse: type: object properties: currencyCombinations: type: array items: $ref: '#/components/schemas/CurrencyCombination' correlationId: type: string format: uuid contractIdentification: $ref: '#/components/schemas/MerchantIdentificationResponse' status: $ref: '#/components/schemas/ContractStatusResponse' PostContractCurrencyData: type: object properties: transaction2PaymentCurrency: type: array items: $ref: '#/components/schemas/ContractCurrencyTransaction2Payment' PostContractBrandsResponse: type: object properties: brands: type: array items: $ref: '#/components/schemas/BrandLabel' correlationId: type: string description: Unique ID that was generated for the specific change format: uuid contractIdentification: $ref: '#/components/schemas/MerchantIdentificationResponse' status: $ref: '#/components/schemas/ContractStatusResponse' PostContractContractIdentification: required: - merchantId type: object properties: merchantId: type: string description: Unique identification of the merchant, determined by the acquirer example: '1001' contractId: type: string description: Unique identification of the contract, determined by the acquirer example: '10011' PostBankAccount: type: object properties: currency: type: string description: (Local) Payment Currency according to ISO 4217 (alphanumeric-3) example: EUR bankAccountType: type: integer description: Describes whether a bank account number is of the type IBAN or not (Other). In the latter case it can be for example an American or South-African bank account number. Values [1 = IBAN, 99 = Other] format: int32 example: 1 bic: type: string description: Bank Institution Code for merchant payment. A BIC needs to be registered for each payment currency of the merchant example: BITSNL2A iban: type: string description: International Bank Account Number for merchant payments. An IBAN needs to be registered for each payment currency of the merchant example: NL76BITS1234567890 threshold: type: integer description: Amount of the threshold. The acquirer can choose to hold an amount in reserve before paying the merchant. This is usually done for risk mitigation. The threshold is registered at balance 1. An amount can be registered for each payment currency of the merchant format: int32 example: 0 PostContractBalance: type: object properties: balanceNumber: type: integer description: Number of the balance. Values [1, 2, 3] format: int32 example: 1 merchantReconciliationReference: type: string description: Reference the merchant wants to be part of the description lines of the payment on his bank statement example: '10011' paymentLevel: type: integer description: Level of the merchant hierarchy at which the merchant is paid. Values [4 = Contract, 5 = Site, 6 = Terminal] format: int32 example: 4 paymentAggregation: type: integer description: Indicates whether the merchant is paid per brand, per scheme or totalized. Values [1 = Totalized payment, 2 = Payment per brand, 3 = Payment per scheme] format: int32 example: 1 paymentFrequency: type: integer description: Frequency in which the balance is settled with the merchant. Values [1 = Accounting period, 2 = Weekly, 3 = Monthly, 4 = Daily, 5 = Twice a month, 6 = Per external batch, 7 = Across batches, 8 = Merchant manual cut-off, 9 = Merchant automatic cut-off] format: int32 example: 4 terminalPeriodCutoffTime: type: string description: The fixed time (hours and minutes, without date and seconds) of the daily moment - defined by the merchant - when the cut-off of the financial counter information, used by the merchant to align it with the used reconciliation period when the merchant has chosen for automatically cut off the booking period of the transactions example: 00:00 terminalPeriodClosureLevel: type: integer description: The level on which the financial counter information for the transactions cut-off period are consulted, used by the merchant to align it with the used reconciliation period when the merchant has chosen to manual cut-off the booking period of the transactions. Values [0 = Terminal, 1 = Site] format: int32 example: 0 paymentDay: type: integer description: Specific day of the week or month the merchant is paid. Values in case of weekly [1 to 7], values in case of monthly [1 to 31] format: int32 example: 1 paymentDelay: type: integer description: Payment delay in days. Values [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 30, 60, 90] format: int32 example: 0 bankAccounts: type: array items: $ref: '#/components/schemas/PostBankAccount' ContractServiceProvider: type: object properties: independentSalesOrganizationId: type: string description: Unique identification of the Independent Sales Organization (ISO) paymentServiceProviderId: type: string description: Unique identification of the Payment Service Provider (eCommerce only) ContractAddressData: type: object properties: contractIdentification: $ref: '#/components/schemas/ContractContractIdentification' addresses: type: array items: $ref: '#/components/schemas/AddressDetails' RejectedProductTypes: type: object properties: eeaDebit: type: boolean description: Indicates whether transactions with the card product EEA Debit should be rejected by the terminal eeaCredit: type: boolean description: Indicates whether transactions with the card product EEA Credit should be rejected by the terminal eeaCommercial: type: boolean description: Indicates whether transactions with the card product EEA Commercial should be rejected by the terminal eeaPrepaid: type: boolean description: Indicates whether transactions with the card product EEA Pre-paid should be rejected by the terminal CurrencyData: type: object properties: transaction2PaymentCurrency: type: array items: $ref: '#/components/schemas/Transaction2PaymentCurrency' localPaymentCurrency: type: string description: Local payment currency according to ISO 4217 (alphanumeric-3) dcc: $ref: '#/components/schemas/Dcc' PostDcc: type: object properties: dccProvider: type: string description: Unique identification of the DCC Provider example: Fexco dccSupportIndicator: type: boolean description: Indicates whether the merchant can accept dynamic currency conversion (DCC) transactions example: true PostRefundLimits: type: object properties: maximumRefundAmount: type: string description: Maximum refund amount in Euro. Amount in the major units of the currency according to ISO 4217. example: '500.00' maximumDailyRefundAmount: type: string description: Maximum daily total refund amount per site in Euro. Amount in the major units of the currency according to ISO 4217. example: '100000.00' maximumDailyNumberOfRefunds: type: integer description: Maximum daily total number of refunds per site format: int32 example: 5000 PostContractBalances: required: - balances type: object properties: balances: type: array items: $ref: '#/components/schemas/PostContractBalance' Amount: type: object properties: currency: type: string description: Transaction currency according to ISO 4217 (alphanumeric-3) magstripeOfflineFloorLimit: type: string description: 'Floor limit for magnetic stripe based transactions. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' iccOfflineFloorLimit: type: string description: 'Floor limit for chip based EMV transactions. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' transactionLimitContactless: type: string description: 'Transaction limit for contactless transactions. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' offlineFloorLimitContactless: type: string description: 'Offline floor limit for contactless transactions. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' cardholderVerificationLimit: type: string description: 'Cardholder verification limit. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' receiptLimit: type: string description: 'The maximum amount allowed for which a receipt does not have to be printed. A receipt must be given for all transaction amounts above this. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' noCvmLimit: type: string description: 'The amount under which transactions (chip with contacts) without cardholder verification (No-CVM) are allowed. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' maximumCashBackAmount: type: string description: 'The maximum amount a merchant is allowed to pay as cash back. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' maximumDailyTransactionAmount: type: string description: 'The maximum total amount of online transactions for a site per day. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' maximumTransactionAmount: type: string description: 'The maximum amount of a single transaction. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' maxDailyVoiceAuthorizationAmount: type: string description: 'The maximum total amount of voice authorizations for a site per day. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' maxVoiceAuthorizationAmount: type: string description: 'The maximum amount of a single voice authorization. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' matMaximumTransactionAmount: type: string description: Restricts the amount of transactions in the backup mode. If the transaction amount is greater than the maximum backup transaction amount, then the backup transaction is not accepted offline. matTransactionLimitContactless: type: string description: Restricts the amount of the contactless transaction in backup mode matCardholderVerificationLimit: type: string description: Restricts the amount of the contactless transaction without “Offline On Device Cardholder Verification” in the backup mode PostCurrencyData: type: object properties: dcc: $ref: '#/components/schemas/PostDcc' Transaction2PaymentCurrency: type: object properties: transactionCurrency: type: string description: Transaction currency according to ISO 4217 (alphanumeric-3) paymentCurrency: type: string description: (Local) payment currency according to ISO 4217 (alphanumeric-3) Address: type: object properties: streetName: type: string description: Street name and house number of the address. In case of a Dutch address only Street name example: Stootblok houseNumber: type: integer description: House number. Only used for Dutch addresses format: int32 example: 14 houseAddition: type: string description: House number addition. Only used for Dutch addresses example: bis postalCode: type: string description: Postal code of the address example: 3071AP city: type: string description: City of the address example: Rotterdam region: type: string description: Region of the address. Only applicable for specific countries example: Zuid-Holland countryCode: type: string description: Country of the address according to ISO 3166-1 (numeric-3) example: '528' contactPersonName: type: string description: Name of the contact person registered with the address example: M. Scott telephoneNumber: type: string description: Telephone number of contact person registered with the address example: 0883855111 email: type: string description: E-mail address of the contact person registered with the address example: M.Scott@eventpaymentsolutions.com CurrencyCombination: type: object properties: transactionCurrency: type: string description: Transaction currency according to ISO 4217 (alphanumeric-3) paymentCurrency: type: string description: Currency in which transactions of the linked transaction currency are paid to the merchant AddressType: type: object properties: addressType: type: string description: Type of the address. Values [Business, Chargeback, Creditor, Debtor, Invoice, Location, Postal, Private] EditContractBalancesResponse: type: object properties: balances: type: array items: $ref: '#/components/schemas/BalanceNumber' correlationId: type: string description: Unique ID that was generated for the specific change format: uuid contractIdentification: $ref: '#/components/schemas/MerchantIdentificationResponse' status: $ref: '#/components/schemas/ContractStatusResponse' PostServiceProvider: type: object properties: independentSalesOrganizationId: type: string description: Unique identification of the Independent Sales Organization (ISO) example: '576352' TerminalBalancebankAccount: type: object properties: currency: type: string description: (Local) Payment Currency according to ISO 4217 (alphanumeric-3) bankAccountType: type: integer description: Describes whether a bank account number is of the type IBAN or not (Other). In the latter case it can be for example an American or South-African bank account number. Values [1 = IBAN, 99 = Other] format: int32 bic: type: string description: Bank Institution Code for merchant payment. A BIC needs to be registered for each payment currency of the merchant iban: type: string description: International Bank Account Number for merchant payments. An IBAN needs to be registered for each payment currency of the merchant threshold: type: integer description: Amount of the threshold. The acquirer can choose to hold an amount in reserve before paying the merchant. This is usually done for risk mitigation. The threshold is registered at balance 1. An amount can be registered for each payment currency of the merchant format: int32 ContractSubentitiesMissingResponse: type: object properties: brands: type: string description: For the contract to become complete at least 1 brand needs to be added balances: type: string description: For the contract to become complete all relevant balances need to be added addresses: type: string description: For the contract to become complete all relevant addresses need to be added PostFinancial: type: object properties: paymentTemplateName: type: string description: Unique name of the payment template. It dictates how many balances are used at the contract and which financial activities are posted on which balance. Values [Gross0, Gross1, Gross2, Gross3, Net1, Net2, Net3, Net4] example: Net1 EditContractAddressesResponse: type: object properties: addresses: type: array items: $ref: '#/components/schemas/AddressType' correlationId: type: string description: Unique ID that was generated for the specific change format: uuid contractIdentification: $ref: '#/components/schemas/MerchantIdentificationResponse' status: $ref: '#/components/schemas/ContractStatusResponse' TransactionFeePricePlan: type: object properties: currency: type: string description: (Local) payment currency according to ISO 4217 (alphanumeric-3) name: type: string description: Unique name of the Transaction Fee Price Plan type: type: integer description: Type of the transaction fee price plan. Values [1 = Standard pricing, 2 = Interchange plus, 3 = Interchange tiered pricing, 4 = Interchange plus plus, 5 = Default scheme fees for interchange plus plus, 6 = Stepped pricing] format: int32 ContractContractIdentification: type: object properties: acquirerId: type: string description: Unique identification of the acquirer, determined by equensWorldline merchantId: type: string description: Unique identification of the merchant, determined by the acquirer contractId: type: string description: Unique identification of the contract, determined by the acquirer example: '10011' PostContractAddresses: required: - addresses type: object properties: addresses: type: array items: $ref: '#/components/schemas/AddressDetails' CardEntryModes: type: object properties: manualEntry: type: boolean description: Indicates whether manual entry (keying) is allowed magstripe: type: boolean description: Indicates whether the use of magnetic stripe is allowed iccEmv: type: boolean description: Indicates whether the use of EMV chip is allowed contactlessMagstripe: type: boolean description: Indicates whether the use of magnetic stripe for contactless transactions is allowed contactlessIccEmv: type: boolean description: Indicates whether the use of EMV chip for contactless transactions is allowed RefundLimits: type: object properties: maximumRefundAmount: type: string description: 'Maximum refund amount in Euro. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' maximumDailyRefundAmount: type: string description: 'Maximum daily total refund amount per site in Euro. Amount in the major units of the currency according to ISO 4217. In case of euro, "3.10" (is 3.10 euro) ' format: unlimited size decimal example: '3.00' maximumDailyNumberOfRefunds: type: integer description: Maximum daily total number of refunds per site format: int32 AllowedServices: type: object properties: purchaseService: type: boolean description: Indicates whether purchase is allowed cashAdvanceService: type: boolean description: Indicates whether cash advance is allowed reservationService: type: boolean description: Indicates whether reservation is allowed purchaseAfterReservationService: type: boolean description: Indicates whether purchase after reservation is allowed cardValidityCheckService: type: boolean description: Indicates whether card validity check is allowed refundService: type: boolean description: Indicates whether refund is allowed deferredSaleService: type: boolean description: Indicates whether deferred sale is allowed cancellationService: type: boolean description: Indicates whether cancellation of a purchase is allowed saleWithCashback: type: boolean description: Indicates whether the sale with cashback is allowed saleWithIncreasedAmount: type: boolean description: Indicates whether sale with increased amount is allowed quasiCashSale: type: boolean description: Indicates whether quasi cash is allowed cancellationOfSaleAfterReservation: type: boolean description: Indicates whether cancellation of a sale after reservation is allowed cancellationOfCashAdvance: type: boolean description: Indicates whether cancellattion of cash advance is allowed recurringSale: type: boolean description: Indicates whether recurring sale is allowed cancellationOfReservation: type: boolean description: Indicates whether cancellation of a reservation is allowed saleWithDcc: type: boolean description: Indicates whether sale with DCC is allowed saleAfterReservationWithDcc: type: boolean description: Indicates whether sales after reservation with DCC is allowed cashAdvanceWithDcc: type: boolean description: Indicates whether cash advance with DCC is allowed refundWithDcc: type: boolean description: Indicates whether refund with DCC is allowed reservationDcc: type: boolean description: Indicates whether reservation with DCC is allowed ExternalIds: type: object properties: vatNumber: type: string description: VAT number of the merchant example: NL123456789B01 chamberOfCommerce: type: string description: Chamber of commerce number of the merchant example: '12345678' socialSecurityNumber: type: string description: Social security number of the merchant (only allowed in specific countries) example: '123456789' branchOrganisationId: type: string description: Identification of the merchant by his branch organization example: '1234' CorrelationResponse: type: object properties: correlationId: type: string description: Unique ID that was generated for the specific change format: uuid BrandData: type: object properties: label: type: string description: Unique identification of the brand (payment product). Maestro = MAES, American Express = AMEX, Visa = VISA, etc. brand: type: string description: Name of the brand brandParameters: $ref: '#/components/schemas/BrandParameters' ManualEntryProcessingOptions: type: object properties: refuseTransaction: type: boolean description: Indicates whether the transaction should be refused performOnlineTransaction: type: boolean description: Indicates whether the transaction should be performed online pinRequired: type: boolean description: Indicates whether PIN entry is required signatureRequired: type: boolean description: Indicates whether signature is required cvc2OrCvv2Required: type: boolean description: Indicates whether CVC2 (MasterCard) or CVV2 (Visa) is required luhnDigitCheckRequired: type: boolean description: Indicates whether Luhn check digit check is required BrandLabel: type: object properties: label: type: string description: Unique identification of the brand (payment product). Maestro = MAES, American Express = AMEX, Visa = VISA, etc. example: MAST ContractCurrencyBankAccount: type: object properties: currency: type: string description: Payment currency according to ISO 4217 (alphanumeric-3) bankAccountType: type: integer format: int32 description: Describes whether a bank account number is of the type IBAN or not (Other). In the latter case it can be for example an American or South-African bank account number. Values [1 = IBAN, 99 = Other] bic: type: string description: Bank Institution Code for merchant payment. A BIC needs to be registered for each payment currency of the merchant example: BITSNL2A iban: type: string description: International Bank Account Number for merchant payments. An IBAN needs to be registered for each payment currency of the merchant example: NL76BITS1234567890 Status: type: object properties: status: type: string description: The status of this entity. Values [Active, Blocked (Trx & Pmts), Blocked (Trx), Blocked (Pmts), Terminated] statusReasonId: type: integer description: Reason for blocking or terminating the contract, the site or the terminal. Values [1 = Bankrupt, 2 = Clean Up, 3 = Closed, 4 = Finance request, 5 = Suspected fraud, 6 = Legal request, 7 = To other acquirer, 8 = Incorrect bank Account, 9 = Negative balance, 10 = PCI non-compliance] format: int32 commencementDate: type: string description: Date at which contract, site or terminal was registered terminationDate: type: string description: Date at which the contract, site or terminal was terminated transactionBlockDate: type: string description: Date at which the transactions for the contract or site were blocked paymentBlockDate: type: string description: Date at which the payments for the contract or site were blocked definitions: CreateConsumerContractResponseAccount: type: object required: - accountIdentifier - root - status - accountOwnerIdentifier - accountGuarantorIdentifier properties: accountIdentifier: description: Identification of the account either by the Issuer account external reference or by the account reference. allOf: - $ref: '#/definitions/AccountIdentifier' root: type: boolean description: Refer to Account.root status: type: string description: 'Current status of the account. Refer to Account.status' accountOwnerIdentifier: description: Identification of the account owner either by Issuer customer external reference or by customer reference. allOf: - $ref: '#/definitions/CustomerIdentifier' accountGuarantorIdentifier: description: Identification of the account guarantor either by Issuer customer external reference or by customer reference. allOf: - $ref: '#/definitions/CustomerIdentifier' title: CreateConsumerContractResponse.Account 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 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. This 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. This reference is unique per issuer and may be used to carry out research and find information.' title: CardIdentifier BrandAdviceConfigProfile: type: object properties: name: type: string description: Name of the profile currentCardTemplateReference: type: string description: Reference of the card template of the existing card when calling the Brand Advice algorithm deviceTokensOperator: type: string description: Operator used by the algorithm to compare the device tokens counter to the threshold for this profile merchantTokensOperator: type: string description: Operator used by the algorithm to compare the merchant tokens counter to the threshold for this profile percentages: type: array description: Refer to BrandAdviceConfig.Percentage items: $ref: '#/definitions/BrandAdviceConfigPercentage' ModifyContractCustomersAddressesResponse: type: object required: - contractIdentifier - customers properties: contractIdentifier: $ref: '#/definitions/ContractIdentifier' customers: type: array items: $ref: '#/definitions/ModifyContractCustomersAddressesResponseCustomer' title: ModifyContractCustomersAddressesResponse CloseContractRequest: type: object required: - closureDelayType - closingReason properties: closingDate: type: string format: date-time description: The closing date has to be provided when the closure delay type is SCHEDULED. In this case, the closing date must be greater than the current date. closingReason: type: string description: Reason for closing the contract (free text) closingComment: type: string description: Comment associated with the contract closing action (free text) closureDelayType: type: string description: 'Closure Delay Type. Possibles values : - IMMEDIATE (at current date) - SCHEDULED (at current date or at future date) - SCHEDULED_EXP_DATE (at expiry date of the principal card)' feeReimbursementAtCardContractClosing: type: boolean description: Indicates if the related membership/account setup fees must be partially reimbursed in case of contract closure title: CloseContractRequest BrandAdviceConfigResponse: type: object properties: brandAdviceConfiguration: description: Brand Advice configuration allOf: - $ref: '#/definitions/BrandAdviceConfig' title: BrandAdviceConfigResponse ApiResponseEntityRefundFeeOnDemandResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/RefundFeeOnDemandResponse' description: Refund Fee On Demand response entity title: ApiResponseEntityRefundFeeOnDemandResponse CreateConsumerContractRequestCardContract: type: object description: 'Data related to each card contract and card have to be provided. If 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. Refer 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. Otherwise 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. If 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. If the cardholder does not exist in our system then cardholderRequestCorrelationId has to be filled.' allOf: - $ref: '#/definitions/CustomerIdentifier' principalSupplementaryCardIndicator: type: string description: 'The issuer can indicate if it is the principal card or a supplementary one. Possible values: PRINCIPAL, SUPPLEMENTARY By 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). The 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: '#/definitions/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: '#/definitions/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: '#/definitions/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: '#/definitions/AuthorizationDataValidation' cardContractSourceInheritance: description: Card contract data to be inherited during card replacement with brand switch. allOf: - $ref: '#/definitions/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). During 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 ApiResponseEntityModifyContractResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Returns the identifier of the updated contract allOf: - $ref: '#/definitions/ModifyContractResponse' description: Issuer response entity title: ApiResponseEntityModifyContractResponse Customer: type: object required: - onlineRiskCategory - offlineRiskCategory properties: issuerId: type: string description: Issuer identifier (unique per platform) customerIdentifier: description: Unique identifier. Refer to Customer Identifier data type for detail information allOf: - $ref: '#/definitions/CustomerIdentifier' active: type: boolean description: DEPRECATED birthDate: type: string format: date-time description: Birth date of Person Customer (conditional depending on the card profile configuration). If present, the value can be subject to a validation process if a specific rule has been configured at issuer level. birthPlace: type: string description: 'Birth Place of Person Customer (optional). Free text' commercialStatus: type: string description: Defines the commercial status of a Person Customer among a list of possible values configured per issuer. One of the possible values can be set as default value (eg. Normal, Address Only, Bankruptcy, Active Customer). (mandatory) courtesyTitle: type: string description: Courtesy Title of Person Customer (optional). Free text. If present, the value can be subject to a validation process if a specific rule has been configured at issuer level. customerClass: type: string description: for future use (optional) doNotContact: type: boolean description: if the Person Customer does not want to be contacted by the issuer set to 'true' otherwise to be set to 'false'. If not provided, value is NULL(optional) employee: type: boolean description: Flag indicating if the Person Customer is an employee of the issuer. If not provided, value is NULL(optional) employerAddress: type: string description: 'Employer''s Address of Person Customer (optional). Free text' employerName: type: string description: 'Employer''s Name of Person Customer. (optional). Free text' firstName: type: string description: First Name of Person Customer (mandatory) lastName: type: string description: Last Name of Person Customer (mandatory) maidenName: type: string description: Maiden Name of Person Customer (optional) correspondenceName: type: string description: Correspondence Name of Person Customer (optional). maritalStatus: type: string description: Marital Status of Person Customer. Free text (optional) monthlySalary: type: string description: Average monthly salary of Person Customer (optional) nationality: type: string description: Nationality of Person Customer(optional). Free text. offlineRiskCategory: type: string description: 'Categorizes the person for offline risk management. List of possible values is defined per Issuer (eg.Business, Student, Teenager, Standard). ' onlineRiskCategory: type: string description: 'Categorizes the person for online risk management. List of possible values is defined per Issuer (eg.Business, Student, Teenager, Standard) (mandatory) ' partnerExternalReference: type: string description: External Reference provided by the issuer (optional) picture: type: string description: 'Picture reference of the Person Customer (eg url, filename). Free text. (optional)' preferredCorrespondanceLanguage: type: string description: Deprecated preferredCorrespondenceLanguage: type: string description: Preferred correspondence language of the Person Customer (optional). Free text but ISO639-1 code is recommended (e.g. ‘nl’,’fr’,’de’,’en’). If present, the value can be subject to a validation process if a specific rule has been configured at issuer level. profession: type: string description: 'Profession of Person Customer. Free text. (optional)' secondFirstName: type: string description: Second First Name of Person Customer (optional) secretAnswer: type: string description: Answer to Secret Question for security (optional) secretQuestion: type: string description: Secret Question for security (optional) sex: type: string description: Gender of Person Customer (optional). Free text. If present, the value can be subject to a validation process if a specific rule has been configured at issuer level. specificFields: type: object description: 'List of external data {"label":"value"} separated by a "," related to a customer 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 url1: type: string description: First URL of the Person Customer (optional) url2: type: string description: Second URL of the Person Customer (optional) vatCountry: type: string description: 'Tax country. Useful if Person is indeed a company. (optional)' vatNumber: type: string description: 'Tax number. Useful if Person is indeed a company. (optional)' addressIdentifiers: type: array description: 'List of active address references whatever their type (MAIL, EMAIL, PHONE). The address can be a temporary address if it is active at the time of the request. At least, the main postal address reference should be retrieved (mandatory) _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/AddressIdentifier' addresses: type: array description: 'List of active addresses whatever their type (MAIL, EMAIL, PHONE). See the Address''s datatype for the detail list of the attributes _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/Address' vulnerabilities: description: List of vulnerabilities applicable to the customer. type: array items: $ref: '#/definitions/Vulnerability' vulnerabilityIndicator: type: boolean description: indicates if the client is vulnerable vulnerabilityNote: type: string description: note about the client's vulnerability (free text) contactIdentifiers: type: array description: 'List of contact references of the customer. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/ContactIdentifier' contacts: type: array description: 'List of contacts of the customer. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/Contact' lastUpdateDate: type: string format: date-time description: Indicates the date when the update is processed title: Customer 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 CreateAddOnSubscriptionRequestAddOnParameter: type: object required: - reference - type properties: reference: type: string description: Refer to AddOnServiceParameter.reference value: type: string description: Refer to AddOnServiceParameter.value title: CreateAddOnSubscriptionRequest.AddOnParameter ReplaceCustomerInConsumerContractResponseAccount: type: object properties: accountIdentifier: description: Refer to Account.accountIdentifier allOf: - $ref: '#/definitions/AccountIdentifier' root: type: boolean description: Refer to Account.root accountOwnerIdentifier: description: Refer to Account.accountOwnerIdentifier allOf: - $ref: '#/definitions/CustomerIdentifier' accountGuarantorIdentifier: description: Refer to Account.accountGuarantorIdentifier allOf: - $ref: '#/definitions/CustomerIdentifier' title: ReplaceCustomerInConsumerContractResponse.Account AccountStatusHistory: type: object properties: status: type: string description: Status of the account on the particular statusDate (optional) statusDate: type: string format: date-time description: Date of the account status change (optional) reason: type: string description: Reason the status has been set (optional) title: AccountStatusHistory SwitchPrincipalCardRequest: type: object required: - cardHolderIdentifier properties: cardHolderIdentifier: description: identification of the card holder in the contract that will become the contract owner and therefore hold the principal card allOf: - $ref: '#/definitions/CustomerIdentifier' cardContractIdentifier: description: in case the card holder hold more than one card, identification of the card contract that will become the principal one allOf: - $ref: '#/definitions/CardContractIdentifier' title: SwitchPrincipalCardRequest ApiResponseEntitySignContractResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/SignContractResponse' description: Issuer response entity title: ApiResponseEntitySignContractResponse InsurancePackageIdentifier: type: object description: Unique identifier of the insurance contract package properties: insurancePackageReference: type: string description: Reference of the insurance package title: InsurancePackageIdentifier ApiResponseEntityCustomer: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/Customer' description: Issuer response entity title: ApiResponseEntityCustomer CancelContractClosingResponse: type: object properties: contractIdentifier: description: Identification of the contract either by Issuer contract external reference or by contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' title: CancelContractClosingResponse ApiResponseEntityCreateAddOnSubscriptionResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/CreateAddOnSubscriptionResponse' description: Issuer response entity title: ApiResponseEntityCreateAddOnSubscriptionResponse ModifyBrandAdviceConfigProfile: type: object properties: name: type: string description: Name of the profile to modify percentages: type: array description: Refer to BrandAdviceConfig.Percentage items: $ref: '#/definitions/BrandAdviceConfigPercentage' CycleInformation: type: object description: Dates related to the closure calendar for the open closure cycle properties: cycleStartDate: type: string format: date-time description: Date when the cycle is opened cycleClosureDate: type: string format: date-time description: Date when the open cycle is closed statementGenerationDate: type: string format: date-time description: Date when the statement is produced for the cycle directDebitIssuingDate: type: string format: date-time description: Direct debit issuing date of the cycle directDebitDueDate: type: string format: date-time description: Direct debit due date of the cycle gracePeriodEndDate: type: string format: date-time description: Grace period end date of the cycle dueDateForSelfPayer: type: string format: date-time description: Due date for self payer of the cycle cycleDueDate: type: string format: date-time description: Due date of the cycle, used for monitoring process (delinquency) statementEffectiveStartDate: type: string format: date description: "Effective start date of the statement period.\n\t\t\t\t\tExample :\n\t\tCycle closure is on 28th of each month at 20.00 PM\n\t\tIf closure on 28/08,\n\t\t- For August Statement: statementEffectiveStartDate = 29/07/2025 and statementEffectiveEndDate = 28/08/2025]\n\t\t- For September Statement : statementEffectiveStartDate = 29/08/2025 and statementEffectiveEndDate = 28/09/2025" statementEffectiveEndDate: type: string format: date description: "Effective end date of the statement period.\n\t\t\t\t\tExample :\n\t\tCycle closure is on 28th of each month at 20.00 PM\n\t\tIf closure on 28/08,\n\t\t- For August Statement: statementEffectiveStartDate = 29/07/2025 and statementEffectiveEndDate = 28/08/2025]\n\t\t- For September Statement : statementEffectiveStartDate = 29/08/2025 and statementEffectiveEndDate = 28/09/2025" title: CycleInformation ContractModel: type: object properties: reference: type: string description: Model Reference type: type: string description: 'Type of model Possible values: - ACCOUNT_SETUP_FEE - MEMBERSHIP_FEE' description: Model containing predefined configuration for fee generation applicable on a contract title: ContractModel EncryptedPan: type: object properties: encryptedValue: type: string publicKeyIdentifier: type: string title: EncryptedPan BrandAdviceConfig: type: object properties: deviceTokensThreshold: type: integer description: Threshold on the device tokens number merchantTokensThreshold: type: integer description: Threshold on the merchant tokens number profiles: type: array description: Refer to BrandAdviceConfig.Profile items: $ref: '#/definitions/BrandAdviceConfigProfile' 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 CreateConsumerContractRequestAccountHierarchy: type: object description: The issuer must provide at least data related to the root account and other accounts if any when creating the contract. 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. Possible values are: - FAMILY : the contract can have 1 or several cards - REGULAR : the contract can have a single card only' specificFields: type: object description: 'The issuer can provide Specific Fields for the new account hierarchy. It is a list of external data {"label":"value"} separated by a "," related to the account hierarchy (pass-thru data) 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 accounts: type: array description: Data related to each account have to be provided. items: $ref: '#/definitions/CreateConsumerContractRequestAccount' hierarchySelectedModels: type: array description: 'The issuer can provide a specific account model instead of the default one of the account hierarchy. E.g. OCT on demand is enabled in the default reimbursement model and is disabled in the new model.' items: $ref: '#/definitions/AccountHierarchyModel' reimbursementModelReference: type: string description: DEPRECATED hierarchyOutgoingCreditTransferFeature: description: 'The issuer can enable or not each different Outgoing Credit Transfer (OCT) options if this latter is enabled and if can be overriden within the reimbursement model. E.g. the periodicOCT is allowed in the reimbursement model, default choice, and it is not possible to override this choice. When creating the account hierarchy it is not possible to change this configuration and to not allow this option.' allOf: - $ref: '#/definitions/HierarchyOutgoingCreditTransferFeature' title: CreateConsumerContractRequest.AccountHierarchy SignContractResponseCard: type: object required: - cardIdentifier - panReference - maskedPan - expiryDate - panSequenceNumber - status properties: cardIdentifier: description: Identification of the card either by Issuer card external reference or by card reference allOf: - $ref: '#/definitions/CardIdentifier' maskedPan: type: string description: Refer to Card.maskedPan expiryDate: type: string description: Refer to Card.expiryDate panSequenceNumber: type: string description: Refer to Card.panSequenceNumber status: type: string description: Card status after the contract signing request (CREATED or ACTIVE) panReference: type: string description: Refer to Card.panReference title: SignContractResponse.Card ContactIdentifier: type: object properties: contactReference: type: string description: Contact identifier (unique per company) title: ContactIdentifier ExternalAuthorizationsRestrictionIdentifier: type: object properties: authorizationRestrictionReference: type: string title: ExternalAuthorizationsRestrictionIdentifier BrandAdviceConfigPercentage: type: object properties: value: type: integer description: Value in % of this percentage entity (e.g. 60 means 60%) productExtensionReference: type: string description: Reference of the product extension advised by this percentage to be used for the card creation DataAnalysisFlags: type: object properties: person: type: boolean description: Flag indicating person data related to the contract can be used for person data analysis (true) or not (false). Default value is false. default: false paymentTransaction: type: boolean description: Flag indicating if payment transactions related to the contract can be used for payment transactions data analysis (true) or not (false). Default value is false. default: false exchangeThirdParties: type: boolean description: Flag indicating if contract data can be exchanged between third parties (true) or not (false). Default value is false. default: false description: Specify which data analysis flags are enabled (person, paymentTransaction, exchangeThirdParties, etc.) title: DataAnalysisFlags CreateConsumerContractRequestContract: type: object description: The issuer must provide data related to the contract. required: - accountHierarchy - issuerProductExternalReference properties: issuerProductExternalReference: type: string description: The issuer must provide the external reference of the product which the contract will be based on. issuerContractExternalReference: type: string description: 'The issuer can provide an external reference (e.g. used as contract identifier in Issuer''s system). This latter can be used by the issuer to identify, retrieve the contract later, etc If not provided by the issuer, it is filled by default with the contract reference generated by our system.' issuerBranchCode: type: string description: The issuer can provide the code of the branch which owns the contract.If not provided, the default configured branch code is used. status: type: string description: 'The issuer can request to create the consumer contract - either in AWAITING_SIGNATURE status: e.g. the contract is completed, but not yet signed by the customer - either in SIGNED status: e.g. the contract is completed and was signed by the customer By default the contract is created in SIGNED status if no value is provided.' enum: - AWAITING_SIGNATURE - SIGNED cardReleaseOrder: type: string description: 'The issuer must provide this field if the contract has at least one card with a plastic and if no default value is configured at product level (else an error will be generated). Not to be provided if the contract has virtual card only (ignored if provided and not needed). Possible values are: - IMMEDIATE: As soon as the contract is in awaiting signature, the card order is released by our system (send to embosser). - AUTOMATIC: As soon as the contract is signed, the card order is released by our system (send to embosser).' specificFields: type: object description: 'The issuer can provide Specific Fields for the new consumer contract. It is a list of external data {"label":"value"} separated by a "," related to the contract (pass-thru data) 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 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: '#/definitions/CreateConsumerContractRequestContractFee' waiveFee: type: boolean description: 'The issuer can indicate if contract related fees, membership fee and account setup fee, are waived (true) or not (false, by default). This choice is valid for all the cards under the contract at subscription time and later. This choice can be modified later.' numberOfFreeCardsMembershipFee: type: integer format: int32 description: 'The issuer can define the number of cards for which membership fee is not generated (free cards). If not provided, the default value will be used if defined at product level.' numberOfFreeCardsAccountSetupFee: type: integer format: int32 description: 'The issuer can define the number of cards for which account setup fee is not generated (free cards). If not provided, the default value will be used if defined at product level.' numberOfFreeCardsPrimaryCardImpacted: type: boolean default: false description: "The issuer can indicate if the primary card is always the first card to be considered as free and then the additional cards if any will be considered (true) or if only additional cards can be free (false). By default, the value is False.\n\nE.g. Number of cards for which membership fee is not generated = 2\nIf the flag is True, the Primary card and only 1 additional card have no membership fee.\nIf the flag is False, membership fee is generated for the primary card and only 2 additional cards have no membership fee. \n" feeReimbursementAtCardContractClosing: type: boolean description: 'The issuer can indicate if membership fee and account setup fee have to be reimbursed in case of card contract closing. It is a reimbursement, calculated pro-rata to the latest fee posting date and the closing date of the card contract. If it is not provided, then the default one from membership fee (or account setup) is used. Regarding the account setup fee models, it is used only if it is posted less than a year ago.' deliveryChannel: description: 'The issuer can specify the channel for letter delivery used for this contract. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/DeliveryChannel' advertisementFlags: description: 'The issuer can specify which advertisement flags are enabled (Email, Letter, Phone, etc.). _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/AdvertisementFlags' dataAnalysisFlags: description: 'The issuer can specify which data analysis flags are enabled (person, paymentTransaction, exchangeThirdParties, etc.). _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/DataAnalysisFlags' coBrander: type: string description: "The issuer can specify the coBrander (free text) associated to the consumer contract in case the product is shared by several Cobranders. \nThe issuer provides the information at its convenience, Cobranders being managed by the issuer directly.\nThe information stored at contract level and then populated at each account of the account hierarchy." legitimacyDocuments: description: The issuer can provide the list of legitimacy documents for each cardholder of the contract. type: array items: $ref: '#/definitions/CreateConsumerContractRequestLegitimacyDocument' contractOwnerRequestCorrelationId: type: string description: If the contract owner does not exist in our system as customer, the issuer must provide the correlation id of the new customer related to it (defined in the data block CreateConsumerContractRequest.Customer). contractOwnerIdentifier: description: 'If the contract owner already exists in our system as customer, the issuer must provide either the customerReference or the issuerCustomerExternalReference related to it. If the contract owner does not exist in our system then the contractOwnerRequestCorrelationId has to be filled.' allOf: - $ref: '#/definitions/CustomerIdentifier' accountHierarchy: $ref: '#/definitions/CreateConsumerContractRequestAccountHierarchy' cardContracts: type: array items: $ref: '#/definitions/CreateConsumerContractRequestCardContract' partnerContractExternalReference: type: string description: The issuer can provide another external reference for the contract, known as partner contract external reference. If fed, no checking is done on its unicity, it is a free reference title: CreateConsumerContractRequest.Contract ReplaceCustomerInConsumerContractResponse: type: object properties: contract: $ref: '#/definitions/ReplaceCustomerInConsumerContractResponseContract' title: ReplaceCustomerInConsumerContractResponse SuspendContractResponse: type: object properties: contract: $ref: '#/definitions/SuspendContractResponseContract' title: SuspendContractResponse CancelContractSuspensionResponse: type: object properties: contractIdentifier: description: Identification of the contract either by Issuer contract external reference or by contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' title: CancelContractSuspensionResponse CreateConsumerContractRequestAddressUsage: type: object required: - addressUsageName - serviceCode properties: addressUsageName: type: string example: STATEMENT_SENDING 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 example: ACCOUNT_SERVICE 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. Possible values: - CARD_CONTRACT - ACCOUNT' enum: - ACCOUNT - CARD_CONTRACT title: CreateConsumerContractRequest.AddressUsage 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. Possible values are : CardOrder, PinMailerOrder, TanMailerOrder' orderIdentifier: description: 'Unique identifier of the order (mandatory) Refer to OrderIdentifier data type for detail information' allOf: - $ref: '#/definitions/OrderIdentifier' currentExternalStatus: type: string description: 'Current external status of the order (optional) The list of external statuses is configurable per issuer. The 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) Possible 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) Example: Normal, Urgent, Ultra Urgent' deliveryChannel: type: string description: 'Code of the delivery channel for the card The 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) Possible 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) Possible 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 Refer to OrderStatusHistory data type for detail information. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/OrderStatusHistory' cardProducer: type: string description: 'It is the card producer or embosser. It is present if it is different than the default one (defined in the card profile) and was provided when requesting the card creation. The list of allowed card producer is configurable per issuer.' pinMailerEditor: type: string description: 'It is the PIN mailer printer. It is present if it is different than the default one (defined in the card profile) and was provided when requesting the card/PIN creation. The 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) The list of issuer branches is configurable per Issuer. The 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 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.' allOf: - $ref: '#/definitions/MailAddress' customDeliveryPhone: description: 'Custom phone to send the card. NOT USED' allOf: - $ref: '#/definitions/PhoneNumber' customDeliveryEmail: description: 'Custom email to send the card. NOT USED' allOf: - $ref: '#/definitions/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. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/Card' cardIdentifier: description: Unique identifier of the card allOf: - $ref: '#/definitions/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) Possible 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: '#/definitions/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. - 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. - 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 ChangedContract: type: object description: Only if a product change is triggered by card replacement. Represents the new contract data after product change has occured properties: contractIdentifier: description: Identification of the contract either by the Issuer contract external reference or the Contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' status: type: string description: 'Current status of the contract. Refer to Contract.status' creationDate: type: string format: date-time description: Date of creation of the contract signatureDate: type: string format: date-time description: Date of signature of the contract contractOwnerIdentifier: description: contract owner identifier allOf: - $ref: '#/definitions/CustomerIdentifier' productIdentifier: description: Identification of the product change identified either by the Issuer Product External Reference or the Product Reference. allOf: - $ref: '#/definitions/ProductIdentifier' accounts: type: array items: $ref: '#/definitions/ChangedAccount' cardContracts: type: array items: $ref: '#/definitions/ChangedCardContract' originalContractIdentifier: description: Identification of the original contract either by the Issuer contract external reference or the Contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' title: ChangeProductResponse.ChangedContract SignContractRequest: type: object properties: activateAllCards: type: boolean default: false description: 'Indicates if cards under the contract should be activated when the contract is signed (true). By default, the value is false.' title: SignContractRequest ForbiddenErrorApiResponse: type: object required: - responseMetadata properties: responseMetadata: allOf: - $ref: '#/definitions/ForbiddenResponseMetadata' title: ForbiddenErrorApiResponse ApiResponseEntityModifyContractCustomersAddressesResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/ModifyContractCustomersAddressesResponse' description: Issuer response entity title: ApiResponseEntityModifyContractCustomersAddressesResponse ApiResponseEntitySwitchPrincipalCardResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/SwitchPrincipalCardResponse' description: Issuer response entity title: ApiResponseEntitySwitchPrincipalCardResponse ApiResponseEntityBrandAdvice: type: object required: - responseMetadata properties: data: $ref: '#/definitions/BrandAdviceResponse' responseMetadata: $ref: '#/definitions/ResponseMetadata' title: ApiResponseEntityBrandAdvice description: Brand advice response CardContractSourceInheritance: type: object properties: sourceCardContractIdentifier: description: Card Contract identifier of the previous card contract allOf: - $ref: '#/definitions/CardContractIdentifier' sourceCardIdentifier: description: 'Card identifier of the previous card ' allOf: - $ref: '#/definitions/CardIdentifier' replacementReason: type: string description: 'replacement reason for brand change ' forceNewPin: type: boolean description: indicate if forced new pin is required SuspendContractResponseContract: type: object properties: contractIdentifier: description: Identification of the contract either by Issuer contract external reference or by contract reference allOf: - $ref: '#/definitions/ContractIdentifier' status: type: string description: Contract status after the contract suspension request (not changed, the contract is still active during the contract suspension period) accounts: type: array items: $ref: '#/definitions/SuspendContractResponseAccount' cardContracts: type: array items: $ref: '#/definitions/SuspendContractResponseCardContract' closingDate: type: string description: Refer to Contract.closingDate format: date-time title: SuspendContractResponse.Contract RemoveAddOnSubscriptionResponse: type: object required: - addonReference - unsubscriptionDate properties: addonReference: type: string description: Reference of the type of add-on service. unsubscriptionDate: type: string description: Refer to AddOnServiceParameter.unsubscriptionDate format: date-time accountIdentifier: description: The accountIdentifier of the Account on which the subscription has been done allOf: - $ref: '#/definitions/AccountIdentifier' cardContractIdentifier: description: The cardContractIdentifier of the Card Contract on which the subscription has been done allOf: - $ref: '#/definitions/CardContractIdentifier' title: RemoveAddOnSubscriptionResponse ApiResponseEntityCancelProductChangeResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/CancelProductChangeResponse' description: Issuer response entity title: ApiResponseEntityCancelProductChangeResponse AdviceProductExtensionRequest: type: object required: - issuerProductExternalReference properties: issuerProductExternalReference: type: string description: The issuer must provide the external reference of the product for which the advice is requested. title: AdviceProductExtensionRequest CreateAddOnSubscriptionResponse: type: object required: - addonReference - serviceTypeReference properties: addonReference: type: string description: Name of the add-on subscriptionDate: type: string description: Date of the add-on subscription. format: date-time accountIdentifier: description: The accountIdentifier of the Account on which the subscription has been done allOf: - $ref: '#/definitions/AccountIdentifier' cardContractIdentifier: description: The cardContractIdentifier of the Card Contract on which the subscription has been done allOf: - $ref: '#/definitions/CardContractIdentifier' title: CreateAddOnSubscriptionResponse 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: '#/definitions/CardIdentifier' encryptedPan: description: This field returns the encrypted PAN and the public key identifier if the encryption is activated on the platform. allOf: - $ref: '#/definitions/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) Format 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 Possible values are: - IN_PROGRESS (it implies the card has not registered in all the WL systems) - CREATED (it implies the card is registered in all the WL systems and ready for use) - ERROR (the synchronization process between WL systems is failed)' statusHistory: type: array description: 'List of card status history Refer to resource CardStatusHistory for detail information _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/CardStatusHistory' embossingName: type: string description: 'First line of the name embossed on the physical card (mandatory) It 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. It 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) It 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) The 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) The 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: '#/definitions/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: '#/definitions/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. Relevant information for the renewed card. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/CardIdentifier' replacementBy: description: 'Card identifier of the new card created during the replacement process. Relevant information for the replaced card. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/CardIdentifier' renewedFor: description: 'Card identifier of the renewed card. Relevant information for the new card created during the renewal process. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/CardIdentifier' replacementFor: description: 'Card identifier of the replaced card. Relevant information for the new card created during the replacement process. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/CardIdentifier' cardContractIdentifier: description: Card Contract Identifier allOf: - $ref: '#/definitions/CardContractIdentifier' cardContract: description: 'Card Contract _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/CardContract' orderIdentifiers: type: array description: 'Order Identifiers _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/OrderIdentifier' orders: type: array description: 'List of orders linked to the Card _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/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: '#/definitions/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). Relevant 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 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 For example: PinOrderIssuing - PIN_REQUEST (optional)' criteria: type: string description: 'Criteria of the fee condition For example: (counter[''ALL''] - counter[''IVR''] ) > 1 => If the condition is successfull, one Fee is allocated (optional)' title: FeeCondition ModifyContractFeeRequest: type: object x-wl-patch-request: true properties: selectedModels: type: array description: Fee Model used for the contract (Account setup fee and/or Membership fee models). items: $ref: '#/definitions/ContractModel' postingAccountForMembershipFee: description: 'For a consumer contract, indicates if the membership fees have to be posted to card accounts or to the root account as default value for the contract. Possible values are : ROOT_ACCOUNT, CARD_ACCOUNT.For a corporate contract, indicates if the membership fees have to be posted to employee card accounts, interemdiate entity account or to the root (usually paid by the company) as default value for the contract. Possible values are : ROOT_ACCOUNT, CARD_ACCOUNT, ENTITY_ACCOUNT.' type: string postingAccountForAccountSetupFee: description: 'For a consumer contract, indicates if the account setup fees have to be posted to card accounts or to the root account as default value for the contract. Possible values are : ROOT_ACCOUNT, CARD_ACCOUNT.For a corporate contract, indicates if the account setup fees have to be posted to employee card accounts, interemdiate entity account or to the root (usually paid by the company) as default value for the contract. Possible values are : ROOT_ACCOUNT, CARD_ACCOUNT, ENTITY_ACCOUNT.' type: string membershipFeePromotionalAmountApplicationMethod: description: 'Indicates the method used to apply the promotional amount fee of the new membership fee model (if any) in case of model change. It overrides the behaviour defined at issuer level. Possible values are: • NOT_APPLIED: the promotional amount of the new model is not applied at model change, the regular amount will apply directly. • APPLIEDFROM_FIRSTFEEPOSTING: the promotional amount is applied from the first membership fee posting date for the period defined in the new model. • APPLIEDFROM_MODELCHANGE: the promotional amount is applied from the model change for the period defined in the new model.' type: string enum: - NOT_APPLIED - APPLIEDFROM_FIRSTFEEPOSTING - APPLIEDFROM_MODELCHANGE membershipFeePromotionalPeriod: description: 'Membership fee promotional period Indicates 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. If 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: ModifyContractFeeRequest 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. Possible values are: FAMILY : the contract can have 1 or several cards REGULAR : the contract can have a single card only' accounts: type: array items: $ref: '#/definitions/CreateConsumerContractRequestAccount' title: AddCardsAccountsRequest.AccountHierarchy CloseContractResponseAccount: type: object properties: accountIdentifier: description: Identification of the account either by Issuer account external reference or by account reference. allOf: - $ref: '#/definitions/AccountIdentifier' root: type: boolean description: Refer to Account.root status: type: string description: Refer to Account.status title: CloseContractResponse.Account 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: '#/definitions/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 Indicates 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. If 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 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 SignContractResponseCardContract: type: object required: - cardContractIdentifier - status - cards description: Information for each card contract if any properties: cardContractIdentifier: description: Identification of the card contract either by Issuer card contract external reference or by card contract reference allOf: - $ref: '#/definitions/CardContractIdentifier' status: type: string description: 'Current status of the card contract Refer to CardContract.status.' cards: type: array items: $ref: '#/definitions/SignContractResponseCard' title: SignContractResponse.CardContract ModifyBrandAdviceConfigResponse: type: object properties: newBrandAdviceConfiguration: description: Brand Advice configuration allOf: - $ref: '#/definitions/BrandAdviceConfig' title: ModifyBrandAdviceConfigResponse ReplaceCustomerInConsumerContractResponseCardContract: type: object properties: cardContractIdentifier: description: Refer to CardContract.cardContractIdentifier allOf: - $ref: '#/definitions/CardContractIdentifier' cardHolderIdentifier: description: Refer to CardContract.cardHolderIdentifier allOf: - $ref: '#/definitions/CustomerIdentifier' title: ReplaceCustomerInConsumerContractResponse.CardContract 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). If 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). If 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 ApiResponseEntityForceProductChangeResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/ForceProductChangeResponse' description: Issuer response entity title: ApiResponseEntityForceProductChangeResponse 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€. The threshold amount can be overridden if the reimbursement model accepts the change of the default threshold.' allOf: - $ref: '#/definitions/Amount' octOnContractTerminationAllowed: type: boolean description: 'This field indicates the "OCT on contract termination" option The 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. The 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. The 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. Possible values: - BALANCE (= a customer can only request an OCT in case of account in credit position) - 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) The 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 BadGatewayErrorApiResponse: type: object required: - responseMetadata properties: responseMetadata: allOf: - $ref: '#/definitions/BadGatewayResponseMetadata' title: BadGatewayErrorApiResponse InternalServerErrorErrorApiResponse: type: object required: - responseMetadata properties: responseMetadata: allOf: - $ref: '#/definitions/InternalServerErrorResponseMetadata' title: InternalServerErrorErrorApiResponse InternalServerErrorResponseMetadata: type: object required: - correlationId - responseDateTime - statusCode - statusMessage properties: correlationId: type: string description: Correlation Identifier responseDateTime: type: string example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ description: Timestamp when response date was generated statusCode: type: integer format: int32 example: 500 description: HTTP status code statusMessage: type: string example: Internal server error description: Executed REST API status message title: InternalServerErrorResponseMetadata NotFoundErrorApiResponse: type: object required: - responseMetadata properties: responseMetadata: allOf: - $ref: '#/definitions/NotFoundResponseMetadata' title: NotFoundErrorApiResponse 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 SignContractResponseAccount: type: object required: - accountIdentifier - root - status properties: accountIdentifier: description: Identification of the account either by the Issuer account external reference or by the account reference. allOf: - $ref: '#/definitions/AccountIdentifier' root: type: boolean description: Refer to Account.root status: type: string description: 'Current status of the account. Refer to Account.status' title: SignContractResponse.Account CreateConsumerContractResponseAddress: type: object properties: addressIdentifier: description: Identification of the customer address either by Issuer address external reference or by address reference allOf: - $ref: '#/definitions/AddressIdentifier' addressLabel: type: string description: Refer to Address.addressLabel addressType: type: string description: Refer to Address.addressType title: CreateConsumerContractResponse.Address OriginalCardContract: type: object properties: cardContractIdentifier: description: Identification of the card contract either by the Issuer card contract external reference or the card contract reference. allOf: - $ref: '#/definitions/CardContractIdentifier' status: type: string description: 'Current status of the card contract. Refer to CardContract.status' changedCardContractIdentifier: description: Identification of the new card contract either by the Issuer card contract external reference or the card contract reference. allOf: - $ref: '#/definitions/CardContractIdentifier' cards: type: array items: $ref: '#/definitions/OriginalCard' cardContractGroupReference: type: string description: Unique reference to group card contracts calculated by the system if required by the product configuration title: OriginalCardContract ModifyAddressRequestPhoneNumber: 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: ModifyAddressRequest.PhoneNumber ReplaceCustomerInContractRequestTargetCustomer: type: object properties: existingCustomerIdentifier: description: If the issuer wants to replace a customer of the contract by another one already existing in our system, he has to provide either the issuer customer external reference or the customer reference. allOf: - $ref: '#/definitions/CustomerIdentifier' newCustomer: description: If the issuer wants to replace the customer of the contract by a new one, he has to provide customer data to create the new customer. allOf: - $ref: '#/definitions/ReplaceCustomerInContractRequestCustomer' title: ReplaceCustomerInContractRequest.TargetCustomer SignContractResponseContract: type: object required: - contractIdentifier - status - accounts properties: contractIdentifier: description: Identification of the contract either by Issuer contract external reference or by contract reference allOf: - $ref: '#/definitions/ContractIdentifier' status: type: string description: 'Current status of the contract Refer to Contract.status' accounts: type: array description: Information related to the accounts (at least the root account) items: $ref: '#/definitions/SignContractResponseAccount' cardContracts: type: array items: $ref: '#/definitions/SignContractResponseCardContract' title: SignContractResponse.Contract AddressUsage: type: object required: - addressUsageName - serviceCode properties: addressUsageName: type: string example: STATEMENT_SENDING 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 corresponds to the application domain of the address. It can be eg a card contract reference, card account reference. It is an optional field. It enables to have the same usage address for the same customer applied to different addresses (one cardholder with 2 card contracts: card delivery address usage is assigned to main postal address for contract A and card delivery address usage is also assigned to office postal address for contract B.' serviceCode: type: string example: ACCOUNT_SERVICE description: 'The Service for which the address usage is defined : CARD_SERVICE, ACCOUNT_SERVICE, …' title: AddressUsage OriginalCard: type: object properties: cardIdentifier: description: Identification of the card either by the Issuer card external reference or the card reference. allOf: - $ref: '#/definitions/CardIdentifier' maskedPan: type: string description: Masked Pan expiryDate: description: Expiry Date type: string format: date-time panSequenceNumber: type: string description: Pan Sequence Number status: type: string description: 'Current status of the card. Refer to Card.internalStatus' title: OriginalCard ApiResponseEntityListCardContract: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: type: array description: Response data items: $ref: '#/definitions/CardContract' description: Issuer response entity title: ApiResponseEntityListCardContract CancelProductChangeResponseOriginalAccount: type: object properties: accountIdentifier: description: Identification of the account either by the Issuer account external reference or the account reference. allOf: - $ref: '#/definitions/AccountIdentifier' root: type: boolean description: 'Indicates if the account is the root account of the account hierarchy. Refer to Account.root' status: type: string description: 'Current status of the account (can be ACTIVE, BEING-CLOSED or CLOSED). E.g. in case of cancellation of an already processed product change, the original account status stays unchanged but no closing date is planned anymore for the original account.' title: CancelProductChangeResponse.OriginalAccount 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: '#/definitions/MultiCard' title: MultiCardInfo 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 AccountHierarchyModel: type: object properties: type: type: string description: 'Model type of the account hierarchy Possible value: • reimbursementModel.' reference: type: string description: Reference to the particular model that has been selected in hierarchySelectedModels. title: AccountHierarchyModel CloseContractResponse: type: object properties: contract: $ref: '#/definitions/CloseContractResponseContract' title: CloseContractResponse ExternalRestriction: type: object required: - externalRestrictionIdentifier properties: externalRestrictionIdentifier: description: Reference value for external restriction (Velocity limit) (mandatory) allOf: - $ref: '#/definitions/ExternalRestrictionIdentifier' maximumAmount: description: Maximum amount of provided velocity limit (optional) allOf: - $ref: '#/definitions/Amount' minimumAmount: description: Minimum amount of provided velocity limit (optional) allOf: - $ref: '#/definitions/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 HierarchyOutgoingCreditTransferFeature: type: object properties: periodicOct: 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.\n" 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€. The threshold amount can be overridden if the reimbursement model accepts the change of the default threshold.' allOf: - $ref: '#/definitions/Amount' octOnContractTerminationAllowed: type: boolean description: 'This field indicates the "OCT on contract termination" option The 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 The 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. The 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 modified 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. Possible values: - BALANCE (= a customer can only request an OCT in case of account in credit position) - 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) The 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: HierarchyOutgoingCreditTransferFeature BrandAdviceRequest: type: object properties: issuerProductExternalReference: description: The issuer must provide the external reference of the product if the card identifier (card reference and issuer card external reference) is not provided. type: string cardReference: description: Only provided for card replacement. In this case the external reference of the product must not be provided.Either the card reference or the issuer card external reference can be provided. type: string issuerCardExternalReference: description: Only provided for card replacement. In this case the external reference of the product must not be provided.Either the card reference or the issuer card external reference can be provided. type: string title: BrandAdviceRequest AddOnSubscription: type: object properties: addonReference: type: string description: Reference of the add-on service. subscriptionDate: type: string description: Date of subscription to the add-on. format: date-time serviceTypeReference: type: string description: Reference of the type of add-on service. parameters: type: array description: List of add-on service parameters items: $ref: '#/definitions/AddOnServiceParameter' accountIdentifier: description: The identifier of the account on which the subscription has been done allOf: - $ref: '#/definitions/AccountIdentifier' cardContractIdentifier: description: The identifier of the card contract on which the subscription has been done allOf: - $ref: '#/definitions/CardContractIdentifier' title: AddOnSubscription ApiResponseEntityCreateConsumerContractResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/CreateConsumerContractResponse' description: Issuer response entity title: ApiResponseEntityCreateConsumerContractResponse DeliveryChannel: type: object properties: contractLetterType: type: string description: "Delivery channel used for card contract letters (optional) \nPossible values: EMAIL, WEB, LETTER, LETTER_AND_WEB, PUSH and MOBILE_APP" enum: - EMAIL - WEB - LETTER - LETTER_AND_WEB - PUSH - MOBILE_APP example: LETTER disputeLetterType: type: string description: "Delivery channel used for dispute letters (optional) \nPossible values: EMAIL, WEB, LETTER, LETTER_AND_WEB, PUSH and MOBILE_APP" enum: - EMAIL - WEB - LETTER - LETTER_AND_WEB - PUSH - MOBILE_APP example: LETTER statementType: type: string description: "Delivery channel used for statements (optional) \nPossible values: EMAIL, WEB, LETTER, LETTER_AND_WEB, PUSH and MOBILE_APP" enum: - EMAIL - WEB - LETTER - LETTER_AND_WEB - PUSH - MOBILE_APP example: LETTER description: Specify the channel for letter delivery used for this contract title: DeliveryChannel ApiResponseEntityListLegitimacyDocuments: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: type: array description: Response data items: $ref: '#/definitions/LegitimacyDocument' description: Issuer response entity title: ApiResponseEntityListLegitimacyDocuments 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. For example: - 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). - 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. During 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 example: Standard 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 example: Standard 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 example: Normal 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: '#/definitions/CreateConsumerContractRequestAddress' vulnerabilities: description: List of vulnerabilities applicable to the customer. type: array items: $ref: '#/definitions/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: '#/definitions/CreateConsumerContractRequestContact' title: CreateConsumerContractRequest.Customer 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 ReplaceCustomerInContractRequest: type: object required: - previousCustomerIdentifier - targetCustomer x-wl-patch-request: true properties: previousCustomerIdentifier: description: 'The issuer has to provide either the issuer customer external reference or the customer reference of the customer belonging to the contract that he wants to replace by another existing one or by a new customer. The customer (as person) to be replaced can be the contract owner, the account owner, the cardholder, etc...of the contract.' allOf: - $ref: '#/definitions/CustomerIdentifier' targetCustomer: description: The issuer has to provide the target customer (as person) for replacement, either an existing customer in our system or a new one. allOf: - $ref: '#/definitions/ReplaceCustomerInContractRequestTargetCustomer' title: ReplaceCustomerInContractRequest CancelProductChangeResponseChangedCardContract: type: object properties: cardContractIdentifier: description: Identification of the card contract either by the Issuer card contract external reference or the card contract reference. allOf: - $ref: '#/definitions/CardContractIdentifier' status: type: string description: 'Current status of the card contract. Refer to CardContract.status' title: CancelProductChangeResponseChanged.CardContract 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). Free 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. No 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. If 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. Otherwise the issuerCustomerExternalReference has to be provided.' allOf: - $ref: '#/definitions/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 ApiResponseEntityContract: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/Contract' description: Issuer response entity title: ApiResponseEntityContract CancelProductChangeResponseChangedAccount: type: object properties: accountIdentifier: description: Identification of the account either by the Issuer account external reference or the account reference. allOf: - $ref: '#/definitions/AccountIdentifier' root: type: boolean description: Indicate whether this account is the root account or not. status: type: string description: Current status of the account (BEING_CLOSED because the standard account closing process has to be started and the account can be closed when certain conditions are met (e.g. minimum delay of N days, no pending payment, ...) title: CancelProductChangeResponse.ChangedAccount ModifyContractCustomersAddressesResponseAddress: type: object properties: addressIdentifier: $ref: '#/definitions/AddressIdentifier' addressLabel: type: string description: Refer to Address.addressLabel addressType: type: string description: Refer to Address.addressType invalid: type: boolean description: Indicates if the address is invalid or not (limited to address type as postalAddress in this release) title: ModifyContractCustomersAddressesResponse.Address ApiResponseEntityListAddonSubscription: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: type: array description: Response data items: $ref: '#/definitions/AddOnSubscription' description: Issuer response entity title: ApiResponseEntityListAddonSubscription ApiResponseEntityChangeProductResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/ChangeProductResponse' description: Issuer response entity title: ApiResponseEntityChangeProductResponse CloseContractResponseCardContract: type: object properties: cardContractIdentifier: description: Identification of the card contract either by Issuer card contract external reference or by card contract reference. allOf: - $ref: '#/definitions/CardContractIdentifier' status: type: string description: "Card Contract status after the contract closing request depending on the closure delay type\nIf the closure delay type is IMMEDIATE, the card contract status is CLOSED.\n If the closure delay type is SCHEDULED or SCHEDULED_EXP_DATE, the card contract status is not changed." cards: type: array items: $ref: '#/definitions/CloseContractResponseCard' title: CloseContractResponse.CardContract 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: '#/definitions/CreateAddressRequestMailAddress' type: type: string description: Refer to Contact.type title: CreateConsumerContractRequest.Contact 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 aaa, bbb, ccc are character string.' title: EmailAddress InsuranceContract: type: object properties: issuerId: type: string description: Issuer identifier (unique per platform) insuranceContractIdentifier: description: Unique identifier of the insurance contract allOf: - $ref: '#/definitions/InsuranceContractIdentifier' accountIdentifier: description: The account linked to the insurance contract allOf: - $ref: '#/definitions/AccountIdentifier' lastInsuranceEventCode: type: string description: Last insurance event code lastInsuranceEventDate: type: string format: date-time description: Last event date insuranceEvents: type: array description: 'The list of insurance events linked to this contract. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/InsuranceEvent' status: type: string description: Status of insurance contract validFrom: type: string format: date-time description: From when the contract is valid accountOwnerBirthDate: type: string format: date-time description: Owner's birth date insurancePackage: allOf: - $ref: '#/definitions/InsuranceContractPackage' title: InsuranceContract ApiResponseEntityListContractFee: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: type: array description: Response data items: $ref: '#/definitions/ContractFee' description: Issuer response entity title: ApiResponseEntityListContractFee SignContractResponse: type: object properties: contract: $ref: '#/definitions/SignContractResponseContract' title: SignContractResponse ChangeProductRequest: type: object required: - targetProductIdentifier - closingReason properties: targetProductIdentifier: description: Target product to be used for the product change to create the new contract identified either by the Issuer Product External Reference or the Product Reference. allOf: - $ref: '#/definitions/ProductIdentifier' closingReason: type: string description: Closing reason to be used when the old contract is terminated (Free text). feeReimbursementAtCardContractClosing: type: boolean description: Indicates whether the membership & account setup fees shall be reimbursed for the old contract at the contract termination (per card contract) cardCreationSendingMode: type: string description: Sending mode applied to all physical cards, in the new contract, sent to embosser among those allowed as per card product configuration (for physical cards only, if not provided then default one is retrieved from card product configuration if required). pinMailerSendingMode: type: string description: Sending mode applied to all PIN mailers, in the new contract, if any and sent to printer among those allowed as per card product configuration (if not provided then default one is retrieved from card product configuration if required). productChangeTrigger: type: string description: Not used cardChanges: type: array description: 'List of card changes requested during the product change (optional). (Currently only card class can be changed) For each card within the new contract, the issuer can provide a new "card class" among the ones allowed by the target product.' items: $ref: '#/definitions/CardChange' title: ChangeProductRequest ApiResponseEntityModifyBrandAdviceConfigResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/ModifyBrandAdviceConfigResponse' description: Issuer response entity title: ApiResponseEntityModifyBrandAdviceConfigResponse ChangedCardContract: type: object properties: cardContractIdentifier: description: Identification of the card contract either by the Issuer card contract external reference or the card contract reference. allOf: - $ref: '#/definitions/CardContractIdentifier' status: type: string description: 'Current status of the card contract. Refer to CardContract.status' card: $ref: '#/definitions/ChangedCard' cardHolderIdentifier: description: card holder identifier allOf: - $ref: '#/definitions/CustomerIdentifier' principalSupplementaryCardIndicator: type: string description: Indicates whether the card is a Principal or Supplementary card. relatedAccounts: type: array description: Related Accounts items: $ref: '#/definitions/AccountRelation' originalCardContractIdentifier: description: Identification of the original card contract either by the Issuer card contract external reference or the card contract reference. allOf: - $ref: '#/definitions/CardContractIdentifier' 'cardContractGroupReference ': type: string description: Unique reference to group card contracts calculated by the system if required by the product configuration title: ChangedCardContract SuspendContractResponseCard: type: object required: - panReference properties: cardIdentifier: description: Identification of the card either by Issuer card external reference or by card reference allOf: - $ref: '#/definitions/CardIdentifier' maskedPan: type: string example: 445442******0275 description: Masked Primary Account Number (PAN) of the card (optional). panReference: type: string description: Refer to Card.panReference expiryDate: type: string description: 'Expiry date of the card. Format is MMYY (month and year)' panSequenceNumber: type: string description: Number identifying cards either with same PAN or with same PAN and same Expiry date (depending of the card product configuration) status: type: string description: Card status after the contract suspension request (BLOCKED) title: SuspendContractResponse.Card AddCardsAccountsResponse: x-wl-sensitive-data: true type: object required: - contract - customers properties: contract: description: Information related to the contract allOf: - $ref: '#/definitions/CreateConsumerContractResponseContract' customers: type: array items: $ref: '#/definitions/CreateConsumerContractResponseCustomer' originalContract: description: 'Represents the original contract data before product change has occured.Conditional field, exists if product change is triggered by adding additional card and account. ' allOf: - $ref: '#/definitions/OriginalContract' changedContract: description: Represents the new contract data after product change has occured.Conditional field, exists if product change is triggered by adding additional card and account. allOf: - $ref: '#/definitions/ChangedContract' productChangeInformation: description: Represents product change information.Conditional field, exists if product change is triggered by adding aditional card and account. allOf: - $ref: '#/definitions/ProductChangeInformation' title: AddCardsAccountsResponse 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: '#/definitions/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) The status of the card contract is changing during its life cycle according to business processes in the system. Possible values are : - CREATED : The first status when the card contract is created. Related card is not activated. - ACTIVE : The card contract is active. Related card is activated as per product configuration Examples of business processes triggering this status: contract creation request, contract creation after a product change request. - 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. Examples 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) Free 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) The closing type can be: IMMEDIATE (at current date) SCHEDULED (at future date, greater than the current date) SCHEDULED_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 It is related to a card. Same reference is used in case of card renewal/replacement. Used 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) The 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 The 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 The 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) By 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) Can 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) Possible values: PRINCIPAL, SUPPLEMENTARY' productCategory: type: string description: 'Defines the category of the product (mandatory) The list of product categories is configurable per issuer (e.g. CREDIT, DEBIT, PREPAID)' productCategoryLabel: type: string description: 'Label of the product category (optional) Example: 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: '#/definitions/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: '#/definitions/ProductExtensionIdentifier' selectedModels: type: array description: 'List of models linked to the card contract _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/CardContractModel' cardClass: type: string description: 'Information provided by the issuer to categorize cards within a contract. The 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 _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/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 _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/Card' cardHolderIdentifier: description: Card Holder Identifier allOf: - $ref: '#/definitions/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: '#/definitions/ContractIdentifier' relatedAccounts: type: array description: 'List of posting accounts linked to a card contract _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/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: '#/definitions/CardContractIdentifier' changedCardContractIdentifier: description: CardContract Identifier of the new cardContract in case of ProductChange allOf: - $ref: '#/definitions/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: '#/definitions/AuthorizationDataValidation' contactCenters: type: array items: $ref: '#/definitions/ContactCenter' clickToPayEnrollment: type: string description: 'Indicates if the card enrollment in Click to Pay service is requested or not. Possible values are : - OPT_IN : enrollment of the card in Click to Pay service is requested. - OPT_OUT : enrollment of the card in Click to Pay service is not requested. Relevant only if the Click to Pay feature is enabled.' title: CardContract SwitchPrincipalCardResponseCardContract: type: object properties: cardContractIdentifier: $ref: '#/definitions/CardContractIdentifier' principalSupplementaryCardIndicator: type: string description: 'Indicates if it is a Principal card or an additional card (mandatory) Possible values: PRINCIPAL, SUPPLEMENTARY' title: SwitchPrincipalCardResponseCardContract 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 SuspendContractResponseAccount: type: object properties: accountIdentifier: description: Identification of the account either by Issuer account external reference or by account reference allOf: - $ref: '#/definitions/AccountIdentifier' root: type: boolean description: Indicates whether the account is the root account (true) or not (false). status: type: string description: Account status after the contract suspension request (not changed, the account is still active during the contract suspension period) title: SuspendContractResponse.Account SwitchPrincipalCardResponse: type: object properties: contract: $ref: '#/definitions/SwitchPrincipalCardResponseContract' title: SwitchPrincipalCardResponse 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. If no parent account identifier is provided, then by default the ROOT account is used.' allOf: - $ref: '#/definitions/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). For each new customer, the issuer : - 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 - 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: '#/definitions/CreateConsumerContractRequestCustomer' legitimacyDocuments: description: The issuer can provide the list of legitimacy documents for each cardholder of the contract. type: array items: $ref: '#/definitions/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: '#/definitions/AddCardsAccountsRequestAccountHierarchy' cardContracts: type: array items: $ref: '#/definitions/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: '#/definitions/CreateConsumerContractRequestContractFee' title: AddCardsAccountsRequest CreateConsumerContractRequestCardOrder: type: object description: 'The issuer can provide data related to the card order if physical card is requested. If 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 example: Normal description: 'The issuer can provide the sending mode if a physical card (card order) is requested. Default sending mode is retrieved from configuration. Example: Normal, Urgent, Ultra Urgent' skipCardOrderGeneration: type: boolean description: 'If this field is true, the card order will not be generated (no plastic). By 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 When the customDeliveryAddress is provided, the field must also be provided.' customDeliveryAddress: description: 'Refer to Order.customDeliveryAddress. The customDeliveryAddressee must also be provided when the field is provided.' allOf: - $ref: '#/definitions/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) Possible values are: CUSTOMER, BRANCH To 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 ExternalVelocityLimitIdentifier: type: object properties: externalVelocityLimitReference: description: Reference value for external Velocity limit (mandatory) type: string title: ExternalVelocityLimitIdentifier AddressVersionIdentifier: type: object properties: addressVersionReference: type: string description: 'Identifies the version of the address A new version of the address is created when a change is done on the address.' title: AddressVersionIdentifier 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 This reference is calculated from an algorithm configurable per issuer (currently a unique algorithm is defined). The 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 ReplaceCustomerInContractRequestCustomer: type: object required: - firstName - lastName - addresses properties: issuerCustomerExternalReference: type: string description: Customer identifier provided by the Issuer active: type: boolean description: DEPRECATED 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: If this field is not provided and a default value is configured, the default value will be used. Otherwise the issuer must provide an online risk category among those allowed,. offlineRiskCategory: type: string description: If this field is not provided and a default value is configured, the default value will be used. Otherwise the issuer must provide an offline risk category among those allowed,. commercialStatus: type: string description: If this field is not provided and a default value is configured, the default value will be used. Otherwise the issuer must provide a commercial status among those allowed,. customerReference: type: string description: DEPRECATED 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: Refer to Customer.birthDate 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: string 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. It 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. Example : {"label1":"value1","label2":"value2"} Those 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: '#/definitions/ReplaceCustomerInContractRequestAddress' title: ReplaceCustomerInContractRequest.Customer 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. If 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. Otherwise 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. Otherwise 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: '#/definitions/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: '#/definitions/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 Has 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 If 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). If 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. SEPA 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: '#/definitions/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: '#/definitions/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: '#/definitions/AccountModel' externalRestrictions: type: array description: Deprecated - Replaced by ExternalVelocityLimits items: $ref: '#/definitions/ExternalRestriction' externalVelocityLimits: type: array description: List of external velocity limits related to the account items: $ref: '#/definitions/ExternalVelocityLimit' externalAuthorizationsRestrictions: type: array description: List of external authorization restrictions related to the account items: $ref: '#/definitions/ExternalAuthorizationsRestriction' requestCorrelationId: type: string description: 'Unique alias provided by the issuer for each new account (Conditional). During 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: '#/definitions/CreateConsumerContractRequestAddOnSubscription' accountOutgoingCreditTransferFeature: description: Description of OCT features at account level if different from the configuration or definition at account hierarchy level allOf: - $ref: '#/definitions/AccountOutgoingCreditTransferFeature' workingCurrencyCode: type: string description: 'Working currency code of the account Ex : EUR for Euro, USD for dollar, etc. The working currency must be allowed by the product. If not provided, the default currency of the product is set. All accounts of the same account hierarchy must have the same currency. ' title: CreateConsumerContractRequest.Account ExternalRestrictionIdentifier: type: object properties: externalRestrictionReference: type: string title: ExternalRestrictionIdentifier UnauthorizedErrorApiResponse: type: object required: - responseMetadata properties: responseMetadata: allOf: - $ref: '#/definitions/UnauthorizedResponseMetadata' title: UnauthorizedResponseMetadata 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: '#/definitions/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. List of mandate possible nature types (for future usage only, not to be used): COMPUTING_MIGRATION_NO_SIGNATURE, COMPUTING_MIGRATION_WITH_SIGNATURE, FR_MIGRATION_DOMESTIC_FILES, MANDATE_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 CreateConsumerContractResponseOrder: type: object required: - orderIdentifier description: Information of each order (card order, PIN mailer order) if any properties: orderIdentifier: description: Identification of the order either by its order reference. allOf: - $ref: '#/definitions/OrderIdentifier' orderType: type: string description: 'The order can correspond to a card, a PIN mailer or a TAN mailer. Possible values are : CardOrder, PinMailerOrder, TanMailerOrder' currentInternalStatus: type: string description: 'Current internal status of the order: - CREATED: still to be validated by the branch - CONFIRMED: if the order is validated by the branch - ORDERABLE: if ready to be issued (depending on the configuration, e.g. PIN is generated and available)' title: CreateConsumerContractResponse.Order ExternalAuthorizationsRestriction: type: object required: - externalAuthorizationsRestrictionIdentifier properties: externalAuthorizationsRestrictionIdentifier: description: Reference identifier for external authorization restriction allOf: - $ref: '#/definitions/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 CloseContractResponseContract: type: object properties: contractIdentifier: description: Identification of the contract either by Issuer contract external reference or by contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' status: type: string description: "Contract status after the contract closing request depending on the closure delay type \nIf the closure delay type is IMMEDIATE, the contract status is CLOSED.\n If the closure delay type is SCHEDULED or SCHEDULED_EXP_DATE, the contract status is not changed and will be CLOSED when the closing date is reached." closingDate: type: string format: date-time description: "\nIf the closure delay type is IMMEDIATE, the closing date is the current date.\n If the closure delay type is SCHEDULED, the closing date is the one provided in the request.\nIf the closure delay type is SCHEDULED_EXP_DATE, the closing date is the expiry date of the principal card." accounts: type: array items: $ref: '#/definitions/CloseContractResponseAccount' cardContracts: type: array items: $ref: '#/definitions/CloseContractResponseCardContract' title: CloseContractResponse.Contract CancelProductChangeRequest: type: object properties: feeReimbursementAtCardContractClosingForChangedContract: type: boolean description: Indicates if the related membership/account setup fees must be partially reimbursed after the closure of the changed contract in case of cancellation of an already processed product change. title: CancelProductChangeRequest ProductChangeInformation: type: object description: Only if a product change is triggered by card replacement. Represents product change information properties: targetProductIdentifier: description: Target product of the product change identified either by the Issuer Product External Reference or the Product Reference. allOf: - $ref: '#/definitions/ProductIdentifier' closingReason: type: string description: 'Closing reason used at the contract termination. Free text' feeReimbursementAtCardContractClosing: type: boolean description: Indicates whether the membership & account setup fees shall be reimbursed for the old contract at the contract termination (per card contract) cardCreationSendingMode: type: string description: 'Sending mode used for all physical cards ordered in the contract Same value as provided in the Product change request' pinMailerSendingMode: type: string description: 'Sending mode used for all PIN mailers created for the contract Same value as provided in the Product change request' cardChanges: type: array description: 'List of card changes requested during the product change (optional). Same value as provided in the Product change request ' items: $ref: '#/definitions/CardChange' productChangeTrigger: type: string description: "This field indicates when the product change is triggered once the product change request is received. \nIt depends of the product change configuration.\nPossible values are : \n- IMMEDIATE\n- ON_RENEWAL" productChangeReference: type: string description: External reference of the configured Product Change definition used for the product change. productChangeStatus: type: string description: 'Status of the product change Possible values are : - PENDING (for scheduled product change, date not reached) - PROCESSED (for immediate product change, or scheduled product change when date is reached) - CANCELLED (When a scheduled product change is cancelled before the scheduled product change date is reached)' futureChangeDate: type: string format: date-time description: "Future date of the product change. \nCalculated by the system in case of product change on renewal (= anticipated card renewal date (when only one card) or first anticipated card renewal date within the contract when contract has several cards).\nUTC time zone.\nFormat: \"yyyy-MM-dd'T'HH:mm:ssZ\"" productChangeStatusDate: type: string format: date-time description: 'Date the status of the product change was last updated. UTC time zone. Format: "yyyy-MM-dd''T''HH:mm:ssZ"' title: ChangeProductResponse.ProductChangeInformation ApiResponseEntityRemoveAddOnSubscriptionResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/RemoveAddOnSubscriptionResponse' description: Issuer response entity title: ApiResponseEntityRemoveAddOnSubscriptionResponse ModifyContractCustomersAddressesRequest: type: object required: - addresses properties: addresses: type: array description: 'Each provided address must have - an addressLabel among the ones configured such as MAIN_POSTAL_ADDRESS - an address type to indicate whether it a postal, an e-mail or a phone number - the address itself depending on its type: MailAddress, EmailAddress or PhoneNumber Each provided address can have - none, 1,... N address usages - such address usage can be used to retrieve the address related to a business process (e.g. CARD_DELIVERY used to identify the address to be used to send the card to the cardholder). If there is no address usage the Main postal address is used - startDate: this is the date when the provided address becomes valid (this date is always greater than the current date). If not provided this is by default the current date. As a result, each contract member is updated with provided addresses.' items: $ref: '#/definitions/ModifyContractCustomersAddressesRequestAddress' title: ModifyContractCustomersAddressesRequest 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 This reference is calculated from an algorithm (currently a unique algorithm ''DefaultCardContractReferenceAlgorithm'' referenced in the card profile version). The 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 This reference is unique per issuer and may be used to carry out research and find information.' title: CardContractIdentifier SuspendContractResponseCardContract: type: object properties: cardContractIdentifier: description: Identification of the card contract either by Issuer card contract external reference or by card contract reference allOf: - $ref: '#/definitions/CardContractIdentifier' status: type: string description: Card Contract status after the contract suspension request (not changed, the card contract is still active during the contract suspension period, only renewal/replacement are blocked) cards: type: array items: $ref: '#/definitions/SuspendContractResponseCard' replacementBlockingReason: type: string description: DEPRECATED renewalBlockingReason: type: string description: DEPRECATED blockingRenewalReasonCode: type: string description: Refer to CardContract.blockingRenewalReasonCode blockingReplacementReasonCode: type: string description: Refer to CardContract.blockingReplacementReasonCode title: SuspendContractResponse.CardContract ModifyContractFeeResponse: type: object required: - accountIdentifier properties: accountIdentifier: description: Contract fees related account identifier allOf: - $ref: '#/definitions/AccountIdentifier' title: ModifyContractFeeResponse CancelProductChangeResponseChangedContract: type: object properties: contractIdentifier: description: Identification of the changed contract either by the Issuer account external reference or the account reference. allOf: - $ref: '#/definitions/ContractIdentifier' productIdentifier: description: Target product of the product change identified either by the Issuer Product External Reference or the Product Reference. allOf: - $ref: '#/definitions/ProductIdentifier' status: type: string description: Current status of the changed contract (CLOSED because the changed contract is immediately closed) closingDate: type: string format: date-time description: As the changed contract is immediately closed, its closing date is equal to the current date and time. accounts: type: array description: Data related to the accounts linked to the changed contract items: $ref: '#/definitions/CancelProductChangeResponseChangedAccount' cardContracts: type: array description: Data related to the card contracts linked to the changed contract items: $ref: '#/definitions/CancelProductChangeResponseChangedCardContract' title: CancelProductChangeResponse.ChangedContract Account: type: object required: - accountHierarchyReference - accountProfileReference - iban - root - status - statusDate - workingCurrencyCode - workingMode - accountOwnerIdentifier - contractIdentifier - rootAccountIdentifier - accountTemplateReference properties: issuerId: type: string description: Issuer identifier (unique per platform) accountIdentifier: description: Account references known in the system allOf: - $ref: '#/definitions/AccountIdentifier' root: type: boolean description: Indicates if the account is a root account (true) or not (false). accountBalance: description: Current account balance allOf: - $ref: '#/definitions/Amount' accountClosingType: type: string description: Specified closing type for account. Possible values are SCHEDULED_CLOSING and FORCED_CLOSING. bic: type: string description: BIC or Bank Identification Code (optional) status: type: string description: 'Current status of the account Possible values: AWAITING_SIGNATURE: The first status when an account is created (contract is also in AWAITING_SIGNATURE status). No operation can be processed on an account when in this state ACTIVE: The account has been activated and is ACTIVE. Operation processing can be done in this state BEING-CLOSED: The closing process is started, the account will be permanently closed depending on certain rules, such as after xx days, no ongoing disputes. CLOSED: The account is permanently closed (final status), no possible activity (e.g. operations posting)' statusDate: type: string format: date-time description: The date when the status of an account has been changed for the last time statusHistory: type: array description: 'Refer to AccountStatusHistory data subresource _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/AccountStatusHistory' closingDueDate: type: string format: date-time description: DEPRECATED exclusiveCurrency: type: boolean description: 'Defines if the working currency is exclusive or not (conditional). If the account currency is exclusive then only operation with the account currency can be posted on the account. Otherwise currency conversion is performed to post the amount (ex. account currency is USD and exclusive, the operation in EUR cannot be posted on the account, and in the opposite, the account currency is USD and not exclusive, the operation in EUR can be posted on the account after conversion). ' activationDate: type: string format: date-time description: Date on which Account is activated finalClosingDate: type: string format: date-time description: Date at which the status of the account is changed to CLOSED iban: type: string description: International Bank Account Number of the customer (debtor). E.g Can be used for repayment via Direct Debit. secondIban: type: string description: Debtor second IBAN (can be used for specific business processes if needed) ibanOwnerName: type: string description: Iban owner’s name, can be different from the account owner’s name name: type: string description: The name of the account provided by the issuer at creation time or by default, the account template reference which was used to create the account paymentMode: type: string description: "The payment mode the customer uses (mandatory, pay later). \nThe values are:\n- CARDHOLDER_DETERMINED: customer repays its debt by itself (fund transfer to the issuer)\n- AUTOPAYMENT: customer repays its debt via Direct Debit (issued by issuer and paid automatically after X days)\n- DIRECTDEBIT_WITH_CONFIRMATION : customer repays its debt via Direct Debit but payment is confirmed by issuer" scheduledClosingDate: type: string format: date-time description: Date at which account should be set to BEING_CLOSED status (conditional). Mandatory when scheduledClosingDateType Is MANUAL. scheduledClosingDateType: type: string description: 'Type of scheduled Closing Date (conditional) Mandatory for SCHEDULED_CLOSING: Value = - MANUAL - NEXT_CYCLIC_CLOSURE_DATE - ANNUAL_FEE_DUE_DATE - NOW_DATE' workingCurrencyCode: type: string description: The Currency Code fixed in the current account (EUR for Euro, USD for dollar...) originalWorkingMode: type: string description: not used – deprecated workingMode: type: string description: 'It is the working mode of the account (Pay before/Pay later/Pay now) ' subscriptionSwitch: type: boolean description: Not used – deprecated toBeSwitched: type: boolean description: Not used – deprecated lastSubscriptionFeeDate: type: string format: date-time description: The date of the previous charge for subscription nextSubscriptionFeeDate: type: string format: date-time description: The date of the next charge for subscription accountHierarchyReference: type: string description: Identifier of Account Hierarchy 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. Possible values are: FAMILY : the contract can have 1 or several cards REGULAR : the contract can have a single card only' dunningCaseStatus: type: string description: 'Status of the Dunning Case (optional, pay later): - ACTIVE - CLOSED' collectionCaseStatus: type: string description: 'Status of the Collection Case (optional, pay later): - ACTIVE - CLOSED' sepaIndicator: type: boolean description: Indicates whether the payment processing channel is SEPA for direct debit and credit transfer sepaCreditorId: type: string description: SEPA Creditor Identifier (conditional). Mandatory if sepaMandate=True (pay later) sepaMandate: type: boolean description: Indicates whether SEPA mandate exists (mandatory, pay later). If true then sepaCreditorId, sepaMandateUir, sepaMandateUmr and sepaMandateStatus attributes are mandatory. sepaMandateUmr: type: string description: SEPA Unique Mandate Reference (conditional, pay later). Mandatory if sepaMandate=True sepaMandateUir: type: string description: SEPA Unique Internal Reference (conditional, pay later). Mandatory if sepaMandate=True sepaMandateStatus: type: string description: SEPA Mandate Status (conditional, pay later). Mandatory if sepaMandate=True originalPaymentMode: type: string description: Previous paymentMode when paymentMode has been modified (optional, pay later) accountMembershipNumber1: type: string description: 1st membership number accountMembershipNumber2: type: string description: 2nd membership number amountDueMinAmount: description: Minimum amount due defined at paying account level that overrides the default value defined in the accountAmountDue model when the amount due algorithm of the model is "Amount due percentage" (optional, pay later account) allOf: - $ref: '#/definitions/Amount' amountDueFixedAmount: description: Fixed amount due applied at paying account level that overrides the default value defined in the accountAmountDue model when the amount due algorithm of the model is “Amount Due fixed amount” (optional, pay later account) allOf: - $ref: '#/definitions/Amount' greaterOrLesserAmountDue: type: string description: "Possible values : \n- GREATER (the highest amount between the amount due calculated and the minimum amount due defined is considered)\n- LESSER (the lowest amount is considered between the amount due calculated and the minimum amount due defined)\nUseful for credit cards and partial payer" directDebitAlgorithmReference: type: string description: 'DEPRECATED Replaced by DirectDebitAmountDue model.' directDebitFixedAmount: description: Used to calculate the Direct Debit Amount (conditional, pay later). Mandatory if Direct Debit Algorithm requires Fixed Amount. If directDebitAlgorithm= DirectDebit Fixed Amount Standard, DirectDebit Fixed Amount Debit. Only, DirectDebit Fixed Amount in the Direct debit Amount Model allOf: - $ref: '#/definitions/Amount' directDebitPercentage: type: string description: Used to calculate the Direct Debit Amount (conditional, pay later). In case if the Direct Debit Algorithm is selected, the percentage is used to calculate direct debit amount instead of the amount due conditions (eg. amount due = 30% of the statement balance, and for direct debit algorithm, the direct debit percentage is 70%). creditInstalmentBalance: description: The current balance of the credit instalment on the account (optional) allOf: - $ref: '#/definitions/Amount' gracePeriodType: type: string description: 'The type of grace period for debit interest calculation (optional, pay later) Possible values: NEXT_CYCLE_GRACE_DATE NO_GRACE_PERIOD_USED' noGraceOnTheFirstCycle: type: boolean description: Indicates if no grace period is set for the first cycle (optional, pay later) accountAmountDueAlgorithmName: type: string description: 'DEPRECATED Replaced by Account amount due model.' amountDuePercentage: type: string description: Percentage of the balance to be claimed defined at paying account level that overrides the default value defined in the accountAmountDue model when the amount due algorithm of the model is "Amount due percentage" (optional, pay later account). amountDueCalculationLevel: type: string description: "DEPRECATED\nShows the level on which the amount due is calculated (optional, pay later). Values: \nACCOUNT_LEVEL, \nCOMPONENT_LEVEL " creditBureauContractFlag: type: boolean description: This information specifies if the Credit Bureau part of the contract has been signed by the credit card owner (optional, pay later) loyaltyPoints: type: array description: 'When the account has loyalty points, value of the balance in point at the end of the closure cycle (optional). _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/LoyaltyPoint' insuranceContracts: type: array description: 'List of insurance contracts linked to an account (optional, pay later) _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/InsuranceContract' specificFields: type: object description: 'List of external data {"label":"value"} separated by a "," related to an account 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 accountHierarchySpecificFields: type: object description: 'List of external data {"label":"value"} separated by a "," related to an account hierarchy that can be provided by e.g. the issuer for information or for usage by other systems. Example : {"label1":"value1","label2":"value2"} like {"costCenter":"445475","brand":"VIS","acc_struct":"PRIV","statement_type":"ST1","paymentCode":"01","statementMailingCode":"ORD"} 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 account is belonging. It corresponds also to the identifier of the product used to create the account if the account is created from the product directly. allOf: - $ref: '#/definitions/ProductIdentifier' productExtensionIdentifier: description: "Identifier of the product extension used to create the account. \nRelevant if the account is created from a product extension." allOf: - $ref: '#/definitions/ProductExtensionIdentifier' selectedModels: type: array description: "The models depends on the account type.\n\nFor a PayNow account\nEvent Fee Model: Defines fees which are triggered by Account events (ex: balance enquiry fee, statement fee, fee for returned payment)\nTransaction Fee Model: Defines fees which apply to particular transactions at the moment they are processed\nMarkup Fee Model: Defines fees which apply to particular transactions at the moment they are processed (used more particurlarly for foreign transactions)\n\nPayLater account\nEvent Fee Model: Defines fees which are triggered by Account events (ex: balance enquiry fee, statement fee, fee for returned payment)\nTransaction Fee Model: Defines fees which apply to particular transactions at the moment they are processed\nMarkup Fee Model: Defines fees which apply to particular transactions at the moment they are processed (used more particurlarly for foreign transactions)\nRestriction Model: Used to manage the credit limit \nStatement Model: Used to define the kind of statement\nDebit Interest Model: Used to define the algorithm and conditions for the calcul of debit interests\nInterest Model: Used to define the algorithm and conditions for the calcul of credit interests\nAccount Amount Due Model: Used to define the algorithm at account level for the amount due calculation (part of issuer terms and conditions)\nDirect Debit Amount Model: Used to define the algorithm for the direct debit amount calculation (part of customer terms and conditions)\nReimbursement Model - Used to configure and apply OCT different features in case of credit balance (per account hierarchy)\nRetrocession Rule Model: Used to configure different rules based on which there will be a sender and received operations cretaed, for the transactions meeting the rule criteria\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._" items: $ref: '#/definitions/AccountModel' accountProfileReference: type: string description: Reference to the Account profile which stores allowed configuration elements (e.g. list of available closure calendar) accountTemplateReference: type: string description: Reference of the account template used to instantiate this account closureCalendar: type: string description: External reference of the closure calendar linked to the account (contains all dates of Issuer's cycle, used to realize its processing) (mandatory). overlimitContribution: type: string description: DEPRECATED spareChangeSaving: type: boolean description: Indicates if the function Spare Change Savings (Keep the change) is applied on the account. (credit account only) childrenAccountIdentifiers: type: array description: 'Identifier of children accounts (if exist). Reference to accountIdentifier _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/AccountIdentifier' rootAccountIdentifier: description: "The AccountIdentifier data type consist of two parameters:\n1. accountReference - Account number is to identify the Account on which reimbursement is made.\n2. issuerAccountExternalReference - External issuer account reference is to identify the Account. \n\nThe root account is either the account number or the issuerAccountExternalReference, or, if both are provided then only the account number is used. The account should exist and it should be a pay Later Account." allOf: - $ref: '#/definitions/AccountIdentifier' rootAccount: description: 'Root account data only if the account is not the root account (i.e. flag root is false, otherwise root account data are not returned) _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' allOf: - $ref: '#/definitions/Account' parentAccountIdentifier: description: Account reference and issuer account external reference (optional) of the parent account. Is empty if it is a root account. Mandatory if not root account allOf: - $ref: '#/definitions/AccountIdentifier' payingAccountIdentifier: description: The account reference of paying account allOf: - $ref: '#/definitions/AccountIdentifier' accountOwnerIdentifier: description: Account owner reference allOf: - $ref: '#/definitions/CustomerIdentifier' accountGuarantorIdentifier: description: Guarantor of an account allOf: - $ref: '#/definitions/CustomerIdentifier' contractIdentifier: description: OPC contract Identifier allOf: - $ref: '#/definitions/ContractIdentifier' delinquent: type: boolean description: Indicates if the account is delinquent (true) or not (false) (optional, only used for pay later) originalAccountIdentifier: description: 'In case the account was created from a product change, account number of original account In case the account was created from a product change or employee reallocation, account number of original account.' allOf: - $ref: '#/definitions/AccountIdentifier' changedAccountIdentifier: description: 'in case the account had a product change, account number of new account created In case the account had a product change or employee reallocation took place, account number of new account created' allOf: - $ref: '#/definitions/AccountIdentifier' payingAccountType: type: string description: 'Indicates for corporate contract only if the account is paid by the root account, a parent entity account or the account itself Possible values: ROOT_PAYS ENTITY_PAYS ITSELF_PAYS E.g. A corporate contract can have cards paid by the company (ROOT_PAYS, usually the root account is the company account), and/or paid by the intermediate entities (ENTITY_PAYS), and/or paid by cardholders them-selves (ITSELF_PAYS).' enum: - ROOT_PAYS - ITSELF_PAYS - ENTITY_PAYS companyEntityExternalReference: type: string description: This is the reference of an entity (e.g. cost center, department, division, country) in the company organization. This is required for reporting, etc so that the company can identify the entity in its own system. noOtbCheck: type: boolean description: 'Indicates if for this account (credit only) the Open-to-buy should be checked or not when an operation is posted during both authorizations and transactions processing. E.g. A contract with 2 prepaid cards having 1 card account per prepaid card and the root account: OTB check is disabled for both card accounts so when an operation is posted to card account 1 the OTB of its root account is checked only - this allows having shared loaded amount on root account for both cards.' noParentNotification: type: boolean description: 'Indicates if operations (authorizations and transactions) should be posted to the parent account during the authorization and the transaction processing (e.g. incoming purchase authorization, first presentment, transaction fee, membership fee). E.g. this enables the issuer to stop the authorization/transaction processing to the entry account (card account), or at upper level (e.g. for corporate cards authorization/transaction amount can be checked against card account and Department account Open-to-buy only and not propagated to upper levels such as division, country, company accounts).' contractType: type: string description: "Contract type. \nPossible values: CORPORATE, CONSUMER" enum: - CORPORATE - CONSUMER resetCreditLimit: type: boolean description: 'Indicates if the Open-to-buy should be reset to its maximum Credit limit at Authorization system side as soon as a cycle is closed. Of course the amount due (minimum payment amount) is considered as to be repaid by the customer by our solution. The value of this flag overrides the value of the "defaultResetCreditLimit" flag.' liabilityType: type: string description: Indicates the liability type of the account (free text provided by the issuer). This liability type can be different for each issuer and is stored in our solution for information purpose (e.g. can be used for reporting), not used by any business process. hierarchyDebitOrderDueDateDelay: type: integer description: The issuer can provide the debit order due date delay at hierarchy level (number of days). This delay is used to calculate the Direct Debit payment date for each cycle of repayment (Optional). This value overrides the one from the closure calendar. accountDebitOrderDueDateDelay: type: integer description: The issuer can provide the debit order due date delay for the account (number of days). This delay is used to calculate the Direct Debit payment date for each cycle of repayment. (Optional). This value overrides the one from the closure calendar and the hierarchy. hierarchyOutgoingCreditTransferFeature: description: Description of OCT features at account hierarchy level if different from the configuration allOf: - $ref: '#/definitions/HierarchyOutgoingCreditTransferFeature' accountOutgoingCreditTransferFeature: description: Description of OCT features at account level if different from the configuration or definition at account hierarchy level allOf: - $ref: '#/definitions/AccountOutgoingCreditTransferFeature' 'preDelinquent ': type: boolean description: 'Indicates if the account is pre-delinquent (true) or not (false) (optional, pay later) Relevant only if account is not delinquent, a returned debit note with specific reason is received and total due amount is greater than 0. An account is either delinquent or pre-delinquent (can’t be both at the same time).' externalRestrictions: type: array description: Derprecated - Replaced by externalVelocityLimits. items: $ref: '#/definitions/ExternalRestriction' externalVelocityLimits: type: array description: List of external velocity limits which can be provided by issuers at account creation time (mainly when creating a contract and the first card, when adding new card and card account) in order to update the corresponding velocity limits on the authorization system. items: $ref: '#/definitions/ExternalVelocityLimit' defaultResetCreditLimit: type: string description: "Corresponds to the reset credit limit flag defined at contract level and which is the default value for the account in case nothing is configured in its resetCreditLimit flag. \nWhen the value is true, by default, the remaining due amount is not considered in the Open-To-Buy except if the flag \"resetCreditLimit\" is false\nWhen the value is false, the remaining due amount is considered in the Open-To-Buy except if the flag \"resetCreditLimit\" is true." lastImpactDate: type: string format: date-time description: The date at which the account balance was last impacted by an operation coBrander: type: string description: CoBrander inherited from the consumer contract. resetLimitBalance: description: Will be fed only in case reset credit is active for the account, and that contain in this case the application of the reset limit which means it will contain account balance” – “remaining amount due of that individual account. allOf: - $ref: '#/definitions/Amount' hierarchyPayingAccountType: type: string description: 'Indicates for corporate contract only if each account in the hierarchy is paid by the root account or the account itself Possible values: ROOT_PAYS ITSELF_PAYS' hierarchyBonusProgramReferences: type: array description: Reference of the Bonus/loyalty programs linked to the account hierarchy items: type: string openCycleInformation: $ref: '#/definitions/CycleInformation' isChangeOfPayerAtNextCycle: type: boolean description: The attribute is showing whether there is scheduled change of paying account type at the cycle closure date or not hierarchySelectedModels: type: array description: 'The models depends on the account type. Currently only Reimbursement Model: used to configure and apply OCT different features in case of credit balance (per account hierarchy)' items: $ref: '#/definitions/AccountHierarchyModel' originalAccountIdentifierType: type: string description: '"PRODUCT_CHANGE" in case the account was created from a product change "CARD_REALLOCATION" in case the account was created from an employee reallocation.' changedAccountIdentifierType: type: string description: '"PRODUCT_CHANGE" in case the account was created from a product change "CARD_REALLOCATION" in case the account was created from an employee reallocation.' hierarchyOperationStatus: description: The issuer can update blocking information for the account hierarchy. allOf: - $ref: '#/definitions/HierarchyOperationStatus' hierarchyOperationStatusHistory: type: array description: 'The operation status change history information can be checked in this object. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/HierarchyOperationStatusHistory' title: Account CancelProductChangeResponseOriginalCardContract: type: object properties: cardContractIdentifier: description: Current status of the card contract (CLOSED because the changed contract is immediately closed). allOf: - $ref: '#/definitions/CardContractIdentifier' status: type: string description: Current status of the card contract (can be CREATED, ACTIVE or CLOSED)E.g. in case of cancellation of an already processed product change, if the original card contract was active with a closing date not reached, it stays active and no closing date is planned anymore for the original card contract and the renewal/replacement of cards are unblocked for the card contract. title: CancelProductChangeResponse.OriginalCardContract CancelProductChangeResponse: type: object properties: contractIdentifier: description: Identification of the contract either by the Issuer contract external reference or the Contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' productChangeStatus: type: string description: Status of the ProductChange (CANCELLED) originalContract: description: Data related to the original contract allOf: - $ref: '#/definitions/CancelProductChangeResponseOriginalContract' changedContract: description: Data related to the changed contract (new contract from new product),returned only if the product change was already processed.In this case only, the changed contract is immediately closed. allOf: - $ref: '#/definitions/CancelProductChangeResponseChangedContract' title: CancelProductChangeResponse OriginalContract: type: object description: Only if a product change is triggered by card replacement. Represents the original contract data before product change has occured properties: contractIdentifier: description: Identification of the contract either by the Issuer contract external reference or the Contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' status: type: string description: 'Current status of the contract. Refer to Contract.status' productIdentifier: description: Identification of the product change identified either by the Issuer Product External Reference or the Product Reference. allOf: - $ref: '#/definitions/ProductIdentifier' accounts: type: array items: $ref: '#/definitions/OriginalAccount' cardContracts: type: array items: $ref: '#/definitions/OriginalCardContract' closingDate: type: string format: date-time description: Date of cloture of the contract changedContractIdentifier: description: Identification of the new contract either by the Issuer contract external reference or the Contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' title: ChangeProductResponse.OriginalContract CreateConsumerContractResponseCardContract: type: object required: - principalSupplementaryCardIndicator - relatedAccounts description: Information for each card contract if any properties: cardContractIdentifier: description: Identification of the card contract either by Issuer card contract external reference or by card contract reference. allOf: - $ref: '#/definitions/CardContractIdentifier' cardHolderIdentifier: description: Identification of the card holder either by Issuer customer external reference or by customer reference. allOf: - $ref: '#/definitions/CustomerIdentifier' cardContractGroupReference: type: string description: 'An unique reference to group card contracts when the customer card is replaced with a new brand Refer to CardContract.cardContractGroupReference.' status: type: string description: 'Current status of the card contract Refer to CardContract.status.' principalSupplementaryCardIndicator: type: string description: 'Indicates if the card is a Principal card or a supplementary one Possible values: PRINCIPAL, SUPPLEMENTARY' enum: - PRINCIPAL - SUPPLEMENTARY card: description: Information related to the card allOf: - $ref: '#/definitions/CreateConsumerContractResponseCard' relatedAccounts: type: array description: 'List of posting accounts for transactions (scheme financial card transactions) per ''relation'' (posting rule): - there is at least the default account where all transactions are posted by default (relation = DEFAULT - no criteria to be checked against transaction data) - then it is possible to have additional relations and corresponding posting accounts where the relation is a combination of criteria to determine the right posting account, e.g. posting account for cash withdrawal operations only, for one currency, for currency different than Euro. The different relations are ordered by priority (the DEFAULT one has the lowest priority). When an incoming card transaction is processed by our system each relation (posting rules) is evaluated first (from the highest to the lowest priority). As soon as a relation (posting rule) is successfully checked against transaction data then the transaction is posted to the associated account. If no relation (posting rule) is successfully checked then the transaction is posted to the default account.' items: $ref: '#/definitions/AccountRelation' 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 originalCardContractIdentifier: $ref: '#/definitions/CardContractIdentifier' changedCardContractIdentifier: $ref: '#/definitions/CardContractIdentifier' title: CreateConsumerContractResponse.CardContract CustomerAttributes: type: object properties: lastName: type: string firstName: type: string birthdate: type: string format: date-time zipCode: type: string streetName: type: string buildingNumber: type: string InsuranceEvent: type: object properties: insuranceEventCode: type: string description: Insurance event code insuranceEventDate: type: string format: date-time description: Date of insurance event insuranceEventDescription: type: string description: Description of the insurance event title: InsuranceEvent CreateAddOnSubscriptionRequest: type: object required: - addonReference - serviceTypeReference properties: addonReference: type: string description: Reference of the add-on subscriptionToReplaceAddonReference: description: Processing parameter (old add-on reference) for replacing the add-on subscription for new one type: string 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: Reference of the type of add-on service. accountIdentifier: description: 'The accountNumber of the Account for which to apply the add-on. *One of cardContractIdentifier/ accountIdentifier must be provided.' allOf: - $ref: '#/definitions/AccountIdentifier' cardContractIdentifier: description: 'The reference of the CardContract for which to apply the add-on. *One of cardContractIdentifier/ accountIdentifier must be provided.' allOf: - $ref: '#/definitions/CardContractIdentifier' parameters: type: array description: List of add-on service parameters items: $ref: '#/definitions/CreateAddOnSubscriptionRequestAddOnParameter' title: CreateAddOnSubscriptionRequest HierarchyOperationStatus: type: object properties: paymentsBlocking: type: boolean description: Indicates if the online payments are blocked for the account hierarchy (true) or not (false).By default, value is false. reimbursementsBlocking: type: boolean description: Indicates if the online reimbursements are blocked for the account hierarchy (true) or not (false).By default, value is false. authorizationsBlocking: type: boolean description: Indicates if the authorizations are blocked for the account hierarchy (true) or not (false).By default, value is false. statusDate: type: string format: date-time description: Date of the last change. title: HierarchyOperationStatus 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. If not provided and required then the default sending mode is retrieved from product configuration.' properties: sendingMode: type: string example: Normal description: 'The issuer must provide the sending mode if a PIN mailer is requested. Example: Normal, Urgent, Ultra Urgent' skipPinMailerOrderGeneration: type: boolean description: 'If this field is true, the PIN mailer will be not generated. If 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 When the customDeliveryAddress is provided, the field must also be provided.' customDeliveryAddress: description: 'Refer to Order.customDeliveryAddress. The customDeliveryAddressee must also be provided when the field is provided.' allOf: - $ref: '#/definitions/CreateAddressRequestMailAddress' title: CreateConsumerContractRequest.PinMailerOrder ApiResponseEntityListAccount: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: type: array description: Response data items: $ref: '#/definitions/Account' description: Issuer response entity title: ApiResponseEntityListAccount SearchContractRequest: type: object properties: iban: type: string description: 'All the accounts with the provided IBAN (exact matching) are selected to retrieve contracts. Refer to Account.iban' retrievePreviousCards: type: boolean default: false description: If true, all cards of the card contract will be retrieved in cardContracts.cards else only the latest card issued (by PAN) in card contract will be available in response (only used when embed attribute cardContracts.cards is requested) accountIdentifier: description: Refer to Account.accountIdentifier allOf: - $ref: '#/definitions/AccountIdentifier' accountMembershipNumber1: type: string accountMembershipNumber2: type: string partnerExternalReference: type: string customerAttributes: $ref: '#/definitions/CustomerAttributes' customerIdentifier: $ref: '#/definitions/CustomerIdentifier' cardContractIdentifier: $ref: '#/definitions/CardContractIdentifier' cardIdentifier: $ref: '#/definitions/CardIdentifier' pan: type: string retrieveParentAccount: type: boolean default: false retrieveParentChildAccounts: type: boolean default: false phoneticSearch: type: boolean default: 'false' phoneticAlgorithm: type: array items: type: string title: SearchContractRequest MultiCard: type: object properties: cardId: type: string description: Card ID cardIdentifier: description: Unique identifier of the card allOf: - $ref: '#/definitions/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 AdvertisementFlags: type: object properties: general: type: boolean description: 'General advertisement flag. By default, value is false. If this flag is false, other flags are ignored (email, letter, phone, statement, sms flags).' email: type: boolean description: Indicates if the email advertisement is enabled (true) or not (false). By default, value is false. letter: type: boolean description: Indicates if the letter advertisement is enabled (true) or not (false). By default, value is false. phone: type: boolean description: Indicates if the phone advertisement is enabled (true) or not (false). By default, value is false. statement: type: boolean description: Indicates if the statement advertisement is enabled (true) or not (false). By default, value is false. sms: type: boolean description: Indicates if the sms advertisement is enabled (true) or not (false). By default, value is false. description: Specify possible channels used to provide advertisements title: AdvertisementFlags RemoveAddOnSubscriptionRequest: type: object required: - addonReference - serviceTypeReference properties: addonReference: type: string description: Reference of the add-on. serviceTypeReference: type: string description: Reference of the type of add-on service. accountIdentifier: description: 'The reference of the Account for which to unsubscribe from the add-on. *One of cardContractIdentifier/ accountIdentifier must be provided.' allOf: - $ref: '#/definitions/AccountIdentifier' cardContractIdentifier: description: 'The reference of the CardContract for which to unsubscribe from the add-on. *One of cardContractIdentifier/ accountIdentifier must be provided.' allOf: - $ref: '#/definitions/CardContractIdentifier' unsubscriptionDate: type: string description: If provided, this date will be used as the starting date of the addon unsubscription. format: date-time title: RemoveAddOnSubscriptionRequest BrandAdviceResponse: type: object properties: cardIdentifier: description: Unique identifier of the card provided in the request allOf: - $ref: '#/definitions/CardIdentifier' productIdentifier: description: Unique identifier of the product provided in the request allOf: - $ref: '#/definitions/ProductIdentifier' productExtensionReference: type: string description: Reference of the product extension advised to be used for the card creation 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 CardContractModel: type: object properties: reference: type: string description: Reference of a card contract model type: type: string description: 'Type of a card contract model Possible 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 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 The currency in ISO4217 alphabetic format. Example: EUR for Euro' title: Amount ModifyLegitimacyDocumentResponse: type: object properties: legitimacyDocumentType: type: string description: Type of the legitimacy document legitimacyDocumentId: type: string description: Id of the legitimacy document legitimacyDocumentDate: type: string format: date-time description: Date of the legitimacy document legitimacyDocumentExpiryDate: type: string format: date-time description: Expiry date of the legitimacy document legitimated: type: boolean description: Indicates if the document is legitimated title: ModifyLegitimacyDocumentResponse HierarchyOperationStatusHistory: type: object properties: paymentsBlocking: type: boolean description: Indicates if the online payments are blocked for the account hierarchy (true) or not (false).By default, value is false. reimbursementsBlocking: type: boolean description: Indicates if the online reimbursements are blocked for the account hierarchy (true) or not (false).By default, value is false. authorizationsBlocking: type: boolean description: Indicates if the authorizations are blocked for the account hierarchy (true) or not (false).By default, value is false. statusDate: type: string format: date-time description: Date of the change. blockingReason: type: string description: Reason why the operations are blocked. comment: type: string description: Comment for blocking operations Free text. title: HierarchyOperationStatusHistory ApiResponseEntityBrandAdviceConfig: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/BrandAdviceConfigResponse' description: Issuer response entity title: ApiResponseEntityBrandAdviceConfig Contract: type: object properties: issuerId: type: string description: Issuer identifier (unique per platform) contractIdentifier: description: Identification of the contract either by Issuer contract external reference or by contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' advertisementFlags: allOf: - $ref: '#/definitions/AdvertisementFlags' description: 'Specify possible channels used to provide advertisements _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' issuerBranchCode: type: string description: Code of the branch which owns the contract. By default, value is NO_BRANCH. cardReleaseOrder: type: string description: 'Used for physical cards only and when the contract is created to know how to issue card orders towards embosser Possible values are: - IMMEDIATE: As soon as the contract is in awaiting signature, the card order is released by our system (send to embosser) - AUTOMATIC: As soon as the contract is signed, the card order is released by our system (send to embosser)' closingComment: type: string description: 'Comment associated with the contract closing action (optional) Free Text' closingDate: type: string format: date-time description: Closing date of the contract (present only in case of contract is already closed or contract closing is scheduled) closingReason: type: string description: 'Indicates the reason for closing the contract (present only in case of contract is already closed or contract closing is scheduled) Free text.' closureDelayType: type: string description: "The closing type of the contract (present only in case of contract is already closed or contract closing is scheduled)\nThe closing type can be: \nIMMEDIATE (at current date)\nSCHEDULED (at current date or at future date)\nSCHEDULED_EXP_DATE (at expiry date of the principal card)" enum: - IMMEDIATE - SCHEDULED - SCHEDULED_EXP_DATE dataAnalysisFlags: allOf: - $ref: '#/definitions/DataAnalysisFlags' description: 'Specify which data analysis flags are enabled (person, paymentTransaction, exchangeThirdParties, etc.) _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' deliveryChannel: allOf: - $ref: '#/definitions/DeliveryChannel' description: 'Specify the channel for letter delivery used for this contract _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' feeReimbursementAtCardContractClosing: type: boolean description: Reimbursement of membership fee at card contract closing is by default retrieved from issuer configuration legitimacyDocuments: type: array description: 'This is the list of legitimacy documents: one document per cardholder, if provided. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/LegitimacyDocument' numberOfFreeCardsMembershipFee: type: integer format: int32 description: Number of cards for which membership fee is not generated (optional) numberOfFreeCardsAccountSetupFee: type: integer format: int32 description: Number of cards for which account setup fee is not generated (optional) numberOfFreeCardsPrimaryCardImpacted: type: boolean default: false description: 'Indicates if the primary card is always the first card to be considered as free and then the additional cards if any will be considered (true) or if only additional cards can be free (false). By default, the value is False. E.g. Number of cards for which membership fee is not generated = 2 If the flag is True, the Primary card and only 1 additional card have no membership fee. If the flag is False, membership fee is generated for the primary card and only 2 additional card have no membership fee.' signatureDate: type: string format: date-time description: Date when the contract was signed (mandatory if the contract is in SIGNED status) specificFields: type: object description: 'List of external data {"label":"value"} separated by a "," related to a consumer 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 status: type: string description: 'Current status of the contract in our system (mandatory) Possible values: AWAITING_SIGNATURE: the contract definition is completed by the issuer, but not signed yet SIGNED: the contract was signed, e.g. by the customer, the issuer after N days (no automatic process in our system) CLOSED:The contract is permanently closed (final status)' statusDate: type: string format: date-time description: Date when the current status of the contract was set. waiveFee: type: boolean description: 'Indicates if contract related fees are waived (true) or not (false) during contract life (by default, value is false). This parameter is applied to the full contract and is used to waive all account setup and membership fees related to cards within the contract : membership fee (normal, pro-rata, reimbursement, turnover reimbursement) and account setup fees (normal, pro-rata). This parameter can be modified later.' accountIdentifiers: type: array description: 'List of all accounts (identifiers only) belonging to the account hierarchy of this contract. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/AccountIdentifier' accounts: type: array description: 'List of all accounts (with account data) belonging to the account hierarchy of this contract. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/Account' cardContractIdentifiers: type: array description: 'List of all cardContracts (identifiers only) belonging to this contract. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/CardContractIdentifier' cardContracts: type: array description: 'List of all cardContracts (with cardContract data) belonging to this contract. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/CardContract' contractOwnerIdentifier: description: Identifier of the contract owner allOf: - $ref: '#/definitions/CustomerIdentifier' contractCustomerIdentifiers: type: array description: 'List of all customers (identifiers only) belonging to this contract as contract owner, account owner, account guarantor, or cardholder. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/CustomerIdentifier' contractCustomers: type: array description: 'List of all customers (with customer data) belonging to this contract as contract owner, account owner, account guarantor, or cardholder. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/Customer' productIdentifier: description: Identifier of the product which the contract is based on allOf: - $ref: '#/definitions/ProductIdentifier' rootAccountIdentifier: description: Identifier of the root account (in the account hierarchy) linked to this contract allOf: - $ref: '#/definitions/AccountIdentifier' contractFees: type: array description: 'Selected Account setup fee and Membership fee models for the accounts. _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._ ' items: $ref: '#/definitions/ContractFee' membershipFeeAnniversaryDate: type: string format: date-time description: Next anniversary date of the membership fee (optional) used for the principal card and for the cards whose fees depend on the principal card. It can be changed when the fee frequency is Yearly originalContractIdentifier: description: Identifier of the original contract in case of Product Change allOf: - $ref: '#/definitions/ContractIdentifier' changedContractIdentifier: description: Identifier of the new contract in case of Product Change allOf: - $ref: '#/definitions/ContractIdentifier' contractClosedByProductChange: description: Information on the product change that closed this contract allOf: - $ref: '#/definitions/ProductChangeInformation' contractCreatedFromProductChange: description: Information on the product change that created this contract allOf: - $ref: '#/definitions/ProductChangeInformation' coBrander: type: string description: coBrander associated to a consumer contract. This information is relevant when a product is shared by several cobranders. It is provided by the issuer at its convenience (Cobranders being managed by the issuer). This field is stored in our system as informational data at contract level and is populated at each account of the account hierarchy. addonSubscriptions: type: array description: 'List of add-on service subscriptions for contract''s accounts or card contracts _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/AddOnSubscription' partnerContractExternalReference: type: string description: Partner external identifier of the contract given by the issuer description: Consumer contract entity title: Contract SwitchPrincipalCardResponseContract: type: object properties: contractIdentifier: $ref: '#/definitions/ContractIdentifier' contractOwnerIdentifier: description: new owner of the contract allOf: - $ref: '#/definitions/CustomerIdentifier' cardContracts: type: array items: $ref: '#/definitions/SwitchPrincipalCardResponseCardContract' title: SwitchPrincipalCardResponseContract CancelProductChangeResponseOriginalContract: type: object properties: contractIdentifier: description: Identification of the contract either by the Issuer contract external reference or the Contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' productIdentifier: description: Original product of the product change identified either by the Issuer Product External Reference or the Product Reference. allOf: - $ref: '#/definitions/ProductIdentifier' closingDate: type: string format: date-time description: Closing date of the original contractE.g. in case of cancellation of an already processed product change, no closing date is planned anymore for the original contract accounts: type: array description: Data related to the accounts linked to the original contract items: $ref: '#/definitions/CancelProductChangeResponseOriginalAccount' cardContracts: type: array description: Data related to the card contracts linked to the original contract items: $ref: '#/definitions/CancelProductChangeResponseOriginalCardContract' title: CancelProductChangeResponse.OriginalContract ContactCenterIdentifier: type: object properties: contactCenterReference: type: string description: Contact center dentifier (unique per issuer) title: ContactCenterIdentifier ModifyContractCustomersAddressesResponseCustomer: type: object properties: customerIdentifier: $ref: '#/definitions/CustomerIdentifier' addresses: type: array items: $ref: '#/definitions/ModifyContractCustomersAddressesResponseAddress' title: ModifyContractCustomersAddressesResponse.Customer ReplaceCustomerInContractRequestAddress: type: object required: - addressLabel - addressType properties: addressLabel: type: string description: 'example: MAIN_POSTAL_ADDRESS Refer to Address.addressLabel' addressType: type: string description: 'example: POSTAL_MAIL Refer to Address.addressType' postalAddress: description: Refer to Address.postalAddress allOf: - $ref: '#/definitions/CreateAddressRequestMailAddress' emailAddress: description: Refer to Address.eMail allOf: - $ref: '#/definitions/EmailAddress' phone: description: Refer to Address.phone allOf: - $ref: '#/definitions/CreateAddressRequestPhoneNumber' addressUsages: description: Refer to Address.addressUsages type: array items: $ref: '#/definitions/AddressUsage' mainAddress: type: boolean description: Deprecated issuerAddressExternalReference: type: string description: Refer to Address.issuerAddressExternalReference title: ReplaceCustomerInContractRequest.Address ForceProductChangeResponse: x-wl-sensitive-data: true type: object properties: originalContract: $ref: '#/definitions/OriginalContract' changedContract: $ref: '#/definitions/ChangedContract' productChangeInformation: $ref: '#/definitions/ProductChangeInformation' title: ForceProductChangeResponse 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 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: '#/definitions/ContactCenterIdentifier' postalAddress: description: The postal adress of the contact center allOf: - $ref: '#/definitions/MailAddress' emailAddress: description: The email adress of the contact center allOf: - $ref: '#/definitions/EmailAddress' phone: description: The phone number of the contact center allOf: - $ref: '#/definitions/PhoneNumber' title: ContactCenter 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: '#/definitions/CreateConsumerContractRequestAddOnParameter' title: CreateConsumerContractRequest.AddOnSubscription ApiResponseEntityListContract: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: type: array description: Response data items: $ref: '#/definitions/Contract' description: Issuer response entity title: ApiResponseEntityListContract Contact: type: object properties: issuerId: type: string description: Issuer identifier (unique per platform) name: type: string description: Contact name firstName: type: string description: Contact first name departmentName: type: string description: Contact department name. Free text. sex: type: string description: Sex of the contact description: type: string description: Description of the role in the company (e.g. 'sales manager'). Free text courtesyTitle: type: string description: Title of the contact. Free text contactIdentifier: description: Unique contact identifier allOf: - $ref: '#/definitions/ContactIdentifier' type: type: string description: "Represents the type of contact for customer (person). The possible values are configured per Issuer. \nAn example can be: Power_of_Attorney or Legal_Representative" birthDate: type: string format: date description: Birth date of the contact postalAddress: description: The postal adress of the contact allOf: - $ref: '#/definitions/MailAddress' title: Contact BadRequestResponseMetadata: type: object required: - correlationId - responseDateTime - statusCode - statusMessage properties: correlationId: type: string description: Correlation Identifier responseDateTime: type: string example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ description: Timestamp when response date was generated statusCode: type: integer format: int32 example: 400 description: HTTP status code statusMessage: type: string example: Bad request description: Executed REST API status message title: BadRequestResponseMetadata CardStatusHistory: type: object properties: eventType: type: string description: 'Event type associated to a card status and an event date (mandatory) Example: 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) Example: blocking card, unblocking card, replacement card' reason: type: string description: 'Reason associated to a card status (mandatory) The 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: '#/definitions/CardBlockingInformation' title: CardStatusHistory AddOnServiceParameter: type: object properties: value: type: string description: Value of this add-on service parameter. type: type: string description: Type of this add-on service parameter. optional: type: boolean description: Defines if this add-on service parameter is optional or not. reference: type: string description: Service parameter reference of the add-on title: AddOnServiceParameter ForceProductChangeRequest: type: object required: - cardIdentifier properties: cardIdentifier: description: 'Identification of the permanently blocked card to be transferred into the new contract (if the card has been blocked after a product change request), not in cancelled status, but in the status configured in the target product. ' allOf: - $ref: '#/definitions/CardIdentifier' blockingReason: type: string description: Blocking reason of the new card title: ForceProductChangeRequest ChangedCard: type: object properties: cardIdentifier: description: Identification of the card either by the Issuer card external reference or the card reference. allOf: - $ref: '#/definitions/CardIdentifier' maskedPan: type: string description: Masked Pan expiryDate: description: Expiry Date type: string format: date-time pan: type: string description: Pan (depends on user rights) panReference: type: string description: Reference related to the PAN orders: type: array description: Orders items: $ref: '#/definitions/ChangeProductResponseOrder' panSequenceNumber: type: string description: Pan Sequence Number status: type: string description: 'Current status of the card. Refer to Card.status' title: ChangedCard 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 BadGatewayResponseMetadata: type: object required: - correlationId - responseDateTime - statusCode - statusMessage properties: correlationId: type: string description: Correlation Identifier responseDateTime: type: string example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ description: Timestamp when response date was generated statusCode: type: integer format: int32 example: 502 description: HTTP status code statusMessage: type: string example: Bad Gateway description: Executed REST API status message title: BadGatewayResponseMetadata ExternalVelocityLimit: type: object required: - externalVelocityLimitIdentifier properties: externalVelocityLimitIdentifier: description: Unique reference of the external velocity limit allOf: - $ref: '#/definitions/ExternalVelocityLimitIdentifier' maximumAmount: description: Maximum amount of provided velocity limit (optional) allOf: - $ref: '#/definitions/Amount' minimumAmount: description: Minimum amount of provided velocity limit (optional) allOf: - $ref: '#/definitions/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 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 This 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 This reference is unique per issuer and may be used to carry out research and find information.' title: ContractIdentifier ChangedAccount: type: object properties: accountIdentifier: description: Identification of the account either by the Issuer account external reference or the account reference. allOf: - $ref: '#/definitions/AccountIdentifier' root: type: boolean description: Indicate whether this account is the root account or not. accountOwnerIdentifier: description: account owner identifier allOf: - $ref: '#/definitions/CustomerIdentifier' accountGuarantorIdentifier: description: account guarantor identifier allOf: - $ref: '#/definitions/CustomerIdentifier' status: type: string description: 'Current status of the account. Refer to Account.status' originalAccountIdentifier: description: Identification of the new account either by the Issuer account external reference or the account reference. allOf: - $ref: '#/definitions/AccountIdentifier' title: ChangedAccount ForbiddenResponseMetadata: type: object required: - correlationId - responseDateTime - statusCode - statusMessage properties: correlationId: type: string description: Correlation Identifier responseDateTime: type: string example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ description: Timestamp when response date was generated statusCode: type: integer format: int32 example: 403 description: HTTP status code statusMessage: type: string example: Forbidden description: Executed REST API status message title: ForbiddenResponseMetadata CreateConsumerContractResponseCustomer: type: object description: Information related to all persons associated to the contract (contract holder, account owner, card holder) required: - customerIdentifier - lastName - firstName - addresses properties: customerIdentifier: description: Identification of the customer either by Issuer customer external reference or by customer reference. allOf: - $ref: '#/definitions/CustomerIdentifier' courtesyTitle: type: string description: Refer to Customer.courtesyTitle lastName: type: string description: Refer to Customer.lastName firstName: type: string description: Refer to Customer.firstName addresses: type: array description: Information for each address of the customer items: $ref: '#/definitions/CreateConsumerContractResponseAddress' contacts: type: array description: List of contacts of the customer items: $ref: '#/definitions/CreateConsumerContractResponseContact' title: CreateConsumerContractResponse.Customer 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. If 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. If provided and not allowed then an error is generated. Format 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: '#/definitions/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: '#/definitions/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: '#/definitions/CreateConsumerContractRequestCardOrder' pinMailerOrder: $ref: '#/definitions/CreateConsumerContractRequestPinMailerOrder' tanMailerOrder: $ref: '#/definitions/CreateConsumerContractRequestTanMailerOrder' encryptedPin: $ref: '#/definitions/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: '#/definitions/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 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). 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 CreateConsumerContractRequestAddCardsAccounts: type: object description: With the contract creation request it is possible to provide data for one additional card only (it can be e.g. a single card, a twin card), not configured in the product but in a product extension. required: - accounts - cardContracts - 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). accounts: type: array description: 'The issuer provides data for each account depending on the product extension. E.g. if the product extension contains 1 card account then data for 1 account has to be provided.' items: $ref: '#/definitions/CreateConsumerContractRequestAccount' cardContracts: type: array description: 'The issuer provides data for each card contract depending on the product extension. E.g. if the product extension contains 2 cards then data for 2 card contracts has to be provided.' items: $ref: '#/definitions/CreateConsumerContractRequestCardContract' title: CreateConsumerContractRequest.AddCardsAccounts ReplaceCustomerInConsumerContractResponseContract: type: object properties: contractIdentifier: description: Refer to ContractIdentifier.contractIdentifier allOf: - $ref: '#/definitions/ContractIdentifier' contractOwnerIdentifier: description: Refer to Contract.contractOwnerIdentifier allOf: - $ref: '#/definitions/CustomerIdentifier' accounts: type: array description: Information related to the account items: $ref: '#/definitions/ReplaceCustomerInConsumerContractResponseAccount' cardContracts: type: array description: Information for each card contract if any. items: $ref: '#/definitions/ReplaceCustomerInConsumerContractResponseCardContract' title: ReplaceCustomerInConsumerContractResponse.Contract ApiResponseEntityCloseContractResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/CloseContractResponse' description: Issuer response entity title: ApiResponseEntityCloseContractResponse 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) The list of blocking reasons is configurable per issuer (For example, LOST, STOLEN, FRAUDULENT …)' blockingReasonDetail: type: string description: 'Complementary information describing the defined blocking reason Free text' lostStolenDate: type: string format: date-time description: 'Date when the card has been lost or stolen This 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 Free text' lossCountry: type: string description: 'Country of card loss or steal Can be required in certain countries (e.g. french issuers with CB) Free text (not check on the provided value)' lastUsageDate: type: string format: date-time description: ' Date of last use of the card Example: for lost or stolen reason' lastUsagePlace: type: string description: 'Last place where the card has been used Example: for lost or stolen reason' lossCircumstances: type: string description: 'Description of the circumstances of the card loss Free text' lossReportedBy: type: string description: 'Person who has reported the card loss Free text' lossReportedVia: type: string description: 'How was reported the loss (channel) Free text' fraudCode: type: string description: 'Fraud code can be used in the context of dispute management. Fraud code (free text) is provided in case of Fraud for Fraud declaration to the schemes (VISA, MasterCard). The value must be a value expected by the schemes.' contactData: type: string description: 'Indicates contact data (usually phone number) Free 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. For 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. Free text' comment: type: string description: 'Comment associated with the card blocking action Free 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 Relevant if a scheduled permanent blocking is requested at the same time as an immediate temporary card blocking. Permanent 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 ChangeProductResponseOrder: type: object properties: orderIdentifier: description: Identification of the order either by the Issuer order external reference or the order reference. allOf: - $ref: '#/definitions/OrderIdentifier' orderType: type: string description: Order type currentInternalStatus: type: string description: 'Current status of the order. Refer to Order.currentInternalStatus' title: Order ApiResponseEntityModifyLegitimacyDocumentResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/ModifyLegitimacyDocumentResponse' description: Issuer response entity title: ApiResponseEntityModifyLegitimacyDocumentResponse InsuranceContractIdentifier: type: object description: 'The insurance package which is linked to this contract ' properties: insurancePackageReference: type: string description: Reference of the insurance contract title: InsuranceContractIdentifier 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 ModifyLegitimacyDocumentRequest: type: object properties: legitimacyDocumentType: type: string description: 'Type of the legitimacy document (example: passport) to be modified' legitimacyDocumentId: type: string description: 'Id of the legitimacy document (example: the number of the passport) to be modified' legitimacyDocumentDate: type: string format: date-time description: Date of the legitimacy document to be modified legitimacyDocumentExpiryDate: type: string format: date-time description: Expiry date of the legitimacy document to be modified legitimated: type: boolean description: Indicates if the document is legitimated. Can be modified title: ModifyLegitimacyDocumentRequest ModifyContractRequest: type: object x-wl-patch-request: true properties: advertisementFlags: description: Advertisement channels can be updated. allOf: - $ref: '#/definitions/AdvertisementFlags' issuerBranchCode: type: string description: Issuer branch code to be modified dataAnalysisFlags: description: Data analysis flags to update allOf: - $ref: '#/definitions/DataAnalysisFlags' deliveryChannel: description: Specify the channel for letter delivery to update allOf: - $ref: '#/definitions/DeliveryChannel' feeReimbursementAtCardContractClosing: type: boolean description: Parameter used to specify if the related membership/account setup fees must be partially reimbursed in case of closing contract or suspension. numberOfFreeCardsMembershipFee: type: integer format: int32 description: 'The issuer can provide or modify the number of cards for which membership fee is not generated (free cards). If not provided, the default value will be used if defined at product level.' numberOfFreeCardsAccountSetupFee: type: integer format: int32 description: 'The issuer can provide or modify the number of cards for which account setup fee is not generated (free cards). If not provided, the default value will be used if defined at product level.' numberOfFreeCardsPrimaryCardImpacted: type: boolean default: false description: "The issuer can indicate if the primary card is always the first card to be considered as free and then the additional cards if any will be considered (true) or if only additional cards can be free (false)\n\nE.g. Number of cards for which membership fee is not generated = 2\nIf the flag is True, the Primary card and only 1 additional card have no membership fee.\nIf the flag is False, membership fee is generated for the primary card and only 2 additional cards have no membership fee. \n" specificFields: type: object description: "The issuer can update Specific Fields for the consumer contract. \nIt is a list of external data {\"label\":\"value\"} separated by a \",\" related to the contract (pass-thru data) that can be provided by e.g. the issuer for information or for usage by other systems.\nA new data can be added or an existing data can be updated {\"label1\":\"newValue\"} or removed {\"label2\":\"null\"}.\nAny existing data that is not present in this list is not updated in the contract.\nThose provided data have no impact on our system business processes." additionalProperties: type: string waiveFee: type: boolean description: whether contract fees (membership and account setup) are both waived during contract fee calculation (at contract creation, anniversary date, etc) membershipFeeAnniversaryDate: type: string format: date-time description: Anniversary date of the membership fee can be changed when the fee frequency is Yearly partnerContractExternalReference: type: string description: The issuer can provide another external reference for the contract, known as partner contract external reference. If fed, no checking is done on its unicity, it is a free reference title: ModifyContractRequest AddressIdentifier: type: object properties: addressReference: type: string description: Unique internal identifier computed with a specific algorithm (mandatory) issuerAddressExternalReference: type: string description: Unique external identifier provided by the issuer (optional) title: AddressIdentifier ModifyBrandAdviceConfigRequest: type: object x-wl-patch-request: true properties: deviceTokensThreshold: type: integer description: Threshold on the device tokens number merchantTokensThreshold: type: integer description: Threshold on the merchant tokens number profiles: type: array description: The issuer can modify the percentages of one or several profiles items: $ref: '#/definitions/ModifyBrandAdviceConfigProfile' title: ModifyBrandAdviceConfigRequest LoyaltyPoint: type: object properties: unit: type: string description: ' Unit in which the loyalty points are expressed. Defined by Bonus/Loyalty program (can be currency, points...) (optional).' cumulatedValue: type: integer format: int64 description: Total number of loyalty points (optional). title: LoyaltyPoint Links: type: object required: - self properties: self: type: string example: /x/{x}?x=x description: Service method URL next: type: string example: /x/{x}?page[offset]=2 description: URL pagination query parameter next page title: Links SuspendContractRequest: type: object required: - closingReason properties: closingReason: type: string description: 'Reason of the contract suspension. The same reason is used for the blocking of the card, the replacement and the renewal. Therefore, the reason must be configured as card blocking reason / replacement blocking reason / renewal blocking reason for the issuer.' closingComment: type: string description: Comment associated with the contract suspension feeReimbursementAtCardContractClosing: type: boolean description: 'Indicates if the related membership/account setup fees must be partially reimbursed in case of contract suspension. By default, the value is False.' title: SuspendContractRequest ModifyContractResponse: type: object required: - contractIdentifier properties: contractIdentifier: $ref: '#/definitions/ContractIdentifier' title: ModifyContractResponse OriginalAccount: type: object properties: accountIdentifier: description: Identification of the account either by the Issuer account external reference or the account reference. allOf: - $ref: '#/definitions/AccountIdentifier' status: type: string description: 'Current status of the account. Refer to Account.status' changedAccountIdentifier: description: Identification of the new account either by the Issuer account external reference or the account reference. allOf: - $ref: '#/definitions/AccountIdentifier' title: OriginalAccount ChangeProductResponse: x-wl-sensitive-data: true type: object properties: originalContract: $ref: '#/definitions/OriginalContract' changedContract: $ref: '#/definitions/ChangedContract' productChangeInformation: $ref: '#/definitions/ProductChangeInformation' title: ChangeProductResponse ModifyContractCustomersAddressesRequestAddress: type: object required: - addressLabel - addressType properties: addressLabel: type: string example: MAIN_POSTAL_ADDRESS description: Refer to Address.addressLabel addressType: type: string example: POSTAL_MAIL description: Refer to Address.addressType postalAddress: $ref: '#/definitions/ModifyAddressRequestMailAddress' emailAddress: $ref: '#/definitions/EmailAddress' phone: $ref: '#/definitions/ModifyAddressRequestPhoneNumber' addressUsages: type: array items: $ref: '#/definitions/AddressUsage' startDate: type: string description: "If the date is not provided, the current date and time of the user’s request is used.\nIf the provided date corresponds to the current date, the provided time is ignored and replaced by the current time of the system.\nIf the provided date is in the future (at least current date +1), provided date and time are used only if the LABEL of the address is already existing for the customer. In case the time is not provided, the time is set up to the start of the day (e.g. ‘T00:00:00’)\nIn all cases, if the address is created for the first time for a given LABEL, both date and time of the system are used and the address is immediately active. \nFor generic definition, refer to Address.startDate." format: date-time invalid: type: boolean default: false description: 'The issuer can: - either invalidate the address of all members of the contract by setting this flag to True and providing only the addressLabel and the addressType (limited to address type as postalAddress in this release) - or validate the address of all members of the contract by setting this flag to False and providing the addressLabel, the addressType and the valid Address (limited to address type as postalAddress in this release)' title: ModifyContractCustomersAddressesRequest.Address ApiResponseEntityCancelContractClosingResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/CancelContractClosingResponse' description: Issuer response entity title: ApiResponseEntityCancelContractClosingResponse ApiResponseEntitySuspendContractResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/SuspendContractResponse' description: Issuer response entity title: ApiResponseEntitySuspendContractResponse CreateConsumerContractRequest: type: object required: - contract properties: customers: type: array description: 'The issuer has to provide all new customers (as person) which don''t already exist in our system in a dedicated list (customers). For each new customer, the issuer : - can provide an unique external 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 - 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' items: $ref: '#/definitions/CreateConsumerContractRequestCustomer' contract: $ref: '#/definitions/CreateConsumerContractRequestContract' addCardsAccounts: description: With the contract creation request it is possible to provide data for one additional card only (it can be e.g. a single card, a twin card), not configured in the product but in a product extension.. allOf: - $ref: '#/definitions/CreateConsumerContractRequestAddCardsAccounts' title: CreateConsumerContractRequest UnauthorizedResponseMetadata: type: object required: - correlationId - responseDateTime - statusCode - statusMessage properties: correlationId: type: string description: Correlation Identifier responseDateTime: type: string example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ description: Timestamp when response date was generated statusCode: type: integer format: int32 example: 401 description: HTTP status code statusMessage: type: string example: Unauthorized description: Executed REST API status message title: UnauthorizedResponseMetadata ApiResponseEntityAddCardsAccountsResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/AddCardsAccountsResponse' description: Issuer response entity title: ApiResponseEntityAddCardsAccountsResponse CreateConsumerContractResponseContract: type: object required: - contractIdentifier - status - creationDate - productIdentifier - contractOwnerIdentifier - accounts properties: contractIdentifier: description: Identification of the contract either by Issuer contract external reference or by contract reference. allOf: - $ref: '#/definitions/ContractIdentifier' status: type: string description: 'Current status of the contract Refer to Contract.status' creationDate: type: string format: date-time description: 'This is the contract creation date in our system. Format : yyyy-MM-ddTHH:mm:ssZ' signatureDate: type: string format: date-time description: 'This is the date when the contract is set to "signed" status in our system. Format : yyyy-MM-ddTHH:mm:ssZ' issuerBranchCode: type: string description: Refer to Contract.issuerBranchCode cardReleaseOrder: type: string description: The card release order is the one from the request if provided, otherwise is the one retrieved from the product configuration. productIdentifier: description: This is the reference of the product provided and used to instantiate the contract. allOf: - $ref: '#/definitions/ProductIdentifier' contractOwnerIdentifier: description: Identification of the contract owner either by Issuer customer external reference or by customer reference. allOf: - $ref: '#/definitions/CustomerIdentifier' accounts: type: array description: Information related to the accounts (at least the root account). items: $ref: '#/definitions/CreateConsumerContractResponseAccount' cardContracts: type: array items: $ref: '#/definitions/CreateConsumerContractResponseCardContract' title: CreateConsumerContractResponse.Contract Address: type: object required: - addressLabel - addressType properties: issuerId: type: string description: Issuer identifier (unique per platform) addressIdentifier: description: Unique identifier of the address. See the AddressIdentifier's datatype for a detail description allOf: - $ref: '#/definitions/AddressIdentifier' addressVersionIdentifier: allOf: - $ref: '#/definitions/AddressVersionIdentifier' addressLabel: type: string example: MAIN_POSTAL_ADDRESS description: "example: MAIN_POSTAL_ADDRESS Indicate the class of the address amongst a list of possible values such as MAIN_POSTAL_ADDRESS, SECOND_POSTAL_ADDRESS, HOME_PHONE_NUMBER, PRIVATE_MOBILE_PHONE, PERSONAL_EMAIL. This list of values is shared between WL and the issuer during issuer configuration. \n Every label corresponds to a unique type of address. A customer (person) has at least one MAIN_POSTAL_ADDRESS (mandatory) and a company has at least one HEAD_OFFICE." addressType: type: string example: POSTAL_MAIL description: The type of an address is POSTAL_MAIL, PHONE or E_MAIL enum: - PHONE - POSTAL_MAIL - E_MAIL postalAddress: description: "Customer Postal Address. This field is mandatory only if AddressType is POSTAL_MAIL. \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." allOf: - $ref: '#/definitions/MailAddress' emailAddress: description: Customer Email. This field is mandatory only if AddressType is E_MAIL. See the EmailAddress' datatype for the detail list of the attributes. allOf: - $ref: '#/definitions/EmailAddress' phone: description: Customer Phone details. This field is mandatory only if AddressType is PHONE. See the PhoneNumber's datatype for the detail list of the attributes. allOf: - $ref: '#/definitions/PhoneNumber' addressUsages: type: array description: 'List of the usages linked to the address if any exists. See the AddressUsage''s datatype for the detail list of the attributes (optional) _Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._' items: $ref: '#/definitions/AddressUsage' status: type: string description: Status of the address (ACTIVE or INACTIVE). If value is not provided, by default 'ACTIVE' statusDate: type: string description: 'If the address is INACTIVE, the date corresponds to the inactivation date. If the address is ACTIVE, the date corresponds to the last activation date.' format: date-time startDate: type: string description: Date when the address starts to be active format: date-time endDate: type: string description: 'This attribute represents : • in case of a permanent address : the last date the address has been active. This information is computed based on the next future address start date if any exists else this attribute is empty. • in case of a temporary address : the end date where this address is active. This end date is mandatory when a temporary address is created.' format: date-time invalid: type: boolean description: "Indicates if an address is invalid (by default false).\nThis feature is currently only accurate for the mail address and apply only on the current permanent address.\nIn case a postal address is invalid, this address cannot be used anymore for letters, cards, pin mailers, statement sending. \nThis feature is active only depending on an issuer configuration. " default: false temporary: type: boolean description: 'indicates if the address is a temporary one (by default ''false''). In case of a temporary address, the end date is mandatory.' default: false title: Address RefundFeeOnDemandResponse: type: object properties: cardContractIdentifier: description: Identification of the card contract either by Issuer card contract external reference or by card contract reference. allOf: - $ref: '#/definitions/CardContractIdentifier' feeType: type: string description: The fee type provided in the request refundAmount: type: string description: The pro rata refund amount calculated by our system for unused period title: RefundFeeOnDemandResponse RefundFeeOnDemandRequest: type: object required: - cardContractIdentifier - feeType properties: cardContractIdentifier: description: Identification of the card contract either by Issuer card contract external reference or by card contract reference. allOf: - $ref: '#/definitions/CardContractIdentifier' feeType: type: string description: 'The fee type should be provided for which refund needs to triggered. Acceptable values: ACCOUNT_SETUP_FEE; MEMBERSHIP_FEE' title: RefundFeeOnDemandRequest NotFoundResponseMetadata: type: object required: - correlationId - responseDateTime - statusCode - statusMessage properties: correlationId: type: string description: Correlation Identifier responseDateTime: type: string example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ description: Timestamp when response date was generated statusCode: type: integer format: int32 example: 404 description: HTTP status code statusMessage: type: string example: Not found description: Executed REST API status message title: NotFoundResponseMetadata ResponseMetadata: type: object required: - correlationId - responseDateTime - statusCode - statusMessage properties: correlationId: type: string description: Correlation Identifier links: description: Metadata Links allOf: - $ref: '#/definitions/Links' statusMessage: type: string example: Executed successfully description: Executed REST API status message statusCode: type: integer format: int32 example: 200 description: HTTP status code responseDateTime: type: string example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ description: Timestamp when response date was generated timeTakenMs: type: integer format: int64 example: 12 description: Wall clock time required from service to generate the response title: ResponseMetadata 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. If not provided and required then the default sending mode is retrieved from product configuration.' properties: sendingMode: type: string example: Normal description: 'The issuer must provide the sending mode if a TAN mailer is requested. Example: Normal, Urgent, Ultra Urgent' skipTanMailerOrderGeneration: type: boolean description: 'If this field is true, the TAN mailer will not be generated. If 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: '#/definitions/CreateAddressRequestPhoneNumber' title: CreateConsumerContractRequest.TanMailerOrder CreateConsumerContractRequestAddress: type: object required: - addressLabel - addressType properties: addressLabel: type: string example: MAIN_POSTAL_ADDRESS description: Refer to Address.addressLabel addressType: type: string example: POSTAL_MAIL description: Refer to Address.addressType postalAddress: $ref: '#/definitions/CreateAddressRequestMailAddress' emailAddress: $ref: '#/definitions/EmailAddress' phone: $ref: '#/definitions/CreateAddressRequestPhoneNumber' addressUsages: type: array items: $ref: '#/definitions/CreateConsumerContractRequestAddressUsage' issuerAddressExternalReference: type: string description: Refer to AddressIdentifier.issuerAddressExternalReference title: CreateConsumerContractRequest.Address 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: '#/definitions/AccountIdentifier' title: AccountRelation OrderStatusHistory: type: object properties: type: type: string description: 'Type of the history order status (mandatory) Possible 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) The 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 ModifyAddressRequestMailAddress: 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: ModifyAddressRequest.MailAddress LegitimacyDocument: type: object properties: legitimacyDocumentType: type: string description: 'Type of the legitimacy document (example: passport, identity card, etc.)' legitimacyDocumentId: type: string description: 'Id of the legitimacy document (example: the number of the passport)' legitimacyDocumentDate: type: string format: date-time description: Delivery date of the legitimacy document legitimacyDocumentExpiryDate: type: string format: date-time description: Expiry date of the legitimacy document legitimated: type: boolean description: "Indicates if the document is provided for legitimacy (true) or not (false). \nBy default, value is false." customerIdentifier: description: Identifies the owner of this document. allOf: - $ref: '#/definitions/CustomerIdentifier' description: Legitimacy document information title: LegitimacyDocument AdviceProductExtensionResponse: type: object required: - productIdentifier - productExtensionIdentifier properties: productIdentifier: description: Unique identifier of the product provided in the request allOf: - $ref: '#/definitions/ProductIdentifier' productExtensionIdentifier: description: Identifier of the product extension advised for the card creation allOf: - $ref: '#/definitions/ProductExtensionIdentifier' title: AdviceProductExtensionResponse ApiResponseEntityAdviceProductExtensionResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/AdviceProductExtensionResponse' description: Issuer response entity title: ApiResponseEntityAdviceProductExtensionResponse 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 CreateConsumerContractResponseContact: type: object properties: name: type: string description: Refer to Contact.name firstName: type: string description: Refer to Contact.firstName type: type: string description: Refer to Contact.type contactReference: type: string description: Refer to Contact.contactReference title: CreateConsumerContractResponse.Contact ContractFee: type: object properties: accountIdentifier: description: Contract fees related account identifier allOf: - $ref: '#/definitions/AccountIdentifier' selectedModels: type: array description: Fee Model used for the contract (mandatory, Account setup fee and/or Membership fee models). items: $ref: '#/definitions/ContractModel' membershipFeeAnniversaryDate: description: Next anniversary date of the membership fee (optional) for the account type: string format: date-time postingAccountForMembershipFee: description: 'For a consumer contract, indicates if the membership fees have to be posted to card accounts or to the root account as default value for the contract. Possible values are : ROOT_ACCOUNT, CARD_ACCOUNT.For a corporate contract, indicates if the membership fees have to be posted to employee card accounts, interemdiate entity account or to the root (usually paid by the company) as default value for the contract. Possible values are : ROOT_ACCOUNT, CARD_ACCOUNT, ENTITY_ACCOUNT.' type: string postingAccountForAccountSetupFee: description: 'For a consumer contract, indicates if the account setup fees have to be posted to card accounts or to the root account as default value for the contract. Possible values are : ROOT_ACCOUNT, CARD_ACCOUNT.For a corporate contract, indicates if the account setup fees have to be posted to employee card accounts, interemdiate entity account or to the root (usually paid by the company) as default value for the contract. Possible values are : ROOT_ACCOUNT, CARD_ACCOUNT, ENTITY_ACCOUNT.' type: string membershipFeePromotionalPeriod: description: 'Membership fee promotional period Indicates 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. If 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: ContractFee ApiResponseEntityReplaceCustomerInConsumerContractResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/ReplaceCustomerInConsumerContractResponse' description: Issuer response entity title: ApiResponseEntityReplaceCustomerInConsumerContractResponse CreateConsumerContractResponseCard: type: object required: - cardIdentifier properties: cardIdentifier: description: Identification of the card either by Issuer card external reference or by card reference. allOf: - $ref: '#/definitions/CardIdentifier' pan: type: string description: The PAN is returned only if the user is allowed to see the clear PAN.Refer to Card.pan maskedPan: type: string description: The masked PAN is always returned.Refer to Card.maskedPan expiryDate: type: string description: Refer to Card.expiryDate panSequenceNumber: type: string description: Refer to Card.panSequenceNumber status: type: string description: 'Current status of the card Refer to Card.status' externalStatus: type: string description: 'External status of the card Possible values are: - IN_PROGRESS (it implies the card has not registered in all the WL systems) - CREATED (it implies the card is registered in all the WL systems and ready for use) - ERROR (the synchronization process between WL systems is failed)' orders: type: array items: $ref: '#/definitions/CreateConsumerContractResponseOrder' panReference: type: string description: 'This reference is generated by our system from the PAN value. All cards with same PAN have the same panReference in our system. E.g. Issuers can store this PAN reference instead of the PAN and can request to e.g. block all cards having this PAN reference. Refer to the resource Card.panReference for its description.' title: CreateConsumerContractResponse.Card ApiResponseEntityCancelContractSuspensionResponse: x-wl-api-response: true type: object required: - responseMetadata properties: responseMetadata: description: Response metadata allOf: - $ref: '#/definitions/ResponseMetadata' data: description: Response data allOf: - $ref: '#/definitions/CancelContractSuspensionResponse' description: Issuer response entity title: ApiResponseEntityCancelContractSuspensionResponse InsuranceContractPackage: type: object properties: issuerId: type: string description: Issuer identifier of the insurance package insurancePackageIdentifier: description: Unique identifier of the insurance contract package allOf: - $ref: '#/definitions/InsurancePackageIdentifier' title: InsuranceContractPackage CardChange: type: object properties: cardContractIdentifier: description: 'Card contract to which the card change is applied in the new card contract identified either by the Issuer card contract external reference or the Card contract reference. Mandatory if a card change is requested.' allOf: - $ref: '#/definitions/CardContractIdentifier' cardClass: type: string description: Card class for the new card title: CardChange CloseContractResponseCard: type: object required: - panReference properties: cardIdentifier: description: Identification of the card either by Issuer card external reference or by card reference. allOf: - $ref: '#/definitions/CardIdentifier' maskedPan: type: string description: 'example: 445442******0275 Masked Primary Account Number (PAN) of the card ' panReference: type: string description: Refer to Card.panReference expiryDate: type: string description: Expiry date of the card.Format is MMYY (month and year) panSequenceNumber: type: string description: Number identifying cards either with same PAN or with same PAN and same Expiry date (depending of the card product configuration). status: type: string description: "Card status after the contract closing request depending on the closure delay type\n If the closure delay type is IMMEDIATE, the card status can be DEACTIVATED, CANCELLED, BLOCKED (permanently).\n If the closure delay type is SCHEDULED, the card status is not changed." title: CloseContractResponse.Card CreateConsumerContractResponse: x-wl-sensitive-data: true type: object required: - contract - customers properties: contract: description: Information related to the contract. allOf: - $ref: '#/definitions/CreateConsumerContractResponseContract' customers: type: array items: $ref: '#/definitions/CreateConsumerContractResponseCustomer' title: CreateConsumerContractResponse BadRequestErrorApiResponse: type: object required: - responseMetadata properties: responseMetadata: allOf: - $ref: '#/definitions/BadRequestResponseMetadata' title: BadRequestErrorApiResponse securityDefinitions: basic: type: oauth2 flow: application tokenUrl: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/token