post
/api/v2/traffic/speed-per-segmentPython SDK method:
client.traffic.speed_per_segment(params).run()Start speed per segment job
Creates a job to generate a speed per segment analysis. Returns speed metrics (spot speed, travel speed, free-flow speed, percentiles, observed count) for each individual road segment in the input, rather than aggregating across the corridor.
Altitude Help Center — getSpeedAnalysisPerSegmentRequest Body
Analysis parameters.
application/json: object
| Name | Type | Input Shape | Values | Description | Value Required |
|---|---|---|---|---|---|
aggregationPeriod | object | unit: string; value: integer | - | Time interval used to group the results. Set unit to '*' for one summary of the whole period, or to 'hour', 'minute' or 'week' for a breakdown over time. | Y |
dateFrom | string (date) | - | - | First date of the analysis range, formatted as yyyy-mm-dd. | Y |
dateTo | string (date) | - | - | Last date of the analysis range (inclusive), formatted as yyyy-mm-dd. | Y |
daysOfWeek | array<integer> | - | - | Days of the week to include (1=Sunday … 7=Saturday). An empty array includes all days. | N |
excludeServiceRoads | boolean | - | - | When true, service road categories are excluded from results. Defaults to true when omitted. | N |
isDirectional | boolean | - | - | When true, one record is returned per direction of travel; when false, results are averaged across both directions. | Y |
isMetric | boolean | - | - | When true, speeds are returned in km/h; when false, in mph. Defaults to the unit setting in your user profile when omitted. | N |
jobId | string | - | - | Optional identifier for the job. Generated by the server when omitted. | N |
percentiles | array<integer> | - | - | Percentile values to compute (1–99). Defaults to the 15th, 50th and 85th percentiles when omitted. | N |
roadTypes | array<string> | - | living_street, motorway, motorway_link, primary, primary_link, residential, road, secondary, secondary_link, service, tertiary, tertiary_link, trunk, trunk_link, unclassified | Road types to include. Must contain at least one value. | Y |
timeFrom | string | - | - | Start of the time-of-day window, formatted as hh:mm:ss. Defaults to 00:00:00 when omitted. | N |
timeTo | string | - | - | End of the time-of-day window, formatted as hh:mm:ss.999. Defaults to 23:59:59.999 when omitted. | N |
vehicleClassIds | array<string> | - | - | Vehicle class filter IDs from GET /api/v2/filters/vehicle-classes. IDs must use the scheme_vehicleClassIndex_categoryIndex format and share one scheme; IDs that do not name a known vehicle class are rejected. An empty array includes all vehicle classes. | N |
vehicleClassSchemeId | integer | - | 1, 2, 3, 4, 5, 6 | Vehicle classification scheme: 1 = VIUS, 2 = GVWR (FHWA), 3 = Truck Weight Classes, 4 = CARB, 5 = Gross Weight Group (custom scheme), 6 = Expansion Factors (custom scheme). Defaults to 2 when omitted. See GET /api/v2/filters/vehicle-class-schemes. | N |
vehicleClasses | array<object> | vehicleType: string (values: Truck, Passenger, MPV, Bus, Limo, Other, n/a); weightClass: string (values: *, Class 1, Class 2, Class 3, Class 4, Class 5, Class 6, Class 7, Class 8, Class A, Class B, Class C, Class D, Class E, Class F, Class G, Class H) | - | Vehicle class filters. Use an empty array to include all vehicle classes. | N |
zoneIds | array<string> | - | - | Zones to include, as encoded zone IDs. Provide exactly one of zoneIds or zones (not both). | N |
zones | array<object> | code: string; iso_3166_2: string; type: string (values: State, County, City, FSA, ZIP, TAZ, CTR, Custom, Segment) | - | Zones to include, each identified by a code, a zone type and a state or province code (iso_3166_2). Provide exactly one of zones or zoneIds (not both). | N |
Examples
County speed per segment request
Translated from the v1 getSpeedAnalysisPerSegment sample.
{
"aggregationPeriod": {
"unit": "*",
"value": 1
},
"dateFrom": "2026-01-01",
"dateTo": "2026-01-07",
"isDirectional": true,
"isMetric": false,
"roadTypes": [
"motorway"
],
"zones": [
{
"code": "32003",
"iso_3166_2": "US-NV",
"type": "County"
}
]
}Success Responses
202 response: object
Job accepted and queued for processing. Poll the location header URL to check status.
| Name | Type | Description |
|---|---|---|
error | object | Details about why the job failed (RFC 7807 format), or null if it succeeded. |
id | string | Unique job identifier. |
links | object | Navigation URLs for polling and result retrieval. |
status | string | Current job lifecycle state: PENDING, QUEUED, RUNNING, DONE, FAILED, CANCELED, or NOT_FOUND. |
Response Errors
| HTTP Status Code | Reason |
|---|---|
| 400 | The request body or parameters are invalid. |
| 401 | Authentication is required or the provided credentials are invalid. |
| 403 | The authenticated user lacks permission to perform this operation. |
| 409 | The operation conflicts with the current state of the resource. |
| 422 | The request is syntactically valid but semantically cannot be processed. |
| 429 | The request rate limit has been exceeded. |
| 500 | An unexpected server error occurred. |