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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/wordline-card-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: 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 Issuing Card API
contact: {}
servers:
- url: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing/api/v2
tags:
- name: Card
description: Card Api Controller
paths:
/issuers/{issuerId}/cards/block-all:
post:
tags:
- Card
summary: Block all cards with same PAN or same PAN Reference
operationId: blockAllCards
description: "The API is similar to Block a card API but is applied to all cards having the same PAN or same PAN reference.\n\nThe API allows the permanent blocking (immediately or in the future), or temporary blocking, depending on the configured blocking reason, of all cards having the same PAN or same PAN reference.\nCards must be in “CREATED” or “ACTIVE” status. \nThe blocking reason is chosen from the reasons configured beforehand for the issuer.\nIf a card is in \"DEACTIVATED\" status and the blocking reason is temporary, it will be ignored.\n\nIt is also possible to update the following blocking information by this API :\n- When the card is already blocked:\n - Blocking reason among those available for the issuer\n - Blocking detail\n - Lost and stolen date if the blocking reason is LOST or STOLEN\n - Fraud process\n - The flag indicating whether the PIN is compromised\n - Scheduled blocking information : delay or blocking reason if the delay is not yet reached\n\n- When the card is active :\n - Scheduled blocking information : delay or blocking reason if the delay is not yet reached"
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
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/ApiResponseEntityBlockAllCardsResponse'
security:
- basic: []
deprecated: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BlockAllCardsRequest'
required: true
/issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}:
get:
tags:
- Card
summary: Retrieve card by external reference
operationId: retrieveCardByIssuerExtRef
description: 'This API enables card information for a given card identifier to be retrieved.
The response can also be enriched (if specified as embedded fields in input) with additional data such as the status history of the card, the card Contract information, the card order identifiers linked to the card.'
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: issuerCardExternalReference
in: path
description: Issuer Card External Reference
required: true
schema:
type: string
- name: publicKeyIdentifier
in: query
description: Public Key Identifier
required: false
schema:
type: string
- name: embed
in: query
description: Embedded Fields
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- statusHistory
- cardContract
- renewedBy
- renewedFor
- replacementBy
- replacementFor
- cardContract.contactCenters
- orderIdentifiers
- orders
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/ApiResponseEntityCard'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/activate:
post:
tags:
- Card
summary: Activate a card by external reference
operationId: activateCardByIssuerExtRef
description: 'The API allows to activate on demand a card in ''''created'''' status identified by the Issuer Card External Reference or the Card Reference.
The activation reason is chosen among the reasons configured beforehand for the issuer.
As a result, the card is active in 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: issuerCardExternalReference
in: path
description: Issuer Card 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/ApiResponseEntityActivateCardResponse'
security:
- basic: []
deprecated: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ActivateCardRequest'
/issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/block:
post:
tags:
- Card
summary: Block a card by external reference
operationId: blockCardByIssuerExtRef
description: "The API allows blocking a card permanently (immediately or in the future) or temporarily, depending on the configured blocking reason, using the Issuer Card External Reference or the Card Reference.\n\n- The card must be in “Created”, “Active”, or “Deactivated” status (“Deactivated” only if a reason for permanent blocking is requested).\n- The blocking reason is chosen among those configured beforehand for the issuer.\n\nExample Use Cases:\n- Use case 1: Card is blocked permanently (e.g., lost, stolen, not delivered, fraudulent activity).\n Result: The card is definitively blocked in our system (final status).\n- Use case 2: Card compromised in Common Point of Purchase (CPP); a permanent block is scheduled, but the cardholder can still use the card for PIN-based transactions.\n Result: The card remains active, and a permanent block is scheduled.\n- Use case 3: Card is blocked temporarily due to fraud suspicion (e.g., by issuer or fraud system).\n Result: The card is temporarily blocked and can be unblocked later.\n\nBlocking Information Updates via API:\n- When the card is already blocked:\n - Blocking reason (among those available for the issuer)\n - Blocking detail\n - Lost and stolen date (if the reason is LOST or STOLEN)\n - Fraud process\n - Flag indicating whether the PIN is compromised\n - Scheduled blocking information (delay or blocking reason if the delay is not yet reached)\n- When the card is active:\n - Scheduled blocking information (delay or blocking reason if the delay is not yet reached)"
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: issuerCardExternalReference
in: path
description: Issuer Card 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/ApiResponseEntityBlockCardResponse'
security:
- basic: []
deprecated: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BlockCardRequest'
/issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/block-and-replace:
post:
x-wl-idempotent: true
x-wl-lra-operation: true
tags:
- Card
summary: Block and replace a card by external reference
operationId: blockAndReplaceCardByIssuerExtRef
description: "The API allows a card identified by the Issuer Card External Reference or the Card Reference to be blocked and replaced.\nThis API regroups Block a card (for card blocking or blocking information update) and Replace a card APIs in a single request.\nAs result, the card is blocked and the new card is created.\nIf any error occurs while card blocking or card replacing, the card is neither blocked nor replaced.\n\nWith this API, it is also possible to block all cards having the same PAN than the card referenced by Issuer Card External Reference or the Card Reference. In this case Block all cards API is called instead Block a card API.\n\nIn case a product change on renewal is planned on the contract of the card to be replaced, the card will not be replaced but the product change will be forced instead. From the replace card request, only blocking reason and embossingName/embossingName2ndLine will be considered : \n- If blocking reason is provided (for temporary blocking only), the new card of the new contract is blocked with this reason\n- If embossingName and/or embossingName2ndLine are provided, they will be applied to the old card and will be transferred to the new card of the new contract.\nIn the request response, information related to the new contract and the product change will be returned.\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: issuerCardExternalReference
in: path
description: Issuer Card 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/ApiResponseEntityBlockAndReplaceCardResponse'
security:
- basic: []
deprecated: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BlockAndReplaceCardRequest'
/issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/card-contract:
get:
tags:
- Card
summary: Retrieve card contract for a card by external reference
operationId: retrieveCardContractForCardByIssuerExtRef
description: "The API enables the card contract information related to a given card to be retrieved.\nThe main input fields are:\n•\tThe issuer ID\n•\tThe card for which the detail is requested: It can be provided by using the card reference or the issuer card external reference. \nIt is also possible to request some additional data by using the embedded fields (such as the list of models linked to the card contract, the account identifiers linked to the card contract, the identifiers and the information of the linked cards).\nIn return, the interface provides the generic information (mainly master data) relevant to the card contract."
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: issuerCardExternalReference
in: path
description: Issuer Card 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:
- selectedModels
- cardIdentifiers
- relatedAccounts
- cards
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/ApiResponseEntityCardContract'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/card-events:
get:
tags:
- Card
summary: Retrieve card event list (e.g. PIN change information) by external reference
operationId: listCardEventsByIssuerExternalRef
description: The API enables the events information related to a given card to be retrieved (e.g. status change such as card blocking/card activation, card issuing for replacement or renewal, PIN change.).
parameters:
- name: issuerId
in: path
description: Issuer ID
required: true
schema:
type: string
- name: issuerCardExternalReference
in: path
description: Issuer Card External Reference
required: true
schema:
type: string
- 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: eventType
in: query
description: 'Type of event to return.
Possible values are :
PINChange, TanMailerOrderIssuing, CardOrderIssuing, PinMailerOrderIssuing, TanMailerOrderExtraction, CardOrderExtraction, PinMailerOrderExtraction, CancelCardOrderIssuing, CancelTanMailerOrderIssuing, CancelPinMailerOrderIssuing, CardActivation, CardIssuing, CardCancellation, CardDeactivation, CardBlocking, CardUnblocking.'
required: false
style: form
explode: true
schema:
type: array
items:
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/ApiResponseEntityListCardEvent'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/deactivate:
post:
tags:
- Card
summary: Deactivate a card by external reference
operationId: deactivateCardByIssuerExtRef
description: 'The API allows an active card, or a temporary blocked card, to be deactivated on demand, by using the Issuer Card External Reference or the Card Reference.
The deactivation reason is chosen from the reasons configured beforehand for the issuer.
As a result, the card is deactivated in our system.
This process is not reversible. New card authorizations are declined. If necessary, a request for a card replacement may be made by the issuer.
This API allows also to cancel a card in “Created” status, e.g., when the card production has failed.'
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: issuerCardExternalReference
in: path
description: Issuer Card 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/ApiResponseEntityDeactivateCardResponse'
security:
- basic: []
deprecated: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeactivateCardRequest'
/issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/new-tan:
post:
x-wl-idempotent: true
tags:
- Card
summary: Create new TAN by external reference
operationId: createTanByIssuerExtRef
description: "For PIN self-selection without a direct bank connection to the card issuing institute - i.e., without online banking access - Worldline offers the variant PIN change with TAN (Trusted Authentication Number). \nThis applies in particular to card programs where the bank is the card issuer for another partner, e.g., TUI or eBay.\nThe API allows to generate a TAN, which is used as a one-time password, printed and sent to cardholder in order to change card pin by e.g. IVR.\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: issuerCardExternalReference
in: path
description: Issuer Card 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/ApiResponseEntityCreateTanResponse'
security:
- basic: []
deprecated: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTanRequest'
req
# --- truncated at 32 KB (326 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wordline/refs/heads/main/openapi/wordline-card-api-openapi.yml