Worldline Terminal API

The Terminal API from Worldline — 10 operation(s) for terminal.

OpenAPI Specification

wordline-terminal-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 Terminal API
  contact: {}
host: sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing
basePath: /api/v2
schemes:
- https
tags:
- name: Terminal
paths:
  /acquiring/contract/v2.0/acquirers/{acquirerId}/terminals:
    get:
      tags:
      - Terminal
      summary: Search terminals
      description: 'This operation retrieves a list of terminals. Terminated terminals are excluded.

        '
      operationId: getTerminalOverviewList
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: iban
        in: query
        description: 'International Bank Account Number for merchant payments

          '
        schema:
          type: string
      - name: holdingId
        in: query
        description: 'Unique identification of the holding, determined by equensWorldline

          '
        schema:
          type: integer
          format: int32
      - name: merchantId
        in: query
        description: 'Unique identification of the merchant, determined by the acquirer

          '
        schema:
          type: string
      - name: contractId
        in: query
        description: 'Unique identification of the contract, determined by the acquirer

          '
        schema:
          type: string
      - name: siteId
        in: query
        description: 'Unique identification of the site within the contract

          '
        schema:
          type: integer
          format: int32
      - name: cardAcceptorId
        in: query
        description: 'Unique identification of the site in accordance with payment scheme rules. Some Dutch acquirers have a waiver not to fill this field. In that case it contains the merchant ID

          '
        schema:
          type: string
      - name: terminalId
        in: query
        description: 'Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID)

          '
        schema:
          type: string
      - name: merchantName
        in: query
        description: 'Name of the merchant

          '
        schema:
          type: string
      - name: contractName
        in: query
        description: 'Optional name for this specific contract

          '
        schema:
          type: string
      - name: siteName
        in: query
        description: 'Name of the site

          '
        schema:
          type: string
      - name: sortField
        in: query
        description: 'Sort field

          '
        schema:
          type: string
          enum:
          - terminalId
          - nameOnStatement
      - name: sortOrder
        in: query
        description: 'Sort order

          '
        schema:
          type: string
          enum:
          - Ascending
          - Descending
      - name: pageSize
        in: query
        description: Page size (Max page size is 300)
        schema:
          type: string
      - name: pageNumber
        in: query
        description: Page number
        schema:
          type: string
      - name: includeTerminated
        in: header
        description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included).
        schema:
          type: boolean
      responses:
        200:
          description: Successful
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TerminalListData'
              example:
              - contractIdentification:
                  acquirerId: '315000001'
                  holdingId: 200
                  merchantId: '1001'
                  contractId: '10011'
                cardAcceptorId: '1001'
                siteId: 100111
                terminalId: W01AB01
                nameOnStatement: EPS*Metal Festival
                commencementDate: 2022-12-09
                status: Active
                terminalDetailsURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/sites/100111/terminals/W01AB01
              - contractIdentification:
                  acquirerId: '315000001'
                  holdingId: 300
                  merchantId: '2001'
                  contractId: '20011'
                cardAcceptorId: '2001'
                siteId: 200111
                terminalId: W11AB01
                nameOnStatement: GG Nijmegen
                commencementDate: 2022-12-09
                status: Active
                siteDetailsURI: acquiring/contract/v2.0/acquirers/315000001/contracts/20011/sites/200111/terminals/W11AB01
        400:
          description: Invalid input provided
          content: {}
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
  /acquiring/contract/v2.0/acquirers/{acquirerId}/sites/{cardAcceptorId}/terminals:
    post:
      tags:
      - Terminal
      summary: Add a terminal (based on Card Acceptor ID)
      operationId: postSiteTerminalCaid
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: cardAcceptorId
        in: path
        description: Unique identification of the card acceptor, determined by equensWorldline
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PostTerminal'
          application/json:
            schema:
              $ref: '#/components/schemas/PostTerminal'
          text/json:
            schema:
              $ref: '#/components/schemas/PostTerminal'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PostTerminal'
        required: true
      responses:
        201:
          description: Change is processed with correlation id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostTerminalResponse'
        400:
          description: Invalid input provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
  /acquiring/contract/v2.0/acquirers/{acquirerId}/sites/{cardAcceptorId}/terminals/{terminalId}:
    get:
      tags:
      - Terminal
      summary: Retrieve a terminal (based on Card Acceptor ID)
      operationId: getSiteTerminalCaid
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: cardAcceptorId
        in: path
        description: Unique identification of the card acceptor, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: terminalId
        in: path
        description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID)
        required: true
        schema:
          type: string
      - name: includeTerminated
        in: header
        description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included).
        schema:
          type: boolean
      responses:
        200:
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalData'
              example:
                contractIdentification:
                  acquirerId: '315000001'
                  contractId: '10011'
                  siteId: 100111
                  cardAcceptorId: '1001'
                  terminalId: W01AB01
                basic:
                  acquirerName: Worldline Sandbox Bank
                  siteName: EPS*Metal Festival
                  nameOnStatement: EPS*Metal Festival
                  merchantCategoryCode: '7999'
                  transactionReference: false
                  checkNumber: '1234567'
                status:
                  status: Active
                  commencementDate: 2022-12-09
                addressDetailsURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/sites/100111/terminals/W01AB01/addresses
                balanceDataURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/sites/100111/terminals/W01AB01/balances
                brandDataURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/sites/100111/terminals/W01AB01/brands
        400:
          description: Invalid input provided
          content: {}
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
    delete:
      tags:
      - Terminal
      summary: Terminate a terminal (based on Card Acceptor ID)
      operationId: deleteSiteTerminalCaid
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: cardAcceptorId
        in: path
        description: Unique identification of the card acceptor, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: terminalId
        in: path
        description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID)
        required: true
        schema:
          type: string
      responses:
        200:
          description: Change is processed with correlation id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CorrelationResponse'
        400:
          description: Invalid input provided
          content: {}
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
    patch:
      tags:
      - Terminal
      summary: Update a terminal (based on Card Acceptor ID)
      description: "Fields that can be used: **/contractIdentification/siteId, /basic/merchantCategoryCode, /basic/nameOnStatement, /basic/transactionReference**\r\nOperations that can be used: **replace, remove**\r\nSample request: \r\n\r\n    [\r\n       {\r\n           \"value\": \"1010101\",\r\n           \"path\": \"/contractIdentification/siteId\",\r\n           \"op\": \"replace\"             \r\n       }, \r\n       {\r\n           \"value\": \"true\",\r\n           \"path\": \"/basic/transactionReference\",\r\n           \"op\": \"replace\"             \r\n       },\r\n       {\r\n           \"value\": \"1111\",\r\n           \"path\": \"/basic/merchantCategoryCode\",\r\n           \"op\": \"replace\"\r\n       },\r\n       {\r\n           \"path\": \"/basic/nameOnStatement\",\r\n           \"op\": \"remove\"\r\n       }\r\n    ]"
      operationId: patchSiteTerminalCaid
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: cardAcceptorId
        in: path
        description: Unique identification of the card acceptor, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: terminalId
        in: path
        description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID)
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
        required: false
      responses:
        200:
          description: Change is processed with correlation id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CorrelationResponse'
        400:
          description: Invalid input provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
  /acquiring/contract/v2.0/acquirers/{acquirerId}/sites/{cardAcceptorId}/terminals/{terminalId}/addresses:
    get:
      tags:
      - Terminal
      summary: Retrieve addresses of a terminal (based on Card Acceptor ID)
      operationId: getSiteTerminalAddressesCaid
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: cardAcceptorId
        in: path
        description: Unique identification of the card acceptor, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: terminalId
        in: path
        description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID)
        required: true
        schema:
          type: string
      - name: includeTerminated
        in: header
        description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included).
        schema:
          type: boolean
      responses:
        200:
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalAddressData'
              example:
                contractIdentification:
                  acquirerId: '315000001'
                  contractId: '10011'
                  siteId: 100111
                  cardAcceptorId: '1001'
                  terminalId: W01AB01
                addresses:
                - addressType: Location
                  streetName: Nieuwstraat
                  houseNumber: 12
                  postalCode: 3267AR
                  city: Goudswaard
                  countryCode: 528
                  contactPersonName: M. Cohen
                  email: M.Cohen@metalfestival.nl
                  communicationLanguage: eng
                  communicationPreference: 3
        400:
          description: Invalid input provided
          content: {}
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
  /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/sites/{siteId}/terminals:
    post:
      tags:
      - Terminal
      summary: Add a terminal
      operationId: postTerminal
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: contractId
        in: path
        description: 'Unique identification of the contract, determined by the acquirer

          '
        required: true
        schema:
          type: string
      - name: siteId
        in: path
        description: Unique identification of the site within the contract
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PostTerminal'
          application/json:
            schema:
              $ref: '#/components/schemas/PostTerminal'
          text/json:
            schema:
              $ref: '#/components/schemas/PostTerminal'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PostTerminal'
        required: true
      responses:
        201:
          description: Change is processed with correlation id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostTerminalResponse'
        400:
          description: Invalid input provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
  /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/sites/{siteId}/terminals/{terminalId}:
    get:
      tags:
      - Terminal
      summary: Retrieve a terminal
      description: 'This operation retrieves a terminal.

        '
      operationId: getTerminal
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: contractId
        in: path
        description: 'Unique identification of the contract, determined by the acquirer

          '
        required: true
        schema:
          type: string
      - name: siteId
        in: path
        description: Unique identification of the site within the contract
        required: true
        schema:
          type: integer
          format: int32
      - name: terminalId
        in: path
        description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID)
        required: true
        schema:
          type: string
      - name: includeTerminated
        in: header
        description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included).
        schema:
          type: boolean
      responses:
        200:
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalData'
              example:
                contractIdentification:
                  acquirerId: '315000001'
                  contractId: '10011'
                  siteId: 100111
                  cardAcceptorId: '1001'
                  terminalId: W01AB01
                basic:
                  acquirerName: Worldline Sandbox Bank
                  siteName: EPS*Metal Festival
                  nameOnStatement: EPS*Metal Festival
                  merchantCategoryCode: '7999'
                  transactionReference: false
                  checkNumber: '1234567'
                status:
                  status: Active
                  commencementDate: 2022-12-09
                addressDetailsURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/sites/100111/terminals/W01AB01/addresses
                balanceDataURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/sites/100111/terminals/W01AB01/balances
                brandDataURI: acquiring/contract/v2.0/acquirers/315000001/contracts/10011/sites/100111/terminals/W01AB01/brands
        400:
          description: Invalid input provided
          content: {}
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
    delete:
      tags:
      - Terminal
      summary: Delete a terminal
      operationId: deleteTerminal
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: contractId
        in: path
        description: 'Unique identification of the contract, determined by the acquirer

          '
        required: true
        schema:
          type: string
      - name: siteId
        in: path
        description: Unique identification of the site within the contract
        required: true
        schema:
          type: integer
          format: int32
      - name: terminalId
        in: path
        description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID)
        required: true
        schema:
          type: string
      responses:
        200:
          description: Change is processed with correlation id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CorrelationResponse'
        400:
          description: Invalid input provided
          content: {}
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
    patch:
      tags:
      - Terminal
      summary: Update a terminal
      description: "Based on a GET Terminal call a PATCH Terminal call can be generated to change one or more fields. Whether it is allowed to change a field (and which values are allowed) is determined by the business logic of the contract management solution.\r\nSample request: \r\n\r\n    [\r\n       {\r\n           \"value\": \"1010101\",\r\n           \"path\": \"/contractIndentification/siteId\",\r\n           \"op\": \"replace\"             \r\n       }, \r\n       {\r\n           \"value\": \"true\",\r\n           \"path\": \"/basic/transactionReference\",\r\n           \"op\": \"replace\"             \r\n       },\r\n       {\r\n           \"value\": \"1111\",\r\n           \"path\": \"/basic/merchantCategoryCode\",\r\n           \"op\": \"replace\"\r\n       },\r\n       {\r\n           \"path\": \"/basic/nameOnStatement\",\r\n           \"op\": \"remove\"\r\n       }\r\n    ]"
      operationId: patchTerminal
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: contractId
        in: path
        description: 'Unique identification of the contract, determined by the acquirer

          '
        required: true
        schema:
          type: string
      - name: siteId
        in: path
        description: Unique identification of the site within the contract
        required: true
        schema:
          type: integer
          format: int32
      - name: terminalId
        in: path
        description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID)
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
        required: false
      responses:
        200:
          description: Change is processed with correlation id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CorrelationResponse'
        400:
          description: Invalid input provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
  /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/sites/{siteId}/terminals/{terminalId}/addresses:
    get:
      tags:
      - Terminal
      summary: Retrieve the addresses of a terminal
      description: 'This operation retrieves addresses of the terminal location. Terminated terminals are excluded.

        '
      operationId: getTerminalAddresses
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: contractId
        in: path
        description: 'Unique identification of the contract, determined by the acquirer

          '
        required: true
        schema:
          type: string
      - name: siteId
        in: path
        description: Unique identification of the site within the contract
        required: true
        schema:
          type: integer
          format: int32
      - name: terminalId
        in: path
        description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the terminal ID is only considered unique within the context of its own site (card acceptor ID)
        required: true
        schema:
          type: string
      - name: includeTerminated
        in: header
        description: Indicates whether terminated items should be included in the response of the GET call. Default value is 'false' (no terminated items included).
        schema:
          type: boolean
      responses:
        200:
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalAddressData'
              example:
                contractIdentification:
                  acquirerId: '315000001'
                  contractId: '10011'
                  siteId: 100111
                  cardAcceptorId: '1001'
                  terminalId: W01AB01
                addresses:
                - addressType: Location
                  streetName: Nieuwstraat
                  houseNumber: 12
                  postalCode: 3267AR
                  city: Goudswaard
                  countryCode: 528
                  contactPersonName: M. Cohen
                  email: M.Cohen@metalfestival.nl
                  communicationLanguage: eng
                  communicationPreference: 3
        400:
          description: Invalid input provided
          content: {}
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
        404:
          description: Resource not found
          content: {}
        500:
          description: Unexpected error
          content: {}
        502:
          description: Backend service problem
          content: {}
  /acquiring/contract/v2.0/acquirers/{acquirerId}/contracts/{contractId}/sites/{siteId}/terminals/{terminalId}/balances:
    get:
      tags:
      - Terminal
      summary: Retrieve the balances of a terminal
      description: 'This operation retrieves balances of the terminal

        '
      operationId: getTerminalBalances
      parameters:
      - name: acquirerId
        in: path
        description: Unique identification of the acquirer, determined by equensWorldline
        required: true
        schema:
          type: string
      - name: contractId
        in: path
        description: 'Unique identification of the contract, determined by the acquirer

          '
        required: true
        schema:
          type: string
      - name: siteId
        in: path
        description: Unique identification of the site within the contract
        required: true
        schema:
          type: integer
          format: int32
      - name: terminalId
        in: path
        description: Identification of the terminal. Within the Dutch model a terminal ID uniquely identifies one specific physical device. Within other terminal models the term

# --- truncated at 32 KB (88 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wordline/refs/heads/main/openapi/wordline-terminal-api-openapi.yml