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_pubCamera locations and configurationdetector_pubVehicle detectorsdms_messageDMS messages and statusdms_pubDMS locations and configurationincidentActive incidentsrwisPublic weather sensor datasign_messageActive DMS sign messagesstation_sampleVehicle detector station datasystem_attribute_pubPublic system attributesTPIMS_archiveTruck parking archive dataTPIMS_dynamicTruck parking dynamic dataTPIMS_staticTruck parking static data
Restricted Resources: iris/api/
loginAuthentication endpoint —POST iris/api/loginwith a JSON object containingusernameandpasswordvalues. A session cookie is created for subsequent restricted requests.GET iris/api/loginreturns a JSON string containing the authenticated user's name.accessAccess permissions —GET iris/api/accessreturns a JSON array of permission records associated with the authenticated user's role.notifyNotification endpoint —POST iris/api/notifywith 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/notifyrequest, 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_stateBeacon statescomm_protocolCommunication protocolsconditionController conditionsdirectionTravel directionsencodingVideo encodingsgate_arm_interlockGate arm interlocksgate_arm_stateGate arm statesinc_impactIncident impactsinc_rangeIncident rangelane_codeLane codeslcs_indicationLCS indicationsmeter_algorithmRamp metering algorithmsmeter_queue_stateRamp meter queue statesmeter_typeRamp meter typesr_node_transitionR_Node transitionsr_node_typeR_Node typesresource_typeResource types available iniris/api/road_classRoad classesroad_modifierRoad modifiers
Fonts: iris/tfon/
These are static fonts which can be used in sign messages.