OpenAPI Specification
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 Credit Transfer API
contact: {}
host: sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing
basePath: /api/v2
schemes:
- https
tags:
- name: Credit Transfer
description: Credit Transfer Api Controller
paths:
/issuers/{issuerId}/credit-transfers:
post:
x-wl-idempotent: true
tags:
- Credit Transfer
summary: Create a credit transfer instruction
description: "This API enables an outgoing credit transfer instruction to be created by transferring funds towards a beneficiary bank account (in house/external) from a card account credit balance or open-to-buy. \nThe beneficiary bank account IBAN must be provided in input (the Direct Debit IBAN for the card account can be used otherwise if any).\n\nAs a result, the card account is immediately debited of the requested amount.\nThe API returns the unique Credit Transfer EndToEnd Identifier generated by our system and the Credit Transfer status.\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: createCreditTransfer
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: true
schema:
$ref: '#/definitions/CreateCreditTransferRequest'
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/ApiResponseEntityCreateCreditTransferResponse'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/credit-transfers/{endToEndId}:
get:
tags:
- Credit Transfer
summary: Retrieve a credit transfer
description: This API enables an already created credit transfer instruction to be retrieved by providing in input the credit transfer E2E Identifier.
operationId: retrieveCreditTransfer
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: endToEndId
in: path
description: Outgoing credit transfer (OCT) identifier
required: true
type: string
- name: embed
in: query
description: Embedded Fields
required: false
type: array
items:
type: string
enum:
- statusHistory
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/ApiResponseEntityCreditTransfer'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/credit-transfers/{endToEndId}/cancel:
post:
tags:
- Credit Transfer
summary: Cancel credit transfer
description: This API enables a credit transfer instruction to be cancelled by providing in input the credit transfer E2E Identifier.
operationId: cancelCreditTransfer
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: endToEndId
in: path
description: OCT identifier
required: true
type: string
- in: body
name: body
required: false
schema:
$ref: '#/definitions/CancelCreditTransferRequest'
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/ApiResponseEntityCancelCreditTransferResponse'
security:
- basic: []
deprecated: false
definitions:
NotFoundErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/NotFoundResponseMetadata'
title: NotFoundErrorApiResponse
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
CreditTransferIdentifier:
type: object
properties:
endToEndId:
type: string
description: Credit transfer identifier
title: CreditTransferIdentifier
UnauthorizedErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/UnauthorizedResponseMetadata'
title: UnauthorizedResponseMetadata
CreateCreditTransferResponse:
type: object
required:
- directDebitIdentifier
- status
properties:
creditTransferIdentifier:
description: Credit transfer identifier
allOf:
- $ref: '#/definitions/CreditTransferIdentifier'
status:
type: string
description: Credit transfer status
title: CreateCreditTransferResponse
CancelCreditTransferRequest:
type: object
properties:
rejectionReason:
type: string
description: Reason for cancelling the credit transfer (free text)
title: CancelCreditTransferRequest
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
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
ApiResponseEntityCancelCreditTransferResponse:
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/CancelCreditTransferResponse'
description: Issuer response entity
title: ApiResponseEntityCancelCreditTransferResponse
ApiResponseEntityCreateCreditTransferResponse:
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/CreateCreditTransferResponse'
description: Issuer response entity
title: ApiResponseEntityCreateCreditTransferResponse
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
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
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
ForbiddenErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/ForbiddenResponseMetadata'
title: ForbiddenErrorApiResponse
CreditTransfer:
type: object
properties:
issuerId:
type: string
description: Issuer identifier (unique per platform)
creditTransferIdentifier:
description: Unique Credit Transfer Identifier
allOf:
- $ref: '#/definitions/CreditTransferIdentifier'
accountIdentifier:
description: Account identifier linked to the credit transfer
allOf:
- $ref: '#/definitions/AccountIdentifier'
creationDate:
type: string
format: date-time
description: Creation date of the OCT
amount:
description: OCT amount
allOf:
- $ref: '#/definitions/Amount'
statusHistory:
description: 'History of credit transfer changes.
_Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._'
type: array
items:
$ref: '#/definitions/CreditTransferStatusHistory'
ibanOwnerName:
type: string
description: Refer to Account.ibanOwnerName
iban:
type: string
description: Refer to Account.iban
bic:
type: string
description: Refer to Account.bic
sci:
type: string
description: SEPA Creditor Identifier (for SEPA OCT)
dueDate:
type: string
format: date-time
description: New due date if it was recomputed on SPS side (present when due date was recomputed. Valid for SEPA OCT only)
sepaIndicator:
type: boolean
description: Indicates if OCT is SEPA or not
octType:
type: string
description: "F, for OCT types using the credit balance only \nK, for OCT types using the OTB"
remittanceInfo:
type: string
description: "Based on a template defined at product level per product reference \nIf such template is not defined then Remittance information is empty\nIf template is defined for transaction type as F and K (see OCT type) then the field is built based on it. \nIts content depends on the free text and dynamic fields present."
rejectionCode:
type: string
description: Rejection code received throughout OCT processing lifecycle
rejectionReason:
type: string
description: Rejection reason received throughout OCT processing lifecycle
status:
type: string
description: The status of the OCT
eventSource:
type: string
description: Source of an event that triggers an update of OCT
cancellationDate:
type: string
format: date-time
description: The date when the OCT order was canceled
reimbursementTrigger:
type: string
description: "Indicates how the reimbursement is triggered \nThe possible values are :\n- ON_DEMAND\n- CYCLIC (related to monthly cycle closure)\n- DAILY\n- ON_TRANSACTION\n- ON_TERMINATION (on contract termination)"
reimbursementReason:
type: string
description: "Reason why the reimbursement is triggered \nThe list of possible reimbursement reasons is configurable per issuer."
title: CreditTransfer
CreateCreditTransferRequest:
type: object
required:
- accountIdentifier
- amount
- ibanOwnerName
- iban
properties:
accountIdentifier:
description: Card account identifier to be debited.
allOf:
- $ref: '#/definitions/AccountIdentifier'
amount:
description: Amount of credit transfer
allOf:
- $ref: '#/definitions/Amount'
ibanOwnerName:
type: string
description: Refer to Account.ibanOwnerName
bic:
type: string
description: Refer to Account.bic
iban:
type: string
description: Refer to Account.iban
externalOperationCode:
type: string
description: The external operation code of the balance adjustment can be provided.
dueDate:
type: string
format: date-time
description: Due date for OCT. Valid for SEPA OCT only
reimbursementReason:
type: string
description: 'The reason why the reimbursement is triggerred
The list of possible reimbursement reasons is configurable per issuer.'
title: CreateCreditTransferRequest
ApiResponseEntityCreditTransfer:
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/CreditTransfer'
description: Issuer response entity
title: ApiResponseEntityCreditTransfer
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
CancelCreditTransferResponse:
type: object
required:
- creditTransferIdentifier
- status
- cancellationDate
properties:
creditTransferIdentifier:
description: Credit transfer identifier
allOf:
- $ref: '#/definitions/CreditTransferIdentifier'
status:
type: string
description: Credit transfer status
cancellationDate:
type: string
format: date-time
description: The date when the OCT order was canceled
title: CancelCreditTransferResponse
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
BadRequestErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/BadRequestResponseMetadata'
title: BadRequestErrorApiResponse
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
CreditTransferStatusHistory:
type: object
properties:
status:
type: string
description: 'Status of the credit transfer on the particular status date '
statusDate:
type: string
format: date-time
description: Date of the credit transfer status change
username:
type: string
description: Name of the user who requested to create or cancel the credit transfer
origin:
type: string
description: Origin used when the credit tranfer was requested or cancelled.
title: CreditTransferStatusHistory
securityDefinitions:
basic:
type: oauth2
flow: application
tokenUrl: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/token