Production-ready endpoints powering every ChronoCare Pro surface. Bearer token authentication, tenant-scoped by subdomain.
/v1/jobs{ "data": [Job], "page": 1, "total": 142 }/v1/jobs{ "client_id": "c_xx", "brand": "Rolex", "model": "Submariner", "quote": 380 }{ "id": "j_xx", "ref": "CCP-2024-1042", "status": "received" }/v1/jobs/:id{ "id": "j_xx", "status": "in_service", ... }/v1/jobs/:id/status{ "status": "diagnosed" }{ "status": "diagnosed", "events": [...] }/v1/jobs/:id{ "ok": true }/v1/dsr/issue{ "job_id": "j_xx" }{ "id": "dsr_xx", "qr": "https://...", "pdf_url": "https://..." }/v1/dsr/:id/verify{ "valid": true, "tenant": "holloway", "issued_at": "..." }/v1/jobs/:id/messages{ "data": [Message] }/v1/jobs/:id/messages{ "text": "Ready Friday" }{ "id": "m_xx" }/v1/payments/intent{ "job_id": "j_xx", "method": "apple_pay" }{ "client_secret": "..." }/v1/payments/webhook{ "received": true }/v1/tenants/me{ "id": "t_xx", "subdomain": "holloway", "plan": "Atelier" }/v1/tenants/me/branding{ "accent": "#c9a14a", "shop_name": "..." }{ "ok": true }/v1/reports/revenue{ "by_brand": [...], "by_service": [...] }/v1/reports/turnaround{ "avg_days": 12.4, "on_time": 0.92 }wss://api/v1/streamevent: job.status.changed { id, from, to }