HLD Slate API

Slate is HLD's unified payments and commerce layer — handling online payment intents, physical POS orders, invoicing, cash shifts, and real-time analytics across your business.

What Slate covers

  • Online payments — create Stripe PaymentIntents, capture, cancel, and refund from a single API.
  • POS orders — record card and cash transactions from physical terminals, self-checkout, or registers.
  • Products — manage your product catalogue with PLU codes, pricing, and categories.
  • Shifts — open and close cashier shifts with starting/closing cash float tracking.
  • Invoices — create, send, and mark invoices paid. Full line-item support with tax.
  • Terminals — manage Stripe card readers and POS hardware enrolled to your tenant.
  • Customers — store customer contact details linked to orders and invoices.
  • Analytics — revenue summaries, order volumes, top products, and invoice collection rates.

Base URL

bash
https://api.hldgroup.org/v1/slate

Authentication

All Slate endpoints require a valid HLD session. Pass the internal API secret plus user and tenant context headers on every request:

bash
curl https://api.hldgroup.org/v1/slate/products \
  -H "x-internal-secret: <your-api-key>" \
  -H "x-user-id: usr_01hxyz" \
  -H "x-tenant-id: ten_01hxyz" \
  -H "x-platform-role: tenant-system-admin"
Note:Slate uses the same RBAC model as HomeBase. tenant-standard-user and above can read. tenant-system-admin and above can write. Only hld-global-admin can view data across tenants.

Response shape

Single resources are wrapped in data. Lists include a pagination object:

json
// Single resource
{ "data": { "id": "ord_01hxyz", ... } }

// List
{
  "data": [...],
  "pagination": {
    "page": 1,
    "per_page": 20,
    "total": 143,
    "has_more": true
  }
}

// Error
{ "error": { "code": "validation_error", "message": "price is required." } }