Skip to content

Global inputs

Fields with a default can be omitted. The server applies the default. Fields marked required must be sent.

Provide either majorRoadDirection2To6 (legacy) or majorRoadApproach (cardinal), not both. The choice determines the directional key format for the rest of the request.

Field Default Notes
projectName required Name shown on the PDF. Not used in the calculations.
majorRoadDirection2To6 required Direction of the major road from approach 2 toward approach 6. Legacy values are NB, EB, SB, or WB. Approaches 2 and 6 are the major road; 4 and 8 are the minor road.
majorRoadApproach required Cardinal direction of approach 2: N, E, S, or W. Use this instead of majorRoadDirection2To6.
volumes required Turning-movement demand in vehicles per hour on each leg. Each volume is multiplied by growthFactor, then by 1 + heavyVehiclesPercent/100 and by 1 / peakHourFactor. On POST /api/v1/calculate, each hour uses allDayVolumes and the peak hour uses peakHourVolumes when that field is sent.
peakHourFactor 0.95 Peak-hour factor. Divides the hourly volume to estimate the flow rate inside the peak 15 minutes.
heavyVehiclesPercent 4 Heavy-vehicle percentage applied to every movement. 4 means 4 percent.
flowRatePerLane 1900 Base saturation flow in passenger cars per hour per lane. A signal uses this when saturationFlowRate is omitted. MUT and RCUT use it as the base for critical-lane capacity.
growthFactor 1.1 Multiplier applied to every turning volume before the heavy-vehicle and peak-hour adjustments.
majorRoadSpeedLimit 45 Major-road speed in miles per hour. With distanceToSupplementalIntersections, it sets the extra travel time added to rerouted left turns at a MUT or RCUT.
majorRoadMedianWidth 40 Major-road median width in feet. Sets the U-turn volume adjustment at MUT and RCUT crossover junctions: below 35 ft the factor is 0.8, from 35 ft up to 80 ft it is 0.85, and 80 ft or more it is 0.95. A wider median lowers the equivalent U-turn volume.
storageLength 400 Queue storage in feet. MUT and RCUT flag a movement whose estimated queue is longer than this.
maxCycleLength 200 Practical maximum cycle length in seconds. Accepted on the request. This service does not clamp the cycle length to it. A signal cycle is the cycleLength field in the signal plan, not this value.
minCycleLength 60 Practical minimum cycle length in seconds. Accepted on the request. This service does not clamp the cycle length to it. A signal cycle is the cycleLength field in the signal plan, not this value.
isSignalPlanProvided false MUT and RCUT only. true uses the greens in cycleLengthConfig. A signal ignores this flag and uses greenTimes, cycleLength, lostTimePerPhase, and saturationFlowRate.
coordinationArrivalType "HIGHLY_FAVORABLE" Progression quality on the major street. It sets the platoon ratio used in delay: VERY_POOR 0.33, UNFAVORABLE 0.67, RANDOM_ARRIVALS 1, FAVORABLE 1.33, HIGHLY_FAVORABLE 1.67, EXCEPTIONAL 2. The minor street stays at random arrivals.
distanceToSupplementalIntersections 800 Distance in feet from the main junction to a supplemental U-turn junction. Used with majorRoadSpeedLimit for the extra travel time of rerouted movements at a MUT or RCUT.

The intersection object requires different fields depending on intersectionType.

Field SIGNAL ROUNDABOUT RCUT MUT
id required required required required
name required required required required
intersectionType required required required required
globalInputs — — required required
laneConfig required required required required
cycleLengthConfig — — required required
cycleLength optional — — —
lostTimePerPhase optional — — —
saturationFlowRate optional — — —
greenTimes optional — — —
pedestrianLevels required — — —
legsWithParking required — — —
opposingCirculatingLanes — required — —
generalPedPresence — — required required
isGeneralParkingImpedance — — required —
isMinorRoadParkingAllowed — — — required

On the per-type routes, globalInputs is a sibling of laneConfig, not nested inside intersection. The 24-hour request nests the intersection configuration on intersection.

intersectionType: "SIGNAL" | "ROUNDABOUT" | "RCUT" | "MUT"

analysisType: "24_HOUR" | "PEAK_HOUR". This selects reporting focus and does not change required fields.

coordinationArrivalType: "VERY_POOR" | "UNFAVORABLE" | "RANDOM_ARRIVALS" | "FAVORABLE" | "HIGHLY_FAVORABLE" | "EXCEPTIONAL"

pedestrianLevels and generalPedPresence: "NONE" | "LOW" | "MEDIUM" | "HIGH" | "VERY_HIGH". The caller provides the level. The API does not derive it from pedestrian counts.

A signal uses pedestrianLevels, one level per leg. RCUT and MUT use generalPedPresence, one level for the intersection.