Quiqqy platform APIs
Every order, on your terms.
One authenticated REST surface over the services that already run Quiqqy storefronts and hubs — order injection into your POS, menu sync, item availability, marketplace ordering and reporting.
- OAuth2 partner tokens
- HMAC-signed webhooks
- Sandbox stores included
Three products
One credential model, three surfaces.
Online Ordering API
Receive Quiqqy orders straight into your POS, push menus, 86 items and drive the order through accepted, ready and completed — the full merchant integration.
- POST
/pos/stores/:store_id/menus - POST
/pos/orders/:order_id/accept - POST
/pos/stores/:store_id/items/availability
Hub Ordering API
Build ordering apps on Quiqqy hubs — community storefronts where many merchant stores sell under one brand. Browse the catalogue, place orders, track every status.
- GET
/communities/:id/catalogue - POST
/communities/:id/orders - PATCH
/communities/:id/catalogue/items/:item_id
Mercnet Reports API
Programmatic sales reports and catalogue management for merchant stores — summaries, exports, top items and hourly demand, plus item and menu writes.
- GET
/reports/sales-summary - GET
/reports/orders - POST
/catalogue/items
Quickstart
From consent link to first menu.
Send the merchant one consent link, exchange the callback code for a store token, push a menu keyed on your own item ids — and Quiqqy starts delivering orders to your webhook, signed and retried.
Read the walkthrough/pos/signup_url curl -s https://auth.quiqqy.ai/api/v2/pos/signup_url \
-u "qc_live_7f31a9:qy_sk_live_4Zk…" \
-H 'Content-Type: application/json' \
-d '{
"location_id": "POS-LOC-001",
"store_name": "Main Street Pizza",
"email": "owner@mainstreetpizza.com"
}'
# => { "status": "success",
# "signup_url": "https://auth.quiqqy.ai/api/v2/oauth2/authorize?…" }
# Merchant consents → your callback gets ?code=…,
# exchanged for a store token at POST /oauth2/token. /pos/stores/:store_id/menus curl -s https://auth.quiqqy.ai/api/v2/pos/stores/st_8fk2/menus \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"menus": [{
"external_id": "main-menu",
"name": "Main menu",
"categories": [
{ "external_id": "coffee", "name": "Coffee" }
],
"items": [{
"external_id": "flat-white",
"name": "Flat White",
"price": 375,
"available": true,
"categories": ["coffee"]
}]
}]
}'
# => 200 { "status": "success",
# "data": { "menus": 1, "categories": 1, "items": 1 } } Order lifecycle
Five states, driven from your POS.
- created
order.created →Quiqqy → you - accepted
POST /orders/:id/acceptyou → Quiqqy - preparing
POST /orders/:id/statusyou → Quiqqy - ready
POST /orders/:id/readyyou → Quiqqy - completed
order.delivered →Quiqqy → you
Denials carry structured reasons — ITEM_OUT_OF_STOCK,
STORE_CLOSED, POS_OFFLINE — so Quiqqy can react
automatically instead of paging a human.
Order integration guide