Retrieve Ticket

Retrieves a ticket by its identifier, including current totals, payment status, and itemized detail. Use this endpoint to confirm the outcome of an order, display an order summary, or reconcile payment after checkout.

Request Headers

HeaderRequiredDescription
AuthorizationYesBearer YOUR_ACCESS_TOKEN
AcceptNoapplication/json

Request Parameters

Path Parameters

ParameterTypeRequiredDescription
location_idstringYesIdentifier of the location.
ticket_idstringYesIdentifier of the ticket to read.

Query Parameters

ParameterTypeRequiredDescription
withstringNoRelated resources to include in the response, for example guests.
global_on_idintegerYesIdentifier of the originating ordering channel.
user_idintegerYesIdentifier of the user making the request.
i18nstringNoLanguage code for localized content, for example en.

Request Example

GET /v1/locations/YOUR_LOCATION_ID/tickets/1284877?with=guests&global_on_id=12&user_id=2&i18n=en

cURL Example

curl --request GET \
  --url "https://sandbox-api.softpoint.io/interface/v1/locations/YOUR_LOCATION_ID/tickets/1284877?with=guests&global_on_id=12&user_id=2&i18n=en" \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --header "Accept: application/json"

Success Response

The response returns the ticket with its totals and embedded detail. A closed, fully paid ticket shows open as 0, totals.paid equal to the total, and totals.due as 0. The example below is trimmed for brevity.

{
  "id": 1284877,
  "id_external": "418",
  "pos_id": "418",
  "opened_at": "2025-12-09 00:01:57",
  "closed_at": "2025-12-09 00:02:24",
  "name": "Eduardo API_A",
  "open": 0,
  "guest_count": 1,
  "ticket_number": 546,
  "totals": {
    "items": 1149,
    "tax": 201,
    "exclusive_tax": 201,
    "sub_total": 1149,
    "total": 1350,
    "paid": 1350,
    "refunded": 0,
    "due": 0,
    "grand_total": 1350
  },
  "_embedded": {
    "employee": { "employee_id": 376, "first_name": "ADAM", "last_name": "GAREN", "check_name": "ADAM G." },
    "order_type": { "order_type_id": 38, "name": "RESTAURANT" },
    "revenue_center": { "revenue_center_id": "23", "name": "RESTAURANT" },
    "guests": [],
    "items": [
      {
        "id": 80289,
        "name": "BURGER",
        "price": 1149,
        "tax": 201,
        "quantity": 1,
        "modifiers": [
          { "id": 38192, "menu_modifier_id": 494915, "name": "HASH BROWNS", "price": 0, "quantity": 1 }
        ]
      }
    ]
  }
}

Response Fields

FieldTypeDescription
idintegerInternal ticket identifier.
id_externalstringExternal ticket identifier.
pos_idstringPoint-of-sale ticket identifier.
opened_atstringTimestamp when the ticket was opened (UTC).
closed_atstringnull
namestringTicket display name.
openintegerIndicates whether the ticket is open. 1 is open, 0 is closed.
guest_countintegerNumber of guests on the ticket.
ticket_numberintegerSequential ticket number.
totalsobjectMonetary totals for the ticket, in minor units.
totals.itemsintegerCombined item price.
totals.taxintegerTotal tax.
totals.sub_totalintegerSubtotal before tax.
totals.totalintegerGrand total.
totals.paidintegerAmount paid.
totals.refundedintegerAmount refunded.
totals.dueintegerAmount still due.
_embedded.employeeobjectEmployee associated with the ticket.
_embedded.order_typeobjectOrder type applied to the ticket.
_embedded.revenue_centerobjectRevenue center applied to the ticket.
_embedded.guestsarrayGuests associated with the ticket, when requested with with=guests.
_embedded.itemsarrayItems on the ticket, including modifiers.

Error Responses

Retrieve Ticket uses the standard error envelope. A missing channel identifier produces error code 10189.

{
  "error": {
    "code": 10189,
    "message": "Invalid global on id.",
    "details": {
      "error": "The parameter global_on_id is required"
    }
  }
}

Status Codes

CodeDescription
200Ticket retrieved successfully.
401Missing or invalid access token, or missing channel identifier.
404The ticket does not exist.

Workflow Placement

Retrieve Ticket is the confirmation step after order submission:

  1. Submit an order with Pay & Create Order.

  2. Retrieve the ticket to confirm status, totals, and payment.

Notes

  • All monetary values are expressed in minor units (cents).

  • Use the with parameter to include related resources, such as guests, in a single request.

  • For a fully paid ticket, totals.due is 0 and totals.paid equals totals.total.

Common Mistakes

  • Omitting global_on_id, which results in error code 10189.

  • Expecting embedded guests without supplying with=guests.

  • Interpreting totals values as major units rather than minor units (cents).

Query Params
string
integer
integer
string
Headers
string
string
string
string
string
string
string
string
string
string
string
Response

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain