Settings

Programmatic access to Lumitide — create clients, push invoice and payroll lines, read margins. Keys are scoped and revocable.

API keys
No API keys yet. Create one to start pushing data into Lumitide.
Reference

All endpoints take Authorization: Bearer <key>. Pushed lines flow through the same matching + margin pipeline as synced and uploaded data — mismatched names land in the review queue, never dropped.

GET/api/v1/summarysummary:read

Weekly rollup — billed, paid, margin, leak, flag counts. ?week is optional (defaults to the current week).

/api/v1/summary?week=2026-07-04
GET/api/v1/placementsplacements:read

Margin records per (worker, client, week) with flags and red/yellow/green status. ?week filters to one week.

/api/v1/placements?week=2026-07-04
GET/api/v1/clientsclients:read

List all clients (seeded, imported, and API-created).

POST/api/v1/clientsclients:write

Create a client. Names are matched case-insensitively — no duplicates.

{
  "name": "Beacon Logistics",
  "externalId": "QB-1042"
}
POST/api/v1/invoicesinvoices:write

Push invoice/billing lines — a single line or an array. Unknown client names create the client. amount defaults to hours × billRate.

{
  "clientName": "Beacon Logistics",
  "workerRef": "Maria Gonzales",
  "weekEnding": "2026-07-04",
  "hours": 40,
  "billRate": 58
}
POST/api/v1/payrollpayroll:write

Push payroll lines — a single person or an array. grossPay defaults to hours × payRate; burden defaults to 0 (send the real employer cost when you have it).

[
  {
    "workerRef": "Maria C Gonzales",
    "weekEnding": "2026-07-04",
    "hours": 40,
    "payRate": 32,
    "burden": 156.8
  }
]