Pay at Table

Close a tab

Soft-deletes a tab by setting its status to CLOSED. The tab record is retained. Allowed source states: OPEN, COMPLETED, PAUSED. Closing a PAYING tab is rejected because a transaction is mid-flight; drive it to a stable state first (resume or pause). Closing a PAUSED tab is allowed — if a late payment-completed event lands on the now-CLOSED tab, the credit is logged and counted via eposconnect.tabs.credit.on_closed_tab.count for ops visibility (no data recovery). Already-CLOSED tabs are rejected — the second close is treated as an error rather than an idempotent no-op.

delete/poslink/v1/tabs/{tab_id}

Request

Path parameters

tab_idstring uuid required

The tab identifier

Response

Tab closed successfully

tab_idstring uuid required

Tab identifier

status'OPEN' | 'PAYING' | 'PAUSED' | 'COMPLETED' | 'CLOSED' required

Tab status after closure

closed_atstring date-time required

ISO 8601 timestamp of closure (in UTC)

Example response

{
  "tab_id": "3f2b6a2e-9d3e-4a1f-8f1e-6b2e5a8c9d01",
  "status": "CLOSED",
  "closed_at": "2026-04-14T12:00:00Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.