Get one order
https://api.nexgapp.com/v1/orders/{id}LiveReturns one order placed with the merchant your key is bound to. The order is the same object List your orders returns, so one parser reads both.
An id that belongs to another merchant gets the same 404 as an id that does not exist, so a key cannot find out which order ids are real.
- Authentication
- API key with
merchant_read, bound to your merchant - Rate limit cost
- 3 tokens
- Caching
- Never cached
- Available since
- 10 November 2026
Path parameters
idpath · uuidRequiredThe order_id, from List your orders.
Headers
X-Api-Keyheader · stringRequiredA key bound to your merchant, with merchant_read. Or send it as Authorization: Bearer <key>.
Response
Order data.order
order_iduuidNexG’s id for the order. Store it.
referencestringThe reference people read, such as NX-261110-0003. Store it too.
servicestringThe API service code for a service booking; an empty string for other orders.
quantityintegerUnits on the order: passengers for a transfer, items for a basket.
stagestringWhere the order is: placed, confirmed, preparing, ready, picked_up, arriving, delivered, cancelled, disputed or refunded. The same stage the merchant console shows.
payment_methodstringmpesa_stk, card, bank_transfer, cash_on_delivery, charge_to_room or on_account.
payment_statusstringpending, authorised, paid, collected, failed, refunded or partially_refunded.
currencystringAlways KES.
total_centsintegerThe order total in cents (KES 1,616.25 is 161625), fixed when it was placed.
scheduled_fortimestamp or nullWhen it is booked for, if it was scheduled.
pickup_labelstring or nullWhere it is collected from, for a ride or a courier.
dropoff_labelstring or nullWhere it is going.
created_attimestampWhen it was placed.
Errors
Every error has the same shape; see Errors. Branch on error.code and the HTTP status, never on the message.
- 400
invalid_requestBoth X-Api-Key and Authorization were sent, or Authorization is not a Bearer key.
- 401
not_foundThe key is unknown, revoked or expired, or its merchant cannot use the API right now. All of these get the same answer on purpose.
- 403
not_foundNo key was sent, or the key does not have merchant_read.
- 429
rate_limitedYour token bucket is empty. Wait the number of seconds in the Retry-After header.
- 503
internal_errorNexG could not check the key or the rate limit. Retry with backoff.
- 400
invalid_requestThe id is not a UUID.
- 403
not_foundNexG refused the read for this key, for example because it is not bound to a merchant.
- 404
not_foundYour merchant has no order with that id.
- 500
internal_errorNexG could not read the order.
- 500
internal_errorSomething unexpected failed on NexG’s side. NexG logs the X-Request-Id: quote it if you report the failure.
Good to know
- Merchant keys work only while the merchant may operate: not while it is paused, suspended or delisted, and not while its application is waiting for approval.