How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

USDOT ITS JPO Operational Data Environment (ODE) REST API

The reference connected-vehicle data platform authored by the USDOT Intelligent Transportation Systems Joint Program Office. Eight operations over SAE J2735 messaging — Traveler Information Message query, create, update and delete against physical roadside units, Probe Data Management deposit, SNMP query and on-board-unit log upload. This is DEPLOYABLE SOFTWARE, not a DOT-hosted service: the Swagger 2.0 host is the literal placeholder "yourhostname" and an operator runs it on its own infrastructure under Apache 2.0. The REST API is the thin edge of a Kafka platform whose 35 topics are declared in the ODE's own configuration and captured as an AsyncAPI 3.0 document here. Safety-critical — the TIM writes change what roadside units broadcast to vehicles, and there is no idempotency key anywhere on the surface.

USDOT ITS JPO Operational Data Environment (ODE) REST API is one of 12 APIs that U.S. Department of Transportation publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Connected Vehicles, ITS, Roadside Units, SAE J2735, and Safety. The published artifact set on APIs.io includes an OpenAPI specification and an AsyncAPI specification.

This API exposes 8 operations across 6 paths, organized into 5 resource areas, and defines 30 schemas. It is described by OpenAPI 2.0, at version 0.0.1.

Requests are made against the base URL https://github.com/usdot-jpo-ode/jpo-ode.

8 operations 6 paths 30 schemas 1 DELETE2 GET4 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 2.0
API Version
0.0.1
Base URL
https://github.com/usdot-jpo-ode/jpo-ode
Resource Areas
5

Paths & Operations 8

Across 6 paths, the API surfaces 8 operations — 1 DELETE, 2 GET, 4 POST, 1 PUT. They span 5 resource areas: Operations, TIM, SNMP, PDM, log file. Each is listed below with its method, path, parameters, and response codes.

Operations 1
GET
/version
Get ODE version info
getVersion → 200
TIM 4
POST
/tim/query
Query an RSU for set TIMs
tim_query 1 param → 200400408500
PUT
/tim
Used to update an existing TIM already present on an RSU.
tim_put 1 param → 200400500
POST
/tim
Submit Traveler Information Message (TIM) for broadcast to Connected Vehicles.
tim_post 1 param → 200400500
DELETE
/tim
Delete a TIM message on an RSU.
tim_delete 1 param → 200400408500
SNMP 1
GET
/rsuHeartbeat
RSU SNMP Query
snmp_get 2 params → 200400
PDM 1
POST
/pdm
PDM Interface
pdm_post 1 param → 200400500
log file 1
POST
/upload/obulog
File upload interface
upload-obulog 1 param → 200400500

Schemas 30

The contract defines 30 schemas that model the data the API accepts and returns. The most detailed are PDM (15 properties), Region (14 properties), TravelerDataFrame (13 properties), SNMP (9 properties). Each schema is shown below with its type and property counts.

versionResponse
object
1 property
tim
object
5 properties
TravelerInputData
object
2 properties
request
object
3 properties
ProbeDataManagement
object
3 properties
Ode
object
1 property
TravelerDataFrame
object
13 properties 1 required
MsgID
object
2 properties
RoadSignID
object
4 properties
Region
object
14 properties
ComputedLane
object
6 properties
Path
object
4 properties
Attribute
object
6 properties
DataList
object
6 properties
SpeedLimit
object
2 properties
Geometry
object
GeometricProjection data frame is used to describe various geometric spatial areas
4 properties
OldRegion
object
6 properties
Circle
object
3 properties
ShapePointSet
object
4 properties
NodeListXY
object
2 properties
RegionPointSet
object
3 properties
RegionList
object
3 properties
OdePosition3D
object
3 properties
Node
object
6 properties
SNMP
object
Optional field, needed for SNMP deposit to RSU.
9 properties
RSU
object
Optional field, needed for SNMP deposit to RSU.
6 properties
SDW
object
6 properties
PDM
object
15 properties
VehicleStatusRequest
object
6 properties
Status
object
2 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

us-dot-its-jpo-ode-rest-api-openapi.yml Raw ↑

Other APIs U.S. Department of Transportation publishes across the network.

FAA Aeronautic Product Release API (APRA)
FAA Air Carrier Pilot Records Database (PRD) API
FAA Safety Assurance System (SAS) API
FAA Data Catalog (CKAN Action API v3)
DOT Data Hub Open Data API
Bureau of Transportation Statistics Open Data API
NHTSA vPIC (Vehicle Product Information Catalog) API
NHTSA Safety API (recalls, complaints, safety ratings)
FRA Safety Data Web Services
FMCSA QCMobile API
U.S. Department of Transportation Airport Status Web Service
Where this information came from

This is an independent, third-party profile of USDOT ITS JPO Operational Data Environment (ODE) REST API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.