Skip to content
API referenceRestaurant

Get the restaurant

Try it

Returns the key's restaurant: its name, currency, time zone, tax and business day.

GEThttps://tablebuddy.radioworkflow.com/api/v1/restaurant
Read

Any valid key may call it, and it answers the key's own restaurant: a key belongs to one restaurant and never reaches another.

Money in every answer is in the restaurant's currency, in integer minor units (minor_digits after the point: cents for USD). Days are business days in its timezone, cut at day_starts_at_minute: with a 4:00 AM start, a check at 1:30 AM belongs to the day before. See Money and time.

tax_label is what the restaurant calls its tax ("Sales tax"); vat_label carries the same value under its first name.

Authentication

Key
Authorization: Bearer <key>, or the same key in x-api-key. A key acts as the person who made it, cut down to this endpoint’s scope, and never as an owner. How keys work
Scope
None: any valid key.
The key's creator needs
Nothing beyond a valid key.

Request headers

Authorizationrequired
Bearer <key>. x-api-key: <key> works too; Authorization wins when both are sent.
Idempotency-Keyignored
Ignored: a read changes nothing, so there is nothing to repeat. Idempotency

Query parameters

None. A query string is answered 422 invalid_request.

Response

200OK

today is the restaurant's business day now, cut at day_starts_at_minute.

currencystringISO 4217
The restaurant's currency: every amount in this answer is in its minor units.
minor_digitsinteger0–3
Digits after the point when an amount is shown: 2 for USD (cents), 0 for JPY.
restaurantobject
The restaurant.
restaurant.idstringid
The restaurant's id.
restaurant.namestring
The restaurant's name, as its owner wrote it.
restaurant.business_typeenum
What kind of business it runs as.
RESTAURANTCAFEFAST_FOODFOOD_COURTCLOUD_KITCHENBAR
restaurant.timezonestring≤ 64 chars
Its IANA time zone (America/Chicago): its days, reports and closing are cut in it.

Matches ^[A-Za-z][A-Za-z0-9_+/-]{0,63}$

restaurant.vat_labelstring
The name it gives its tax ("Sales tax"). The same value as tax_label, kept under its first name.
restaurant.tax_labelstring
The name it gives its tax ("Sales tax"), as its bills and the tax report print it.
restaurant.vat_rate_bpintegerbasis points
Its tax rate.
restaurant.vat_inclusiveboolean
Whether menu prices already include the tax.
restaurant.service_charge_bpintegerbasis points
Its service charge rate; 0 when it charges none.
restaurant.service_charge_dine_in_onlyboolean
Whether the service charge applies to dine-in orders only.
restaurant.day_starts_at_minuteinteger0–360
When its business day starts, in minutes after midnight (240 is 4:00 AM): a check at 1:30 AM belongs to the day before.
restaurant.todaystringYYYY-MM-DD
Its business day now.
restaurant.tips_enabledboolean
Whether its POS offers tips.

An answer may gain fields within v1: ignore the ones you do not know. Versioning

Response headers

request-idalways
This request’s id. Quote it when asking for help.
Cache-Controlalways
no-store: an answer is never cached.
RateLimit-Limit, RateLimit-Remaining, RateLimit-Resetonce the key is known
The key’s units a minute, what is left of this minute’s, and the seconds until the window starts again. Never on a 401. Rate limits
x-error-codeon an error
The error’s code, the same as error.code in the body.
Retry-Afteron a 429
Seconds to wait before sending the same request again.
WWW-Authenticateon a 401
The Bearer challenge, naming what was wrong with the key.

Errors

403issuer_access_ended
The key's creator has left the restaurant, was suspended, or was removed and invited back.

Fix: Make a new key from an active account.

422invalid_request
A query parameter is sent: this endpoint takes none.

Fix: Send the request with no query string.

Possible on every endpoint
401missing_api_keyNo Authorization: Bearer header and no x-api-key header.
401invalid_api_keyThe key is unknown, revoked or expired (answered alike).
429rate_limitedOver the key's 60 units a minute, or over 30 unknown keys a minute from one network (an address; an IPv6 caller's /64).
500internal_errorSomething failed on our side. Nothing kept the Idempotency-Key.

Every code, and when to retry

Request
curl -X GET "$TABLEBUDDY_URL/api/v1/restaurant" \
  -H "Authorization: Bearer $TABLEBUDDY_API_KEY"
Response200
{
  "currency": "USD",
  "minor_digits": 2,
  "restaurant": {
    "id": "cmg5w7t3e0000tb2j1c9x4k2m",
    "name": "The Barrel House",
    "business_type": "RESTAURANT",
    "timezone": "America/Chicago",
    "vat_label": "Sales tax",
    "tax_label": "Sales tax",
    "vat_rate_bp": 700,
    "vat_inclusive": false,
    "service_charge_bp": 0,
    "service_charge_dine_in_only": true,
    "day_starts_at_minute": 240,
    "today": "2026-09-30",
    "tips_enabled": true
  }
}