Skip to content
Client OS
Menu

Client OS API

Contracts, invoices and time

Contracts, invoices, retainers, support plans and time entries.

The money side of the clientos example, behind the dashboard’s money pages.

Operations

Contracts, invoices and time operations
RequestWhat it does
GET /api/clientos/contractsList records (org:viewer or above)
POST /api/clientos/contractsCreate a record (org:contributor or above)
GET /api/clientos/contracts/{id}Get one record (org:viewer or above)
PATCH /api/clientos/contracts/{id}Update a record (org:contributor or above)
DELETE /api/clientos/contracts/{id}Delete a record (org:admin)
GET /api/clientos/invoicesList records (org:viewer or above)
POST /api/clientos/invoicesCreate a record (org:contributor or above)
GET /api/clientos/invoices/{id}Get one record (org:viewer or above)
PATCH /api/clientos/invoices/{id}Update a record (org:contributor or above)
DELETE /api/clientos/invoices/{id}Delete a record (org:admin)
GET /api/clientos/retainersList records (org:viewer or above)
POST /api/clientos/retainersCreate a record (org:contributor or above)
GET /api/clientos/retainers/{id}Get one record (org:viewer or above)
PATCH /api/clientos/retainers/{id}Update a record (org:contributor or above)
DELETE /api/clientos/retainers/{id}Delete a record (org:admin)
GET /api/clientos/support-plansList records (org:viewer or above)
POST /api/clientos/support-plansCreate a record (org:contributor or above)
GET /api/clientos/support-plans/{id}Get one record (org:viewer or above)
PATCH /api/clientos/support-plans/{id}Update a record (org:contributor or above)
DELETE /api/clientos/support-plans/{id}Delete a record (org:admin)
GET /api/clientos/time-entriesList records (org:viewer or above)
POST /api/clientos/time-entriesCreate a record (org:contributor or above)
GET /api/clientos/time-entries/{id}Get one record (org:viewer or above)
PATCH /api/clientos/time-entries/{id}Update a record (org:contributor or above)
DELETE /api/clientos/time-entries/{id}Delete a record (org:admin)

Methods and paths come from packages/api-client/openapi.json, which CI regenerates from the route definitions; this site builds its lists from that file. Every /api operation needs a Supabase Auth JWT or a PAT and is rate limited. /health and /health/deep are plain routes outside the spec.