Terminals
List terminals
POS terminals provisioned in the key's mode.
GET
/v1/terminalsscope terminals:readTerminals are provisioned from the dashboard (they receive a device key once).
Query parameters
limitintegerdefault 20Page size, 1-100.
cursorstringThe
next_cursorof the previous page. Omit for the first (newest) page. Up to 1024 characters.statusstringOne of:
active,inactive
Headers
ZyloPay-VersionstringPin the request to an API version (2026-09-28). Defaults to the version the API key was created with.
Returns
HTTP 200 with a list object: data holds up to limit terminal objects, newest first; has_more and next_cursor drive pagination.
Errors
| Status | Meaning |
|---|---|
400 | Invalid request (invalid_request_error / idempotency_error). |
401 | Missing, invalid, expired or revoked API key (authentication_error). |
403 | The key lacks the scope, the IP is not allowed, or the account is disabled (permission_error). |
429 | Rate limit reached for this key (rate_limit_error); see Retry-After. |
500 | Internal error (api_error). Retry with the same Idempotency-Key. |
Branch on error.code. Every code is listed in error codes.
Example request
curl "https://zylopay-api.fly.dev/api/v1/terminals?status=active" \
-H "Authorization: Bearer $ZYLOPAY_SECRET_KEY"Example response
{
"object": "list",
"data": [
{
"id": "tml_ZP-4821-K",
"object": "terminal",
"livemode": false,
"label": "ZP-4821-K",
"name": "Counter 1",
"platform": "generic",
"status": "active",
"last_seen_at": "2026-09-28T14:01:58.000Z",
"network": "testnet",
"created": "2026-09-02T09:15:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}