Worldline Credit Transfer API

Credit Transfer Api Controller

OpenAPI Specification

wordline-credit-transfer-api-openapi.yml Raw ↑
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