Data model
The objects the API returns and how they relate.
Everything the API returns is derived from measurements taken by Civimatica edge devices and processed by Civimatica models. You receive answers and state, never raw imagery.
Geography
- Corridor — a stretch of street we measure, e.g. a delivery route or a
monitored boulevard. Identified by
crd_...IDs. - Segment — a part of a corridor with its own street state,
seg_.... - Kerb zone — a contiguous stretch of kerb with parking or stopping
spaces,
kz_.... Expressed as GeoJSON when geometry is returned.
Objects
StreetState
The current model-produced state of a segment:
occupancy— free and total spaces, overall stateflow— vehicle and pedestrian rates, flow class (free_flow,moderate,congested)movement— dominant movement classes (vehicle,pedestrian,cyclist,heavy_vehicle)condition_flags— active condition types on the segment
Occupancy
Per kerb zone: free_spaces, total_spaces, a state of free, occupied,
or partially_occupied, plus confidence and observed_at.
Condition
A detected street condition — pothole, surface_damage, obstruction,
signage, or other — with severity, location, confidence, and
detected_at.
Event
Something that happened on a corridor: arrival, departure,
occupancy_change, or flow_anomaly, with an event-specific data payload.
Device
A provisioned edge device: status (provisioning, active, offline,
retired), the model_version it runs, location, and last_seen_at.
Identifiers
IDs are prefixed by type: crd_ corridor, seg_ segment, kz_ kerb zone,
cnd_ condition, evt_ event, dev_ device, ds_ dataset. Filter
parameters accept these IDs directly.
Time
All timestamps are ISO 8601 UTC. observed_at is when the state was measured;
detected_at/occurred_at is when the detection or event happened on the
street, not when it was written to the API.