Teya Terminals API

The Terminals API from Teya — 1 operation(s) for terminals.

Operations 1

GET /poslink/v1/stores/{store_id}/terminals Retrieve a list of terminals #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/teya:teya-terminals-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

teya-terminals-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: POSLink Terminals API
  description: Handles messaging between the ePOS software and terminal.
  contact:
    name: Poslink Service
    url: https://teyaglobal.atlassian.net/wiki/spaces/CE/pages/5993563200/Integration+Guide
    email: poslink@teya.com
  version: '1.2'
servers:
- url: https://api.teya.com
  description: Production Server
- url: https://api.teya.xyz
  description: Staging Server
security:
- authorisation: []
tags:
- name: Terminals
paths:
  /poslink/v1/stores/{store_id}/terminals:
    get:
      tags:
      - Terminals
      summary: Retrieve a list of terminals
      description: '### No Permission Required - This is an endpoint that does not require permission

        ---


        Retrieves a list of terminals that belong to a store.


        **Required Scopes (one of the following):**


        - `stores/id/terminals` (returned via the register API: `POST /poslink/v1/epos/register`)

        - `default_access` (deprecated, will be removed in the future; included for backward compatibility with existing integrations)'
      operationId: getTerminals
      parameters:
      - name: store_id
        in: path
        description: The ID of the store to retrieve the terminals for
        required: true
        schema:
          type: string
          format: uuid
        example: f04fe1ce-e7bd-4c5b-b873-b156643c0bc3
      responses:
        '200':
          description: Terminals data successfully retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveTerminalResponse'
              examples:
                Terminals_Main_Store:
                  description: Terminals_Main_Store
                  value:
                    terminals:
                    - terminal_id: 70dc65ba-1c13-492a-82a0-15821e5f63ba
                      terminal_name: MPAS_test_terminal
                      serial_number: '202877303091039717483041'
                Terminals_Secondary_Store:
                  description: Terminals_Secondary_Store
                  value:
                    terminals:
                    - terminal_id: d8b7d48f-ec22-4290-a73b-69a2bdf6cb75
                      terminal_name: MPAS_test_terminal_2
                      serial_number: '123456789012345678901234'
                    - terminal_id: a938cd2a-b125-449c-be42-166fb69fd011
                      terminal_name: MPAS_test_terminal_3
                      serial_number: 098765432109876543210987
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponse'
              example:
                code: BAD_REQUEST
                description: Bad Request
        '401':
          description: Lacks valid authentication credentials for the requested resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponse'
              example:
                code: UNAUTHORIZED
                description: Unauthorized
        '403':
          description: The server understands the request but refuses to authorize it
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponse'
              example:
                code: FORBIDDEN
                description: Forbidden
        '408':
          description: Request timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponse'
              example:
                code: REQUEST_TIMEOUT
                description: Request timeout
        '429':
          description: Too many requests in a given amount of time
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponse'
              example:
                code: TOO_MANY_REQUESTS
                description: Too Many Requests
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponse'
              example:
                code: INTERNAL_SERVER_ERROR
                description: Internal Server Error
      x-permission-set:
        no-permission: true
        description: This is an endpoint that does not require permission
      x-kong-plugin-scope-authorisation:
        config:
          required_scopes:
          - stores/id/terminals
          - default_access
        enabled: true
components:
  schemas:
    ExceptionResponse:
      type: object
      example:
        code: BAD_REQUEST
        description: Bad Request
      properties:
        code:
          type: string
          format: enum
          description: Error code
          example: BAD_REQUEST
        description:
          type: string
          description: Error description
          example: Bad Request
        invalid_params:
          type: array
          description: List of invalid request parameters. Populated for validation failures (400 / 422); omitted otherwise.
          items:
            $ref: '#/components/schemas/InvalidParams'
      title: ExceptionResponse
    RetrieveTerminalResponse:
      type: object
      example:
        terminals:
        - terminal_id: 70dc65ba-1c13-492a-82a0-15821e5f63ba
          terminal_name: MPAS_test_terminal
          serial_number: '202877303091039717483041'
      properties:
        terminals:
          type: array
          items:
            $ref: '#/components/schemas/Terminal'
      title: RetrieveTerminalResponse
    InvalidParams:
      type: object
      description: A single failed parameter from a 4xx validation response.
      example:
        path: requested_amount.amount
        reason: Amount exceeds the tab's remaining balance
      properties:
        path:
          type: string
          description: Dot-notation path to the offending field on the request body, in snake_case.
          example: requested_amount.amount
        reason:
          type: string
          description: Human-readable explanation of why the parameter was rejected.
          example: Amount exceeds the tab's remaining balance
      required:
      - path
      - reason
      title: InvalidParams
    Terminal:
      type: object
      example:
        terminal_id: 70dc65ba-1c13-492a-82a0-15821e5f63ba
        terminal_name: MPAS_test_terminal
        serial_number: '202877303091039717483041'
      properties:
        serial_number:
          type: string
          description: The serial number of the terminal
          example: SN202877303091039717483041
        terminal_id:
          type: string
          description: The terminal identifier
          example: 70dc65ba-1c13-492a-82a0-15821e5f63ba
        terminal_name:
          type: string
          description: The name of the terminal
          example: MPAS_test_terminal
      title: Terminal
  securitySchemes:
    authorisation:
      type: oauth2
      description: 'Given a valid access token, you can now use a Bearer Token to authenticate your requests.

        To do so you have to preface your access token with Bearer and send it in the HTTP Authorization header.

        It should look something like this: `Authorization: Bearer <ACCESS_TOKEN>`

        '
      flows:
        authorizationCode:
          authorizationUrl: https://id.teya.com/oauth/v2/oauth-authorize
          tokenUrl: https://id.teya.com/oauth/v2/oauth-token
          scopes: {}
x-teya-variables:
  production:
    rps-payment-request: 15
  rps-payment-request: '1'
  staging:
    rps-payment-request: 15