Settings
Programmatic access to Lumitide — create clients, push invoice and payroll lines, read margins. Keys are scoped and revocable.
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.
/api/v1/summarysummary:readWeekly rollup — billed, paid, margin, leak, flag counts. ?week is optional (defaults to the current week).
/api/v1/summary?week=2026-07-04
/api/v1/placementsplacements:readMargin records per (worker, client, week) with flags and red/yellow/green status. ?week filters to one week.
/api/v1/placements?week=2026-07-04
/api/v1/clientsclients:readList all clients (seeded, imported, and API-created).
/api/v1/clientsclients:writeCreate a client. Names are matched case-insensitively — no duplicates.
{
"name": "Beacon Logistics",
"externalId": "QB-1042"
}/api/v1/invoicesinvoices:writePush 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
}/api/v1/payrollpayroll:writePush 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
}
]