Next Inventory 6.1.0: App Manager, dark mode, and more Joomla 6.1 "Nyota" Is Here Building the Future of Joomla Extensions
NextSoftware
Next Restaurant — Documentation

Next Restaurant REST API

The public integration surface for Next Restaurant — enough to run a kiosk, a mobile app or a partner ordering front end. It is deliberately narrow: it is not an administration API, not a reporting API, and it does not take payment.

It is off by default. Two switches must both be on: the API module under Apps, and Enable API under Integrations. Then generate the bearer token under Integrations — it is shown once and stored only as a hash.

Totals are always recomputed on the server from the menu records, so a submitted price is ignored. An integration never has to replicate your tax or pricing rules, and a tampered request buys nothing at the wrong price.

Base URL

{protocol}://{host}{basePath}/api/index.php
Variable Meaning Example
{protocol} Use http only for local development. https
{host} The host your Joomla site runs on. your-site.example
{basePath} Empty when Joomla is installed at the domain root. Otherwise the subfolder it is installed in, with a leading slash and no trailing slash — for example /restaurant. (empty)

Authentication

Authorization: Bearer <your-api-token>

X-Api-Token is accepted as an alternative — Alternative to the bearer scheme, for clients that cannot set Authorization.

The API token generated under Integrations. Shown once at generation and stored only as a SHA-256 hash, so it cannot be recovered — generate a new one if it is lost, which also invalidates the old one immediately.

Keep it server-side. Calling this API from browser JavaScript puts the token in the page where any visitor can read it, and restricting origins does not help: CORS is enforced by browsers, not by the server.

Endpoints

Method Operation Purpose Group
GET /v1/nextrestaurant/locations List published locations Locations
GET /v1/nextrestaurant/locations/{locationId}/menu The live, orderable menu for a location Menu
POST /v1/nextrestaurant/orders Place an order Orders

Webhook events

Outbound events. When something happens in Next Restaurant, an HTTP POST is sent to the endpoints you configure — so another system can react without polling.

Webhooks tell you an order changed; they do not carry the whole order. There is no endpoint to fetch an order back, so keep the response you got when you created it.

Event When
order.placed A new order is created, on any channel
order.updated An existing order changes
order.status_changed An order moves to a new status
order.cancelled An order is cancelled, with the reason
ping You press Test webhook — for connectivity checks only

Errors

Status Code When
401 INVALID_TOKEN The token is missing, wrong, or none has been generated.
403 MODULE_DISABLED This module is disabled.
403 API_DISABLED API is disabled
404 UNKNOWN_LOCATION No such published location.
400 INVALID_ORDER One of the items is no longer available.
429 RATE_LIMITED Too many orders from this address — 60 per 5 minutes. No order was created, so the request is safe to retry after a pause.
500 ORDER_FAILED The order could not be created. The message is deliberately generic; the detail is in the Joomla log under administrator/logs/.

See also

  • REST API guide — enabling the API, screenshots and a worked end-to-end example

Downloads

Machine-readable descriptions of this API, matching this documentation version.

  • OpenAPI 3.1.0

    The contract itself. Load it into Swagger UI, Redoc, Postman or Insomnia, or generate a typed client.

  • Postman collection

    Every operation as a ready-to-send request, with the base URL and token as collection variables.

  • Combined reference (JSON)

    Endpoints and webhook events in one document — the whole surface, including what the OpenAPI file does not cover.

Your own installation also serves its own copy at /media/com_nextrestaurant/openapi.yaml — that is the contract for the version you actually have deployed, which is the one to integrate against.

All Extensions