UNPKG

ws-dottie

Version:

Your friendly TypeScript companion for Washington State transportation APIs - WSDOT and WSF data with smart caching and React Query integration

192 lines 7.95 kB
{ "openapi": "3.0.0", "info": { "title": "Wsdot Border Crossings API", "version": "1.0.0", "description": "Wsdot Border Crossings API - Washington State Department of Transportation APIs" }, "servers": [ { "url": "https://wsdot.wa.gov/Traffic/api/BorderCrossings/BorderCrossingsREST.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." } }, "parameters": {} }, "paths": { "/GetBorderCrossingsAsJson": { "get": { "summary": "List current wait times for all Washington border crossings into Canada.", "operationId": "fetchBorderCrossings", "tags": [ "border-crossing-data" ], "x-codeSamples": [ { "lang": "JavaScript", "source": "import { fetchBorderCrossings } from 'ws-dottie/wsdot-border-crossings/core';\n\nconst data = await fetchBorderCrossings({\n fetchMode: 'native',\n validate: true\n});\n\nconsole.log(data);" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "BorderCrossingLocation": { "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 of the border crossing, including route, milepost, and coordinates, or null when location data is not provided for this lane." }, "CrossingName": { "type": "string", "nullable": true, "description": "Display code for the border crossing or lane (for example I5, I5Nexus, SR543TrucksFast), or null when unavailable." }, "Time": { "type": "string", "description": "UTC datetime when this border crossing wait time observation was recorded.", "format": "date-time" }, "WaitTime": { "type": "integer", "description": "Current estimated wait time for this crossing in minutes; -1 when a wait time is not available." } }, "required": [ "BorderCrossingLocation", "CrossingName", "Time", "WaitTime" ], "description": "Border crossing wait-time record for a Washington crossing into Canada, including location, crossing code, observation time, and wait time in minutes." } }, "examples": { "sampleResponse": { "summary": "Sample response", "description": "Example of a successful response from the API (showing first item of 11 total)", "value": [ { "BorderCrossingLocation": { "Description": "I-5 General Purpose", "Direction": null, "Latitude": 49.004776, "Longitude": -122.756964, "MilePost": 0, "RoadName": "005" }, "CrossingName": "I5", "Time": "2025-11-15T17:40:00.000Z", "WaitTime": 5 } ] } } } } } } } } }, "tags": [ { "name": "border-crossing-data", "description": "Current wait times for Washington border crossings into Canada by crossing and lane type.", "x-description": "Snapshot wait-time data for I-5, SR-543, SR-539, and SR-9 crossings, covering general, Nexus, and truck lanes.", "x-cacheStrategy": "FREQUENT", "x-useCases": [ "Plan trips into Canada based on current border wait times.", "Compare wait times across crossings and lane types.", "Show live wait-time information in traveler or operations dashboards." ], "x-updateFrequency": "1m" } ] }