IRIS
Intelligent Roadway Information System
REST API
The REST API is provided by the honeybee service.
iris/
├── api/
├── gif/
├── img/
├── lut/
└── tfon/
Public Resources: iris/
These are JSON arrays, fetched using http GET
requests:
camera_pub
Camera locations and configurationdetector_pub
Vehicle detectorsdms_message
DMS messages and statusdms_pub
DMS locations and configurationincident
Active incidentsrwis
Public weather sensor datasign_message
Active DMS sign messagesstation_sample
Vehicle detector station datasystem_attribute_pub
Public system attributesTPIMS_archive
Truck parking archive dataTPIMS_dynamic
Truck parking dynamic dataTPIMS_static
Truck parking static data
Restricted Resources: iris/api/
login
Authentication endpoint —POST iris/api/login
with a JSON object containingusername
andpassword
values. A session cookie is created for subsequent restricted requests.GET iris/api/login
returns a JSON string containing the authenticated user's name.access
Access permissions —GET iris/api/access
returns a JSON array of permission records associated with the authenticated user's role.notify
Notification endpoint —POST iris/api/notify
with a JSON array containing channels of interest. To get notifications for a single object, append$
name to the channel name. Using SSE, a client can receive notifications by sending aGET iris/api/notify
request, with EventSource.
These resources can be accessed using standard http methods. Access is restricted by session authentication and permission authorization.
GET iris/api/{type}
: Get a JSON array of all objects of{type}
, with only primary attributes — those needed for searching and displaying compact cards. The response also contains an ETag header, derived from the file's modified metadata, encoded in hexadecimal.GET iris/api/{type}/{name}
: Get a single object as JSON, with primary and secondary attributesPOST iris/api/{type}
: Create a new object of the{type}
. Body contains required attributes as JSONPATCH iris/api/{type}/{name}
: Update attributes of one object, with JSONDELETE iris/api/{type}/{name}
: Delete one object
A Content-Type: application/json
header is included where appropriate.
Resource Types
Access Control | Communication | Devices | |
---|---|---|---|
domain | comm config | alarm | gps |
permission | comm link | beacon | lcs |
role | controller | camera | ramp meter |
user | cabinet style | detector | tag reader |
modem | dms | video monitor | |
gate arm | weather sensor |
Most devices also have an associated geo loc resource.
Graphics: iris/gif/
These are static graphics which can be used in sign messages.
Sign Images: iris/img/
These are public GIF images of active sign messages from iris/sign_message
.
They are rendered to appear as the entire face of a sign, with multi-page
messages as animated GIFs.
Lookup Tables: iris/lut/
These are static resources which may only change on IRIS updates:
beacon_state
Beacon statescomm_protocol
Communication protocolscondition
Controller conditionsdirection
Travel directionsencoding
Video encodingsgate_arm_interlock
Gate arm interlocksgate_arm_state
Gate arm statesinc_impact
Incident impactsinc_range
Incident rangelane_code
Lane codeslane_use_indication
LCS lane use indicationslcs_lock
LCS lock codesmeter_queue_state
Ramp meter queue statesr_node_transition
R_Node transitionsr_node_type
R_Node typesresource_type
Resource types available iniris/api/
road_class
Road classesroad_modifier
Road modifiers
Fonts: iris/tfon/
These are static fonts which can be used in sign messages.