Terminals and groups

API request

GET /developers/v1/terminals?businessId=...

List active terminals for a business (businessId required for group apps).

curl -X GET "https://api.mainmoney.net/api/v2/developers/v1/terminals?businessId=..." \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Terminals and groups

Rules for discovering merchants and terminals. Creating payments is covered in create payment.

Merchants

GET /developers/v1/merchants

OPERATING

{
  "kind": "OPERATING",
  "business": { "id": "...", "name": "Store A", "logo": null }
}

businessId is optional on later calls (defaults to the app business).

GROUP

{
  "kind": "GROUP",
  "group": { "id": "...", "name": "Acme Group", "logo": null },
  "businesses": [
    { "id": "...", "name": "Store A", "logo": null },
    { "id": "...", "name": "Store B", "logo": null }
  ]
}

Always pass businessId when listing terminals or creating payments.

List terminals

GET /developers/v1/terminals?businessId=...

Returns active, non-revoked terminals:

{
  "businessId": "...",
  "records": [
    {
      "terminalId": "POS-ABC123-001",
      "name": "Front counter",
      "model": null,
      "isOnline": true,
      "lastUsedAt": "2026-07-27T09:00:00.000Z"
    }
  ]
}

Prefer a terminal that is signed in (isOnline or recent lastUsedAt) so the amount prefills on the device.