Teya Terminals API
The Terminals API from Teya — 1 operation(s) for terminals.
The Terminals API from Teya — 1 operation(s) for terminals.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/teya:teya-terminals-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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