Build with NoPOS
in Minutes, Not Months
Everything you need to integrate NoPOS into your application. 33+ API features, RESTful endpoints, and comprehensive error handling.
Authentication
Learn how to authenticate your API requests
Quickstart
Make your first API call in minutes
Error Handling
Understand error codes and responses
API Base URL
https://api.nopos.dev/v1All API requests should be made to this base URL.
Authentication
NoPOS uses Bearer token authentication. Include your API key in the Authorization header of every request.
Getting Your API Key
- Sign up for a NoPOS account at nopos.dev
- Navigate to your dashboard
- Generate an API key from the API settings page
- Copy your key and store it securely — it will only be shown once
Using Your API Key
Include your API key in every request as a Bearer token:
// Set your API key as a header
const response = await fetch('https://api.nopos.dev/v1/products', {
headers: {
'Authorization': 'Bearer npos_live_your_api_key_here',
'Content-Type': 'application/json'
}
});Your First API Call
Let's create your first product using the NoPOS API. We'll use the Products endpoint.
Endpoint
POST /v1/productsCreates a new product in your catalog.
// Create your first product
const response = await fetch('https://api.nopos.dev/v1/products', {
method: 'POST',
headers: {
'Authorization': 'Bearer npos_live_your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Widget Pro',
sku: 'WGT-001',
price: 2999, // Price in cents
inventory: 100
})
});
const product = await response.json();
console.log('Created product:', product.id);Success Response
{
"id": "prod_abc123xyz",
"name": "Widget Pro",
"sku": "WGT-001",
"price": 2999,
"inventory": 100,
"created_at": "2025-04-16T12:00:00Z"
}Error Handling
NoPOS uses standard HTTP status codes and returns detailed error objects. Every error response includes a unique request_id for support inquiries.
| Status Code | Error Code | Description |
|---|---|---|
| 400 | bad_request | Invalid request parameters |
| 401 | unauthorized | Invalid or missing API key |
| 403 | forbidden | API key lacks required permissions |
| 404 | not_found | Requested resource not found |
| 429 | rate_limited | Too many requests, slow down |
| 500 | internal_error | Something went wrong on our end |
Error Response Format
// Error response handling
const response = await fetch('https://api.nopos.dev/v1/products', {
headers: {
'Authorization': 'Bearer invalid_key'
}
});
if (!response.ok) {
const error = await response.json();
console.log('Error code:', error.code); // e.g., "unauthorized"
console.log('Error message:', error.message); // e.g., "Invalid API key"
console.log('Request ID:', error.request_id); // For support
}Error Object
{
"error": {
"code": "string", // Machine-readable error code
"message": "string", // Human-readable description
"request_id": "string" // Unique ID for support
}
}Available Endpoints
NoPOS provides 33+ API features across multiple categories. Here are the core endpoints:
Products
/v1/productsManage product catalog and inventory
Orders
/v1/ordersCreate and track transactions
Customers
/v1/customersCustomer profiles and loyalty
Payments
/v1/paymentsProcess and manage payments
Inventory
/v1/inventoryReal-time stock management
Webhooks
/v1/webhooksReal-time event notifications
Ready to Build?
Join the NoPOS waitlist to get early access to the API and start building your POS solution.