Worldline Account - Operation API
Account Operation Api Controller
Account Operation Api Controller
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 Account - Operation API
contact: {}
host: sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing
basePath: /api/v2
schemes:
- https
tags:
- name: Account - Operation
description: Account Operation Api Controller
paths:
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/operations:
get:
tags:
- Account - Operation
summary: List operations for an account by external reference
operationId: listOperationsByAccountIssuerExtRef
description: "The API retrieves the list of operations for a given time period and a given account.\nThe main input fields are:\n•\tThe issuer ID\n•\tThe account for which information is requested: it can be provided by using the account reference or the issuer external account reference,\n•\tA given time period (start date / end date)\nIt is also possible \n- to request the list of operations for all account hierarchy, for a certain PAN only by providing a PAN reference\n- to include internal operations (failed, rejected) in the statements\n- to exclude sub-operations generated during the payment (manual or automatic) / reimbursement apportionment on accounts\n\nOperations can be a scheme transaction or an operation generated internally.\nThe number of operations provided back can be indicated in the page and offset input field.\nThe API returns the most important operation attributes such as: the operation type, the amounts and the operation context. \nFor the full list of operation attributes, the \"Retrieve operation\" API should be used."
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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- name: allAccountHierarchy
in: query
description: Retrieve operations for all account hierarchy (default = only account operations are listed )
required: false
type: boolean
default: false
- name: printOnStatement
in: query
description: 'Boolean parameter to indicate :
- If only operations printed on statement should be returned (boolean = true or not provided)
- Or if manual operations not printed on statement (internal operations such as rejections) should be also returned (boolean = false)'
required: false
type: boolean
default: true
- name: panReference
in: query
description: Reference of the PAN
required: false
type: string
- name: excludeOperationKinds
in: query
description: 'Parameter to filter out sub-operations generated during the payment (manual or automatic)/reimbursement apportionment on accounts Available value : SUBPAYOP (apportionment operation)'
required: false
type: array
items:
type: string
collectionFormat: multi
- name: sort
in: query
description: 'To return the list of operations sorted by posting date / operation id. Available values : asc (for ascending sort) or desc (for descending sort)'
required: false
type: string
- name: startTime
in: query
required: true
type: string
description: 'Format : yyyy-MM-ddTHH:mm:ssZ'
- name: endTime
in: query
required: true
type: string
description: 'Format : yyyy-MM-ddTHH:mm:ssZ'
- name: page
in: query
description: '0'
required: false
type: integer
default: 0
format: int32
- name: offset
in: query
description: '100'
required: false
type: integer
default: 100
format: int32
- name: includeOriginalAccount
in: query
description: 'Parameter to indicate if data related to the original account should be returned : case of a product change or a card reallocation (only for corporate cards).Default value is false.'
required: false
type: boolean
default: false
- name: embed
in: query
description: 'Available values for embed : authorization, addendum (to retrieve lodgingInformation, carRentalInformation, airItineraryInformation) '
required: false
type: array
items:
type: string
enum:
- authorization
- addendum
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/ApiResponseEntityListOperation'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/operations/{operationId}:
get:
tags:
- Account - Operation
summary: Retrieve operation by external reference
operationId: retrieveOperationByAccountIssuerExtRef
description: 'The API retrieves the detail of an operation for an account.
It is also possible to request explicitly the operations linked to the current one by using the embedded field filled with parentOperation.
A parent operation can be: the original operation when the requested operation is a reversal, relative fee operations linked to the current operation, refund/redebit operations for disputed transaction,..
In response, exhaustive information are provided that includes additional amounts if available (cash-back amount, DCC amount, gratuity amount, surcharge amount), exchange rate information,..'
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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- name: operationId
in: path
description: Operation ID
required: true
type: string
- name: embed
in: query
description: 'Available values for embed : parentOperation, authorization, addendum (to retrieve lodgingInformation, carRentalInformation, airItineraryInformation) '
required: false
type: array
items:
type: string
enum:
- parentOperation
- authorization
- addendum
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/ApiResponseEntityOperationDetails'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/post-balance-adjustment-operation:
post:
x-wl-idempotent: true
tags:
- Account - Operation
summary: Post a balance adjustment operation for an account by external reference
operationId: postBalanceAdjustmentOperationByIssuerExtRef
description: 'The API is used to generate a balance adjustment operation on an account.
The input account can be provided by using:
- the account reference
- or the issuer external account reference.
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.'
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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- in: body
name: body
required: true
schema:
$ref: '#/definitions/CreateOperationBalanceAdjustmentRequest'
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/ApiResponseEntityCreateOperationBalanceAdjustmentResponse'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/post-fee-operation:
post:
x-wl-idempotent: true
tags:
- Account - Operation
summary: Post a fee operation for an account by external reference
operationId: postFeeOperationByIssuerExtRef
description: "The API is used to post a fee operation to an account. \nThe fee type is mandatory, and the value must be consistent with the list defined during product definition. \nThis list is shared between WL and the issuer during the project phase.\nAs an input, the account identifier can be provided by using:\n- the account reference generated by WL\n- or the issuer external account reference \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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- in: body
name: body
required: true
schema:
$ref: '#/definitions/CreateOperationFeeRequest'
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/ApiResponseEntityCreateOperationFeeResponse'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/reset-balance:
post:
x-wl-idempotent: true
tags:
- Account - Operation
summary: Reset the balance of an account by external reference
operationId: resetBalanceByIssuerExtRef
description: "The API resets the balance of an account by generating : \n a credit operation (for a debit balance) \n a debit operation (for a credit balance) \n\n As an input, the account identifier can be provided by using: \n the account reference generated by WL \n or the issuer external account reference \n This is relevant only for credit cards. \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."
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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- in: body
name: body
required: true
schema:
$ref: '#/definitions/ResetBalanceRequest'
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/ApiResponseEntityResetBalanceResponse'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/post-payment-operation:
post:
x-wl-idempotent: true
tags:
- Account - Operation
summary: Post a payment operation for an account by external reference
operationId: postPaymentOperationByIssuerExtRef
description: "The API allows a payment operation to an account to be generated and posted.\nA payment operation is used to pay the due amount. \nIf the amount provided is greater than the due amount, the overpayment can be posted to another account if provided.\nAs an input, the account identifier can be provided by using:\n- the account reference generated by WL\n- or the issuer external account reference \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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- in: body
name: body
required: true
schema:
$ref: '#/definitions/CreateOperationPaymentRequest'
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/ApiResponseEntityCreateOperationPaymentResponse'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/post-reimbursement-operation:
post:
x-wl-idempotent: true
tags:
- Account - Operation
summary: Post a reimbursement operation by external reference
operationId: postReimbursementOperationByIssuerExtRef
description: 'The API allows a reimbursement operation to an account to be generated and posted depending on following conditions:
The account must be in an ACTIVE or BEING_CLOSED status.
Depending on the reimbursement model attached to the account hierarchy, the API has two behaviors:
1. If the reimbursement amount is limited by the account liable balance (default behavior)
- The liable balance of the account must be in credit position
- The reimbursement amount cannot be high than the liable balance
2. If the reimbursement amount is limited by the account OTB
- The liable balance of the account can be in credit or debit position
In both cases the reimbursement amount is limited by the Open-To-Buy of the account.
A reimbursement operation allows to reimburse fully or partially the available amount on the account depending on the reimbursement type provided in input.
As an input, the account identifier can be provided by using:
- the account reference generated by WL
- or the issuer external account reference
As a result, the reimbursement operation is posted to the account and has an impact on the account balance.
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.'
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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- in: body
name: body
required: true
schema:
$ref: '#/definitions/CreateOperationReimbursementRequest'
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/ApiResponseEntityCreateOperationReimbursementResponse'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/reverse-reimbursement-operation:
post:
x-wl-idempotent: true
tags:
- Account - Operation
summary: Reverse a reimbursement operation by external reference (beta)
operationId: reverseReimbursementOperationByIssuerExtRef
description: "The API is used to fully reverse a reimbursement operation previously posted on an account.\nAs an input, it must be provided\n- the account, identified either by its account reference generated by WL or its issuer external account reference, on which the reimbursement operation was previously posted \n- the reimbursement operation to be reversed\n the information related to the reversal operation (reference, date, service poster). \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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- in: body
name: body
required: true
schema:
$ref: '#/definitions/ReverseOperationReimbursementRequest'
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/ApiResponseEntityReverseOperationReimbursementResponse'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/post-load-operation:
post:
x-wl-idempotent: true
tags:
- Account - Operation
summary: Load an account by external reference
operationId: postLoadOperationByIssuerExtRef
description: "The API allows an account to be loaded.\nA load operation is used for prepaid cards to put money in an account.\nThe operation can have a control on the amount authorized and trigger a load operation fee, if it is configured.\nAs an input, the account identifier can be provided by using:\n- the account reference generated by WL\n- or the issuer external account reference \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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- in: body
name: body
required: true
schema:
$ref: '#/definitions/CreateOperationLoadRequest'
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/ApiResponseEntityCreateOperationLoadResponse'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/post-unload-operation:
post:
x-wl-idempotent: true
tags:
- Account - Operation
summary: Unload an account by external reference
operationId: postUnloadOperationByIssuerExtRef
description: "The API allows an account to be unloaded. An unload operation is used for prepaid cards to retrieve money from an account.\nThe operation can have a control on the amount authorized.\nAs an input, the account identifier can be provided by using:\n- the account reference generated by WL\n- or the issuer external account reference \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: issuerAccountExternalReference
in: path
description: Issuer Account External Reference
required: true
type: string
- in: body
name: body
required: true
schema:
$ref: '#/definitions/CreateOperationUnloadRequest'
responses:
'400':
description: Bad request
schema:
$ref: '#/definitions/BadRequestErrorApiResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/UnauthorizedErrorApiResponse'
# --- truncated at 32 KB (237 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wordline/refs/heads/main/openapi/wordline-account-operation-api-openapi.yml