WaveOrder API
Build powerful integrations with your POS, mobile apps, and third-party services using our comprehensive REST API.
RESTful Design
Clean, predictable URLs and standard HTTP methods. Easy to understand and integrate.
Secure
API key authentication with granular scopes. All requests over HTTPS.
Rate Limited
60 requests per minute per key. Fair usage ensures reliability for all.
Quick Start
Get started in minutes with our simple REST API.
Generate an API Key
Go to your admin dashboard → API Access → Create Key
Make Your First Request
# For Restaurants/Retail: curl -X GET "https://waveorder.app/api/v1/products" \ -H "Authorization: Bearer wo_live_YOUR_API_KEY" # For Salons: curl -X GET "https://waveorder.app/api/v1/services" \ -H "Authorization: Bearer wo_live_YOUR_API_KEY"
Get JSON Response
# Restaurants/Retail Response:
{
"products": [
{
"id": "507f1f77bcf86cd799439011",
"name": "Margherita Pizza",
"price": 12.99,
"stock": 50,
"isActive": true
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 125,
"pages": 3
}
}
# Salons Response:
{
"services": [
{
"id": "507f1f77bcf86cd799439011",
"name": "Classic Haircut",
"price": 20.00,
"serviceDuration": 30,
"requiresAppointment": true,
"isActive": true
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 25,
"pages": 1
}
}Authentication
All API requests require authentication using an API key. Include your key in the Authorization header:
Authorization: Bearer wo_live_YOUR_API_KEYAlternatively, use the X-API-Key header:
X-API-Key: wo_live_YOUR_API_KEYKeep Your Keys Secure
Never expose API keys in client-side code or public repositories. Keys should only be used server-side.
API Endpoints
Base URL: https://waveorder.app/api/v1
Products (Restaurants & Retail)
Note: These endpoints are for RESTAURANT and RETAIL businesses. For salons, use the Services endpoints instead.
/productsList all products (paginated)products:read/products/:idGet single productproducts:read/productsCreate new productproducts:write/products/:idUpdate productproducts:write/products/:idDelete productproducts:writeOrders (Restaurants & Retail)
Note: These endpoints are for RESTAURANT and RETAIL businesses. For salons, use the Appointments endpoints instead.
/ordersList all orders (paginated)orders:read/orders/:idGet single orderorders:readServices (Salons Only)
Note: These endpoints are only available for SALON businesses. For restaurants and retail stores, use the Products endpoints instead.
/servicesList all services (paginated)services:read/services/:idGet single serviceservices:read/servicesCreate new serviceservices:write/services/:idUpdate serviceservices:write/services/:idDelete serviceservices:writeAppointments (Salons Only)
Note: These endpoints are only available for SALON businesses. For restaurants and retail stores, use the Orders endpoints instead.
/appointmentsList all appointments (paginated)appointments:read/appointments/:idGet single appointmentappointments:read/appointmentsCreate new appointmentappointments:write/appointments/:idUpdate appointmentappointments:writeCategories
/categoriesList all categoriescategories:read/categories/:idGet single categorycategories:read/categoriesCreate new categorycategories:write/categories/:idUpdate categorycategories:write/categories/:idDelete categorycategories:writeAccount
/meGet authenticated business infoanyRate Limiting
API requests are limited to 60 requests per minute per API key.
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per window (60) |
X-RateLimit-Remaining | Remaining requests in current window |
X-RateLimit-Reset | Seconds until rate limit resets |
Retry-After | Seconds to wait (only on 429 response) |
Error Handling
The API returns standard HTTP status codes and JSON error responses.
| Code | Meaning |
|---|---|
200 | Success |
201 | Created (for POST requests) |
400 | Bad Request — Invalid parameters |
401 | Unauthorized — Missing or invalid API key |
403 | Forbidden — Missing required scope or Business plan |
404 | Not Found — Resource doesn't exist |
429 | Too Many Requests — Rate limit exceeded |
500 | Internal Server Error |
Example error response:
{
"error": "Missing required scope: products:write"
}Ready to Build?
Upgrade to Business plan to unlock API access and start integrating today.
View Pricing