Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/wordline-customer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.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 Customer API
contact: {}
servers:
- url: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing/api/v2
tags:
- name: Customer
description: Customer Api Controller
paths:
/issuers/{issuerId}/customers:
get:
tags:
- Customer
summary: Retrieve list of customer's information
operationId: listCustomers
description: "The \"list customers\" API enables to get a list of customers based on multiple criteria such as First name, Last name, Birth date,.. \n\nFor the search, the API enables exact matches values (partialSearch field set to false) or not (partialSearch set to yes). In the latter case, the search criteria should be a subset of the corresponding value stored in our system ; as an example : if we set \"JOH\" as criteria search for name, then results JOHNNY or \"LISE-JOHN\" for name would match."
parameters:
- name: WL-Correlation-ID
in: header
required: false
schema:
type: string
- name: WL-Origin
in: header
required: false
schema:
type: string
- name: WL-Username
in: header
required: false
schema:
type: string
- name: filter
in: query
description: Filtered Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: issuerId
in: path
description: Issuer ID
required: true
schema:
type: string
- name: lastName
in: query
description: Last name
required: false
schema:
type: string
- name: firstName
in: query
description: First name
required: false
schema:
type: string
- name: phoneticSearch
in: query
description: Indicate if a specific phonetic algorithm must be applied on first name and last name
schema:
type: boolean
default: false
- name: phoneticAlgorithm
in: query
description: The list of possible phonetic algorithms are determined for each issuer (configuration). If the indicator is set to true but no phonetic algorithm is provided then all configured phonetic algorithms are applied for the research.
schema:
type: array
items:
type: string
- name: birthDate
in: query
description: Birthdate
required: false
schema:
type: string
- name: postalAddress.postCode
in: query
description: Post code of the customer's address
required: false
schema:
type: string
- name: postalAddress.townName
in: query
description: Town name of the customer's address
required: false
schema:
type: string
- name: postalAddress.streetName
in: query
description: Street name of the customer's address
required: false
schema:
type: string
- name: postalAddress.buildingNumber
in: query
description: Building number of the customer's address
required: false
schema:
type: string
- name: emailAddress.email
in: query
description: Email the customer
required: false
schema:
type: string
- name: phone.localPhoneNumber
in: query
description: Local phone number of the customer
required: false
schema:
type: string
- name: partialSearch
in: query
description: 'Allow to search on partial values for the following criteria : lastName, firstName, postalAddress.streetName, postalAddress.buildingNumber, postalAddress.postCode, postalAddress.townName, emailAddress.email, phone.localPhoneNumber'
required: false
schema:
type: boolean
default: false
- name: courtesyTitle
in: query
description: Courtesy Title of Person Customer
required: false
schema:
type: string
- name: secondFirstName
in: query
description: Second First Name of Person Customer
required: false
schema:
type: string
- name: partnerExternalReference
in: query
description: External Reference provided by the issuer
required: false
schema:
type: string
- name: employee
in: query
description: Indicating if the Person Customer is an employee of the issuer
required: false
schema:
type: boolean
- name: page
in: query
description: '0'
required: false
schema:
type: integer
format: int32
default: 0
- name: offset
in: query
description: '100'
required: false
schema:
type: integer
format: int32
default: 100
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorApiResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenErrorApiResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorApiResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
content:
application/json:
schema:
$ref: '#/components/schemas/BadGatewayErrorApiResponse'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseEntityListCustomer'
security:
- basic: []
deprecated: false
post:
x-wl-idempotent: true
x-wl-lra-operation: true
x-wl-lra-interface: true
tags:
- Customer
summary: Create a Customer (beta)
operationId: createCustomer
description: "The API allows a new customer (as person) to be created if all the mandatory fields are provided.\nThe main input fields are:\n•\tThe issuer ID\n•\tThe first name of the customer\n•\tThe last name of the customer\n•\tThe default address of the customer : The Main postal address has to be provided because used as default address by all business processes if no address usage is defined.\nThe API returns the customer reference (as person) generated by our system.\nThe response can also be enriched (if specified as embedded fields in input) with additional data such as customer (as person) information, address identifiers linked to the customer, addresses of the customer, contacts of the customer.\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."
parameters:
- name: WL-Correlation-ID
in: header
required: false
schema:
type: string
- name: WL-Origin
in: header
required: false
schema:
type: string
- name: WL-Username
in: header
required: false
schema:
type: string
- name: filter
in: query
description: Filtered Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: issuerId
in: path
description: Issuer ID
required: true
schema:
type: string
- name: embed
in: query
description: Embedded Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- customer
- customer.addressIdentifiers
- customer.addresses
- customer.contacts
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorApiResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenErrorApiResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorApiResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
content:
application/json:
schema:
$ref: '#/components/schemas/BadGatewayErrorApiResponse'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseEntityCreateCustomerResponse'
security:
- basic: []
deprecated: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomerRequest'
/issuers/{issuerId}/customers/external-customers/{issuerCustomerExternalReference}:
get:
tags:
- Customer
summary: Retrieve customer by external reference
operationId: retrieveCustomerByIssuerExtRef
description: 'The "retrieve customer" API allows the user to get customer information from the input parameters:
- Issuer ID
- Customer reference or the issuer customer reference
In addition to the person information, it is also possible to request the list of addresses of the customer and the address usages by using the embedded fields.'
parameters:
- name: WL-Correlation-ID
in: header
required: false
schema:
type: string
- name: WL-Origin
in: header
required: false
schema:
type: string
- name: WL-Username
in: header
required: false
schema:
type: string
- name: filter
in: query
description: Filtered Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: issuerId
in: path
description: Issuer ID
required: true
schema:
type: string
- name: issuerCustomerExternalReference
in: path
description: Issuer Customer External Reference
required: true
schema:
type: string
- name: embed
in: query
description: Embedded Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- addressIdentifiers
- addresses
- contactIdentifiers
- contacts
- addresses.addressUsages
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorApiResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenErrorApiResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorApiResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
content:
application/json:
schema:
$ref: '#/components/schemas/BadGatewayErrorApiResponse'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseEntityCustomer'
security:
- basic: []
deprecated: false
put:
tags:
- Customer
summary: Update customer by external reference
operationId: updateCustomerByIssuerExtRef
description: 'The "update customer" API allows the user to update the attributes of a customer.
To identify the customer, it is needed to provide:
- The issuer ID
- The customer reference (internal or external) for which updates are required
The customer reference can be retrieved by using the "list customers" API.
All the attributes must be given in input even if they remain unchanged. For that, It can be needed to use the "retrieve customer" API to get all the current attributes.'
parameters:
- name: WL-Correlation-ID
in: header
required: false
schema:
type: string
- name: WL-Origin
in: header
required: false
schema:
type: string
- name: WL-Username
in: header
required: false
schema:
type: string
- name: filter
in: query
description: Filtered Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: issuerId
in: path
description: Issuer ID
required: true
schema:
type: string
- name: issuerCustomerExternalReference
in: path
description: Issuer Customer External Reference
required: true
schema:
type: string
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorApiResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenErrorApiResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorApiResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
content:
application/json:
schema:
$ref: '#/components/schemas/BadGatewayErrorApiResponse'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseEntityModifyCustomerResponse'
security:
- basic: []
deprecated: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyCustomerRequest'
patch:
tags:
- Customer
summary: Update customer partially by external reference
operationId: updateCustomerPartiallyByIssuerExtRef
description: "The \"update customer partially\" API allows the user to update the attributes of a customer.\n\nTo identify the customer, it is needed to provide:\n•\tThe issuer ID\n•\tThe customer reference (internal or external) for which updates are required\nThe customer reference can be retrieved by using the \"list customers\" API. \nWith this API, only attributes that need to be updated must be given in input.\n\nIn case the property Contact (list) is provided in input then it will replace the existing list."
parameters:
- name: WL-Correlation-ID
in: header
required: false
schema:
type: string
- name: WL-Origin
in: header
required: false
schema:
type: string
- name: WL-Username
in: header
required: false
schema:
type: string
- name: filter
in: query
description: Filtered Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: issuerId
in: path
description: Issuer ID
required: true
schema:
type: string
- name: issuerCustomerExternalReference
in: path
description: Issuer Customer External Reference
required: true
schema:
type: string
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorApiResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenErrorApiResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorApiResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
content:
application/json:
schema:
$ref: '#/components/schemas/BadGatewayErrorApiResponse'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseEntityModifyCustomerResponse'
security:
- basic: []
deprecated: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyCustomerRequest'
/issuers/{issuerId}/customers/external-customers/{issuerCustomerExternalReference}/customer-history:
get:
tags:
- Customer
summary: Retrieve list of historic updates of a customer by customer external reference (beta)
operationId: listCustomerHistoryByIssuerExtRef
description: "The API allows the customer update history of a customer to be retrieved. \nThe main input fields requested by the API are:\n•\tThe issuer ID\n•\tThe customer for which information is requested : It can be provided by using the customer reference or the issuer customer external reference. \nA start date and an end date can be provided in order to limit the search of the history. \nIn response, the interface provides a list of changes with the effective date of the update."
parameters:
- name: WL-Correlation-ID
in: header
required: false
schema:
type: string
- name: WL-Origin
in: header
required: false
schema:
type: string
- name: WL-Username
in: header
required: false
schema:
type: string
- name: filter
in: query
description: Filtered Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: issuerId
in: path
description: Issuer ID
required: true
schema:
type: string
- name: issuerCustomerExternalReference
in: path
description: Issuer Customer External Reference
required: true
schema:
type: string
- name: periodStartDateTime
in: query
required: false
description: 'Format : yyyy-MM-ddTHH:mm:ssZ'
schema:
type: string
- name: periodEndDateTime
in: query
required: false
description: 'Format : yyyy-MM-ddTHH:mm:ssZ'
schema:
type: string
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorApiResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenErrorApiResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorApiResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
content:
application/json:
schema:
$ref: '#/components/schemas/BadGatewayErrorApiResponse'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseEntityCustomerHistory'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/customers/external-customers/{issuerCustomerExternalReference}/addresses:
get:
tags:
- Customer
summary: List addresses for a customer by external reference
operationId: listAddressesForCustomerByIssuerExtRef
description: "This API enables all the addresses associated with a given customer, identified by his customer reference, to be retrieved. This address could be either a permanent address or a temporary address.\nSeveral address types are managed. Each address can be used for a specific usage (card delivery, statement delivery, contract letter,...). \nAddress usage is associated to a service (card service, account service, dispute service, ..) configured in our system.\nThe API can retrieve only the addresses linked to a specific usage: in this case, all the mandatory 'AddressUsage' attributes must be provided (e.g. serviceCode, AddressUsage).\nIf the showHistory indicator is set to Y then the full history of the addresses and the future addresses are returned. If this indicator is empty (default behavior) or equals to N, then only the last active addresses are returned.\nAddress identifiers, Address attributes and Address usages are displayed in the response."
parameters:
- name: WL-Correlation-ID
in: header
required: false
schema:
type: string
- name: WL-Origin
in: header
required: false
schema:
type: string
- name: WL-Username
in: header
required: false
schema:
type: string
- name: filter
in: query
description: Filtered Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: embed
in: query
description: Embedded Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- addressUsages
- name: issuerId
in: path
description: Issuer ID
required: true
schema:
type: string
- name: issuerCustomerExternalReference
in: path
description: Issuer Customer External Reference
required: true
schema:
type: string
- name: serviceCode
in: query
description: 'The Service for which the address usage is defined : CARD_SERVICE, ACCOUNT_SERVICE. Conditional (must be used with addressUsageName)'
required: false
schema:
type: string
- name: entityReference
in: query
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.'
required: false
schema:
type: string
- name: addressUsageName
in: query
description: The business process for which the address usage is defined such as CARD_DELIVERY, PIN_MAILER_DELIVERY, STATEMENT_DELIVERY.
required: false
schema:
type: string
- name: showHistory
in: query
description: 'If the showHistory indicator is set to ''true'' then the full history of the addresses are returned. If this indicator is empty (default behavior) or equals to ''false'', then only the last active addresses are returned. '
required: false
schema:
type: boolean
default: false
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorApiResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenErrorApiResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorApiResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
content:
application/json:
schema:
$ref: '#/components/schemas/BadGatewayErrorApiResponse'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseEntityListAddress'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/customers/{customerReference}:
get:
tags:
- Customer
summary: Retrieve customer
operationId: retrieveCustomer
description: 'The "retrieve customer" API allows the user to get customer information from the input parameters:
- Issuer ID
- Customer reference or the issuer customer reference
In addition to the person information, it is also possible to request the list of addresses of the customer and the address usages by using the embedded fields.'
parameters:
- name: WL-Correlation-ID
in: header
required: false
schema:
type: string
- name: WL-Origin
in: header
required: false
schema:
type: string
- name: WL-Username
in: header
required: false
schema:
type: string
- name: filter
in: query
description: Filtered Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: issuerId
in: path
description: Issuer ID
required: true
schema:
type: string
- name: customerReference
in: path
description: Customer Reference
required: true
schema:
type: string
- name: embed
in: query
description: Embedded Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- addressIdentifiers
- addresses
- contactIdentifiers
- contacts
- addresses.addressUsages
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestErrorApiResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenErrorApiResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorApiResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
content:
application/json:
schema:
$ref: '#/components/schemas/BadGatewayErrorApiResponse'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseEntityCustomer'
security:
- basic: []
deprecated: false
put:
tags:
- Customer
summary: Update customer
operationId: updateCustomer
description: 'The "update customer" API allows the user to update the attributes of a customer.
To identify the customer, it is needed to provide:
- The issuer ID
- The customer reference (internal or external) for which updates are required
The customer reference can be retrieved by using the "list customers" API.
All the attributes must be given in input even if they remain unchanged. For that, It can be needed to use the "retrieve customer" API
# --- truncated at 32 KB (126 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wordline/refs/heads/main/openapi/wordline-customer-api-openapi.yml