You are viewing a non-production environment — the API surface may differ from production.
Payments API

Terminals

Payment terminal management

GET
/api/v1/terminals

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Query Parameters

locationId*string

Location ID to fetch terminals for

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/terminals?locationId=string"
{  "status": "success",  "data": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "externalId": "string",      "locationId": 0,      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "title": "string",      "type": "p400plus",      "status": "idle",      "statusDetails": [        "string"      ],      "statusError": "string",      "probeId": "3f2a8c57-ab73-49a8-ad75-a9d6593771a8",      "checkedAt": "2019-08-24T14:15:22Z"    }  ],  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}
POST
/api/v1/terminals/status-diagnostics

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

outcome*string

Value in

  • "http_fallback"
  • "status_timeout"
  • "http_error"
  • "stale_event"
  • "terminal_not_found"
surface*string

Value in

  • "quick_pay"
  • "pay_drawer"
terminalIds*array<>
Itemsitems <= 30
probeIds?array<>
Itemsitems <= 30
connectionState?string
Lengthlength <= 32
durationMs?number
Range0 <= value
clientLocationId?integer

Response Body

application/json

application/json

curl -X POST "https://example.com/api/v1/terminals/status-diagnostics" \  -H "Content-Type: application/json" \  -d '{    "outcome": "http_fallback",    "surface": "quick_pay",    "terminalIds": [      "89770c46-6cb0-41bc-b868-23c9a916e242"    ]  }'
{  "status": "success",  "data": {    "accepted": true  },  "meta": {}}
GET
/api/v1/terminals/statuses

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Query Parameters

locationId*string

Location ID to fetch terminal statuses for

terminalId?string

Optional terminal ID to check only that terminal

Formatuuid
terminalIds?string

Comma-separated IDs of up to four Quick Pay terminals

waitForStatus?string

Wait for probe results and include them in the response

Value in

  • "true"
  • "false"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/terminals/statuses?locationId=string"
{  "status": "success",  "data": {    "terminals": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "externalId": "string",        "locationId": 0,        "createdAt": "2019-08-24T14:15:22Z",        "updatedAt": "2019-08-24T14:15:22Z",        "title": "string",        "type": "p400plus",        "status": "idle",        "statusDetails": [          "string"        ],        "statusError": "string",        "probeId": "3f2a8c57-ab73-49a8-ad75-a9d6593771a8",        "checkedAt": "2019-08-24T14:15:22Z"      }    ],    "message": "string"  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}