Get up and running with the Dutchie API in just 5 minutes
Contact Dutchie Support via the support portal to request API keys. Keys are vendor-specific and permission-scoped.
Use HTTP Basic Authentication with your API key as the username (leave password empty).
Authorization: Basic {base64(api_key:)}
All API requests are made to: https://api.pos.dutchie.com
GET /products - Retrieve all products (requires Inventory permission)GET /customer/customers - Retrieve all customers (requires Customer permission)GET /reporting/register-transactions - Get transaction data (requires Reporting permission)GET /reporting/inventory - Get current inventory levels (requires Reporting permission)GET /whoami - Verify API key and get location info (no special permissions needed)Let's test your setup by fetching products. Choose your preferred approach:
curl -X GET "https://api.pos.dutchie.com/products" \
-H "Authorization: Basic {your_encoded_key}" \
-H "Accept: application/json"
/**
* Basic API call example for Dutchie Point of Sale API
* This example is tested and injected into the documentation
*/
const apiKey = 'your_api_key_here';
// Use Buffer.from().toString('base64') for Node.js compatibility
const encodedKey = typeof btoa !== 'undefined'
? btoa(apiKey + ':')
: Buffer.from(apiKey + ':').toString('base64');
async function getProducts() {
try {
const response = await fetch('https://api.pos.dutchie.com/products', {
method: 'GET',
headers: {
'Authorization': `Basic ${encodedKey}`,
'Accept': 'application/json'
}
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log('Products:', data);
return data;
} catch (error) {
console.error('Error fetching products:', error);
throw error;
}
}
// Export for testing
if (typeof module !== 'undefined' && module.exports) {
module.exports = { getProducts };
}
All successful responses return data directly as JSON (no wrapper structure):
// Example: GET /products returns array directly
[
{
"productId": 12345,
"name": "Product Name",
"price": 29.99,
// ... other product fields
}
]
// Example: GET /whoami returns object directly
{
"locationName": "Store Name",
"address": "123 Main St",
"lspName": "Company Name",
// ... other location fields
}
Ready to dive deeper? Use the Interactive API Explorer to browse all available endpoints with their detailed documentation.