OpenITS
Docs Schema registry AsyncAPI
GitHub
AsyncAPI 3.0

The event surface, described

Every channel, operation, message and parameter OpenITS emits, generated from the in-tree event catalog and current with every release. Download the spec, or generate a typed client in your language.

Download asyncapi.yaml
9
channels
70
messages
9
service models
asyncapi.yaml
RECEIVEopenits.{region}.{agency}.…signal-control.{id}.fault-raised
MESSAGE · FaultRaised
ce-type…fault-raised.v1
payloadFaultRaised (protobuf)
schema2026-07-21
RECEIVE…signal-control.{id}.coordination-change
RECEIVE…dms.{id}.mode-changed
RECEIVE…rsu.{id}.rsu-gps-status-change
Work with the spec

From spec to running consumer in two commands.

STEP 1

Validate the spec

Confirm the surface you're building against is well-formed.

$ npx @asyncapi/cli validate asyncapi.yaml
STEP 2

Generate a client

Scaffold a typed subscriber per channel in your language.

$ npx @asyncapi/generator asyncapi.yaml \
  @asyncapi/<lang>-template -o client/

The channels here describe the reference CloudEvents binding, where each channel address maps to a NATS subject. The models themselves are transport-neutral: the same messages can be served over REST, RESTCONF, or gNMI. See the model reference for the source of truth.

Channels by service

One channel per service, addressed by the seven-token subject. Open a service to see its full event surface in the model reference.

Service
Channel address
Messages
signal-controlopenits.{…}.signal-control.{id}.{event}20
dmsopenits.{…}.dms.{id}.{event}4
essopenits.{…}.ess.{id}.{event}4
rsuopenits.{…}.rsu.{id}.{event}14
ramp-meteringopenits.{…}.ramp-metering.{id}.{event}6
perceptionopenits.{…}.perception.{id}.{event}6
traffic-sensoropenits.{…}.traffic-sensor.{id}.{event}5
reversible-laneopenits.{…}.reversible-lane.{id}.{event}5
cctvopenits.{…}.cctv.{id}.{event}6
Browse the model reference →