🚀 Quick Start Guide

Get up and running with the Dutchie API in just 5 minutes

1Get Your API Key

Contact Dutchie Support via the support portal to request API keys. Keys are vendor-specific and permission-scoped.

📖 More Details: See the Authentication Guide for the complete key request process.

2Authentication

Use HTTP Basic Authentication with your API key as the username (leave password empty).

Authorization: Basic {base64(api_key:)}

3Base URL & Endpoints

All API requests are made to: https://api.pos.dutchie.com

Common Endpoints:

🔐 Permissions: Each endpoint requires specific permission scopes. See the Permissions Reference for complete details on which permissions are needed for each endpoint.

4Your First API Call

Let's test your setup by fetching products. Choose your preferred approach:

cURL Example:

curl -X GET "https://api.pos.dutchie.com/products" \
  -H "Authorization: Basic {your_encoded_key}" \
  -H "Accept: application/json"

JavaScript (Fetch API):

/**
 * 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 };
}

5Understanding API Responses

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
}
📖 Learn More: For detailed information about pagination, date ranges, and advanced query patterns, see the Pagination Guide.

🎉 You're Ready!

Ready to dive deeper? Use the Interactive API Explorer to browse all available endpoints with their detailed documentation.