Terminal Management

Discover terminals and send trigger commands. List terminals requires terminals:read; sending triggers requires terminals:trigger.

GET/api/v1/{system}/listTerminals🔒 terminals:read

List terminals belonging to a branch. Returns terminal IDs, config IDs, online status, and assigned gateways. Tenant-isolated.

Auth: Bearer JWT

Request Body

FieldTypeRequiredDescription
branchIdlong (query)YesBranch user ID
excludeConfigIdlong (query)NoExclude a specific terminal (useful for the caller's own terminal)
SandboxCalls go to https://payus.co.nz

Authentication

POST/api/v1/{system}/requestTerminal🔒 terminals:trigger

Send a trigger command to a terminal via WebSocket. If the terminal is offline, the command is queued and delivered when it reconnects.

Auth: Bearer JWT

Request Body

FieldTypeRequiredDescription
configIdlongYesTarget terminal config ID
typestringYesTrigger type: PRINT, FORCE_REFRESH, SESSION_KICK, PAYMENT
payloadstringNoTrigger payload (e.g. print content, payment details)

Response Example

{
  "status": true,
  "message": "Trigger sent",
  "handle": "trig-abc123"
}
SandboxCalls go to https://payus.co.nz

Authentication

POST/api/v1/{system}/requestStatus🔒 terminals:read

Check the delivery status of a previously sent trigger.

Auth: Bearer JWT

Request Body

FieldTypeRequiredDescription
handlestringYesTrigger handle from requestTerminal response
SandboxCalls go to https://payus.co.nz

Authentication