ws-dottie
Version:
Your friendly TypeScript companion for Washington State transportation APIs - WSDOT and WSF data with smart caching and React Query integration
300 lines (295 loc) • 11.7 kB
YAML
openapi: 3.0.0
info:
title: Wsdot Traffic Flow API
version: 1.0.0
description: Wsdot Traffic Flow API - Washington State Department of Transportation APIs
servers:
- url: https://www.wsdot.wa.gov/traffic/api/trafficflow/trafficflowrest.svc
description: Production server
components:
schemas:
RoadwayLocation:
type: object
properties:
Description:
type: string
nullable: true
description: Human-readable description of the roadway location, such as interchange names or cross streets.
Direction:
type: string
nullable: true
description: 'Traffic direction designation: N, S, B, NB, or SB, indicating which side of the highway is affected.'
Latitude:
type: number
description: Latitude of the roadway location in decimal degrees.
Longitude:
type: number
description: Longitude of the roadway location in decimal degrees.
MilePost:
type: number
description: Milepost marker along the highway corridor, with 0 indicating route terminus.
RoadName:
type: string
nullable: true
description: Highway or route designation code, such as '005' for I-5 or '090' for I-90.
required:
- Description
- Direction
- Latitude
- Longitude
- MilePost
- RoadName
description: Roadway location information including route, milepost, coordinates, and direction.
FetchTrafficFlowByIdOutput:
type: object
properties:
FlowDataID:
type: number
description: Numeric ID of the traffic flow station.
FlowReadingValue:
anyOf:
- type: number
enum:
- 0
- type: number
enum:
- 1
- type: number
enum:
- 2
- type: number
enum:
- 3
- type: number
enum:
- 4
- type: number
enum:
- 5
description: 'Code indicating traffic flow condition: 0 = Unknown, 1 = WideOpen, 2 = Moderate, 3 = Heavy, 4 = StopAndGo, 5 = NoData.'
FlowStationLocation:
type: object
nullable: true
properties:
Description:
type: string
nullable: true
description: Human-readable description of the roadway location, such as interchange names or cross streets.
Direction:
type: string
nullable: true
description: 'Traffic direction designation: N, S, B, NB, or SB, indicating which side of the highway is affected.'
Latitude:
type: number
description: Latitude of the roadway location in decimal degrees.
Longitude:
type: number
description: Longitude of the roadway location in decimal degrees.
MilePost:
type: number
description: Milepost marker along the highway corridor, with 0 indicating route terminus.
RoadName:
type: string
nullable: true
description: Highway or route designation code, such as '005' for I-5 or '090' for I-90.
required:
- Description
- Direction
- Latitude
- Longitude
- MilePost
- RoadName
description: Roadway location information for the traffic flow station.
Region:
type: string
nullable: true
description: WSDOT region that maintains the traffic flow station.
StationName:
type: string
nullable: true
description: Station identifier code combining route, direction, and milepost.
Time:
type: string
description: UTC datetime when the traffic flow reading was taken.
format: date-time
required:
- FlowDataID
- FlowReadingValue
- FlowStationLocation
- Region
- StationName
- Time
description: Real-time traffic flow data from a sensor station, including flow condition, location, region, and measurement timestamp.
parameters: {}
paths:
/getTrafficFlowsAsJson:
get:
summary: List current traffic flow conditions for all stations statewide.
operationId: fetchTrafficFlows
tags:
- flow-data
x-codeSamples:
- lang: JavaScript
source: |-
import { fetchTrafficFlows } from 'ws-dottie/wsdot-traffic-flow/core';
const data = await fetchTrafficFlows({
fetchMode: 'native',
validate: true
});
console.log(data);
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
type: object
properties:
FlowDataID:
type: number
description: Numeric ID of the traffic flow station.
FlowReadingValue:
anyOf:
- type: number
enum:
- 0
- type: number
enum:
- 1
- type: number
enum:
- 2
- type: number
enum:
- 3
- type: number
enum:
- 4
- type: number
enum:
- 5
description: 'Code indicating traffic flow condition: 0 = Unknown, 1 = WideOpen, 2 = Moderate, 3 = Heavy, 4 = StopAndGo, 5 = NoData.'
FlowStationLocation:
type: object
nullable: true
properties:
Description:
type: string
nullable: true
description: Human-readable description of the roadway location, such as interchange names or cross streets.
Direction:
type: string
nullable: true
description: 'Traffic direction designation: N, S, B, NB, or SB, indicating which side of the highway is affected.'
Latitude:
type: number
description: Latitude of the roadway location in decimal degrees.
Longitude:
type: number
description: Longitude of the roadway location in decimal degrees.
MilePost:
type: number
description: Milepost marker along the highway corridor, with 0 indicating route terminus.
RoadName:
type: string
nullable: true
description: Highway or route designation code, such as '005' for I-5 or '090' for I-90.
required:
- Description
- Direction
- Latitude
- Longitude
- MilePost
- RoadName
description: Roadway location information for the traffic flow station.
Region:
type: string
nullable: true
description: WSDOT region that maintains the traffic flow station.
StationName:
type: string
nullable: true
description: Station identifier code combining route, direction, and milepost.
Time:
type: string
description: UTC datetime when the traffic flow reading was taken.
format: date-time
required:
- FlowDataID
- FlowReadingValue
- FlowStationLocation
- Region
- StationName
- Time
description: Real-time traffic flow data from a sensor station, including flow condition, location, region, and measurement timestamp.
examples:
sampleResponse:
summary: Sample response
description: Example of a successful response from the API (showing first item of 1462 total)
value:
- FlowDataID: 2482
FlowReadingValue: 1
FlowStationLocation:
Description: Homeacres Rd
Direction: EB
Latitude: 47.978415632
Longitude: -122.174701738
MilePost: 0.68
RoadName: '002'
Region: Northwest
StationName: 002es00068
Time: '2025-11-15T17:43:22.000Z'
/getTrafficFlowAsJson?FlowDataID={FlowDataID}:
get:
summary: Get current traffic flow condition for a specific station by ID.
operationId: fetchTrafficFlowById
tags:
- flow-data
x-codeSamples:
- lang: JavaScript
source: |-
import { fetchTrafficFlowById } from 'ws-dottie/wsdot-traffic-flow/core';
const data = await fetchTrafficFlowById({
params: {
"FlowDataID": 2482
},
fetchMode: 'native',
validate: true
});
console.log(data);
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FetchTrafficFlowByIdOutput'
examples:
sampleResponse:
summary: Sample response
description: Example of a successful response from the API
value:
FlowDataID: 2482
FlowReadingValue: 1
FlowStationLocation:
Description: Homeacres Rd
Direction: EB
Latitude: 47.978415632
Longitude: -122.174701738
MilePost: 0.68
RoadName: '002'
Region: Northwest
StationName: 002es00068
Time: '2025-11-15T17:43:22.000Z'
tags:
- name: flow-data
description: Real-time traffic flow conditions from sensor stations across Washington state.
x-description: Current traffic flow readings, station locations, and timestamps for traffic monitoring and congestion detection.
x-cacheStrategy: FREQUENT
x-useCases:
- Monitor real-time traffic flow conditions across Washington highways.
- Detect congestion and traffic patterns for route planning.
- Display current traffic status in traveler information systems.
x-updateFrequency: 90s