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