Jobs
The Jobs endpoints provide access to your enriched job records, including AI-extracted fault types, outcomes, timings, and relationships to engineers, sites, and customers.GET /jobs/feed
Returns a paginated feed of enriched jobs for your company. Supports filtering by entity, status, punctuality, date range, and sort field. All filters are optional and composable as AND conditions. Query parameters:Punctuality filters combine with AND. Prefer
finished_late=true / started_late=true for late questions. Job payloads still expose finishedEarly / startedEarly (and startDeltaMins / endDeltaMins where negative = early, positive = late). Do not pass conflicting early/late pairs for the same axis.GET /jobs/feed/account
Returns a paginated feed of jobs scoped to a parent account and all its child contacts. Pass any contact ID, parent or child, and the endpoint resolves the full hierarchy automatically.This endpoint resolves the parent/child account hierarchy. If you pass a child contact ID, the parent is found and all sibling contacts are included. If you pass a parent, all children are included. Standalone contacts return only their own jobs.
Query parameters:
Response includes an
account block with the resolved hierarchy context:
- Monthly account reviews, scope by
date_from/date_towithdate_field=actualEndAtto see all work delivered to a customer account in a period. - Account + type filtering, add
type_idto see only fire alarm or HVAC jobs across the whole account hierarchy. - Account performance, combine with
status=completedOk,completedWithIssuesto measure first-visit fix rate across all child sites. - Account late finishes, use
finished_late=truewithdate_field=actualEndAtandsort_by=endDeltaMinsto rank overruns across the hierarchy.
GET /jobs/{job_id}
Returns the full enriched record for a specific job, including AI-extracted fields, linked relationships from the intelligence layer, and timing data. Path parameters:
Query parameters:
Example:
POST /aggregate/jobs
Job metrics with groupBy dimensions and period comparison. Powers dashboard charts, trend analysis, and punctuality counts. Request body:filters fields:
For punctuality counts, use
metric=job_count with the boolean filters. Prefer finishedLate=true / startedLate=true. Pair time_axis with the question: finish / overrun → actualEndAt; start / arrival → actualStartAt. Do not estimate late counts from avg_end_delta_mins or avg_start_delta_mins — averages mask mixed early and late jobs. Follow up with GET /jobs/feed using the same filters, matching date_field, and sort_by=endDeltaMins (or startDeltaMins) for worst-N lists.