Skip to main content
Terminal operations let you send administrative commands to a registered payment terminal and read the results. Use them to run an end-of-day close, ask the terminal to upload its logs, check for software updates, or open the terminal menu, without physically touching the device. Operations are asynchronous. You send a command, the API dispatches it to the terminal and returns immediately with a PENDING operation, and the terminal processes the command in the background. You then poll the operation to see how it finished.
Terminal operations are administrative commands. They do not start a payment. To take a payment on a terminal, see creating a terminal session.

Available operations

OperationDescription
end_of_dayRun the end-of-day routine on the terminal.
send_logsInstruct the terminal to upload its logs.
check_updateHave the terminal check for a software update.
open_menuOpen the settings menu on the terminal.

Send a command

POST https://checkout.dintero.com/v1/admin/terminals/operations
Authorization: Bearer <token>
Content-Type: application/json
The request body identifies the terminal and the operation to run.
{
  "terminal_id": "P11223351-T0013",
  "operation": "end_of_day"
}
The response is returned as soon as the command is dispatched to the terminal. The terminal’s response is processed asynchronously, so the operation starts with status PENDING.
{
  "id": "3f1a9c2e-8b7d-4f6a-9c1e-2d5b8a0f4e6c",
  "terminal_id": "P11223351-T0013",
  "operation": "end_of_day",
  "status": "PENDING",
  "created_at": "2026-06-29T09:00:00Z",
  "created_by": "user@example.com",
  "updated_at": "2026-06-29T09:00:00Z",
  "updated_by": "user@example.com"
}
See POST /admin/terminals/operations for the full schema.

Idempotency

Pass an Idempotency-Key header to ensure the same command is only executed once, for example when retrying after a network error.
Idempotency-Key: 9b2c5d7e-1a3f-4c6b-8d9e-0f1a2b3c4d5e

One operation at a time

A terminal processes one operation at a time. If an operation is already pending for the terminal, the API responds with 409 Conflict and a Retry-After header indicating how many seconds to wait before retrying.

List operation results

Poll operations to see how a command finished. The endpoint returns operations and supports filtering by terminal_id and operation_id.
GET https://checkout.dintero.com/v1/admin/terminals/operations?terminal_id=P11223351-T0013
Authorization: Bearer <token>
To check a single operation, filter by the id returned when you sent the command.
GET https://checkout.dintero.com/v1/admin/terminals/operations?operation_id=3f1a9c2e-8b7d-4f6a-9c1e-2d5b8a0f4e6c
Authorization: Bearer <token>
See GET /admin/terminals/operations for the full schema.

Operation status

StatusMeaning
PENDINGThe operation has been dispatched to the terminal and is awaiting a response.
COMPLETEDThe terminal responded and the operation finished successfully.
FAILEDThe terminal responded but reported a failure.
TIMEOUTNo response was received from the terminal within the timeout window. A new operation can be dispatched.

Scopes

EndpointScopes
POST /admin/terminals/operationsadmin:checkout or write:checkout:/admin/terminals
GET /admin/terminals/operationsadmin:checkout or read:checkout:/admin/terminals
Last modified on June 29, 2026