Need Help?

Use our support resources

Home       Developer's Guide       Support

FAQ icon Contact icon


What is CityIQ?

CityIQ is the all-in-one IoT platform developed and supported by Current, powered by GE. This platform transforms urban lighting footprints into a digital infrastructure. Current’s unique, intelligent nodes embedded with multiple sensors and on-board computing power for edge analytics, are upgradable through over the air updates and installed on all street lights across cities. It is extensible by connecting to neighboring devices and perform multi-sensor fusion over a secure network connection.


At the heart of this IoT platform, Current’s Intelligent Cities APIs make the vast amount of sensor data actionable through the Cloud. These open, yet highly secured, APIs deliver real-time intelligence to cities allowing them to enhance their open data policies and begin civic engagement models. Engagement that connects citizens with the local developer community, entrepreneurs, start-ups, universities, and companies that have niche expertise globally. The objective is to transform the collected data into applications that drive new city services, optimize operations and improve citizens’ quality of life in real time.


CityIQ provides seven API services:
1. Parking Planning
2. Pedestrian Planning
3. Bicycle Planning
4. Traffic Planning
5. Media
6. Environmental Planning
7. Energy Metering Planning

Please go to for more information.

Analytics is performed on the edge device and the extracted data is reported to the Cloud in JSON format. For specific information on what individual API provides, please consult API documentation:
For any additional data information, please contact the city representative directly. Ensure your city supports this platform beforehand. Otherwise, please reach out to with your information and request and we will respond to you as soon as possible.
Currently, we do not have a sandbox environment with simulated data for our partners to utilize. If you are an independent software vendor, we welcome you to become a partner. Click here if you are interested to become a partner.


Using the APIs


Start by looking over the online API documentation. Additionally, you can find more information in our Public GitHub page where you can find a helpful On Boarding Package and some starter codes.
To obtain access, you must contact either your municipality or Current by GE. Once access is granted, you will be given directions on how to get started. These will include Subscription Ids (formerly known as Predix Zone Ids) and URLs that are specific to YOUR client_id and client_secret.
Simply put, the WebSocket is a secure live connection providing near-live-data as it occurs. The REST API is a secure method to request only historical data.
The best time to use the WebSocket is when you want continuous data and do not want to have to make requests for data. If you set up a local system to run in sequence with the WebSocket, you only need to specify your initial requests and wait for the data to arrive. We often recommend starting your application using the REST API and then transition into the WebSocket when you’ve become comfortable with the data.

Your city should provide you with three things:
1. Your client_id and client_secret. You need your own unique client_id and client_secret to access the system. This will be provided through an email sent from which will also direct the user to accept a EULA agreement.
2. The URLs necessary to access APIs which will be provided once the EULA agreement is accepted:

a. The UAA URL provides the first level of access to the API and allows you to make queries. You will first use the UAA URL to generate a token and then use the subsequent URLs to make queries via the UAA URL.
b. Metadata Service URL is used to query assets and returns their identifiers and relationships, pole location and events logged (time period must be specified).
c. Event Service URL is used to query specific events related to assets obtained via the metadata URL.
d. Media Service URL is used to access any media (video, images, sounds) that is recorded by the nodes. This URL may not be made available to you based on your city’s security credentials. Inquire at your city to find out about the access rights you may need.
e. WebSocket URL is a specialized URL that is used for constant data streaming.
3. The Subscription IDs (formerly known as Predix Zone IDs) based on your access rights. These are necessary header parameters that assert your access rights. These will also be provided after the EULA agreement has been accepted.


Yes, they are the same as API Subscription Ids (formerly known as Predix Zone Ids) which was formerly branded to reflect the usage of the Predix Platform. While we have maintained the name Predix Zone Id for communication consistency, the CityIQ platform has completely migrated off of Predix and onto Amazon Web Services (AWS).
EULA is defined as the CityIQ End-User License Agreement. When prompted or before using the API, access the EULA link provided with your client_id and client_secret. Login at the EULA site with your client_id and client_secret. Read and accept the terms and conditions to obtain the URLs and Subscription Ids (formerly known as Predix Zone Ids) to begin development.

Absolutely. Remember to keep track of the original data source, especially which PREDIX-Zone-Id the assets originate from. A client access might have one, two, or several different ZoneIDs; they may also have disparate data sources and are separated by the ZoneID.


For example, you might be attending a CURRENT hackathon event that gives you access to both Smart Cities and Smart Buildings APIs, but they use the same CURRENT client_id and client_secret.


Once again, think of these as separate; the data itself is separated by a ZoneID, and in many cases, different ZoneIDs can rely on separate backend data sources, even if the front-end login credentials are the same.


The Subscription ID will need to be changed before calling an API in a different PREDIX ZoneID. Once again, find a way to keep track of the Postman Collection | PREDIX ZoneID | AssetId lineage from which the specific dataset originated.




Parking Data comprises of two types of events, parking in events (PKIN) and parking out events (PKOUT) which reflect when a vehicle arrives in a parking space and when a vehicle is detected as no longer being in that parking space. These events report time and geographic coordinates of the vehicle.

Pedestrian Data comprises of one type of event called a pedestrian event (PEDEVT). These events are 30 second summaries of the group pedestrian activity. These aggregated summary events provide cardinal directions across a trip wire location (WALKWAY locationType) with the pedestrian count and average speed.

Traffic Data comprises of one type of event called a traffic event (TFEVT). These events are 30 second summaries of the group traffic activity categorized by vehicle type (i.e. small_vehicle and large_vehicle). These aggregated summary events provide cardinal direction across a tripwire location (TRAFFIC_LANE locationType) with the vehicle count and average speed.

Bicycle Data comprises of one type of event called a traffic event (BICYCLE). These events are 30 second summaries of the group bicycle activity. These aggregated summary events provide cardinal direction across a tripwire location (TRAFFIC_LANE or WALKWAY locationTypes) with the bicycle count and average speed.

Environmental Data comprises of three types of events each indicative of an individual measurement. They are TEMPERATURE, PRESSURE and ACCELERATION. Each of these events is reported every 15 minutes and provides the mean, average, maximum and minimum measurements of their respective units. The units selected are SI units and have power of tens that are required to multiply by to get the consumable value. For example, temperature is reported in Kelvin. For help on this calculation, please reference the documentation with the Environmental API Map.

Energy Metering Data comprises of two types of events each indicative of an individual measurement. They are METROLOGY and ENERGY_TIMESERIES. Each of these events is reported every 15 minutes and provides the mean, average, maximum and minimum measurement of their respective units. Please reference the documentation for more information.

Media Data comprises of three types of media: Image, Video and Audio. Media data is extremely restricted and may be based on municipal policy. The availability of this data is custom to your municipality. Often the city enables an App Partner to access the data for law enforcement purposes. This data is available only on the node (not saved in the Cloud databases) and are only available for the last 5 days maximum (some municipalities have opted for less than 5 days of data).

• Parking Events reflect the time the event occurred. However, for accuracy, parking in (PKIN) events are officially detected and reported 90 seconds after the event. Parking out (PKOUT) events are officially detected and reported 180 seconds after the event. These are configurable values however based off CityIQ validation results, these time delays are crucial to maintain accuracy.

• Pedestrian, Traffic and Bicycle events are summary events that are reported every 30 seconds.

• Environmental and Energy Metering events are summary events reported every 15 minutes.

• Media is stored on the node for a maximum of 5 days (configurable by the municipality).

All events, except media content, are stored in the CityIQ Cloud databases for up to 7 years. All media content is available on the Edge and must be requested using the Media API process as it is only available for the last 5 days. When a specific request is made, the CityIQ system sends the requested information to the Cloud and saves it there for 4 hours to enable other downloaders to extract the same information. If other downloaders make the same request, the download will be much faster since that initial request saved the video to the Cloud. After 4 hours, it is then deleted from the Cloud.
• Metadata is static data describing the world around each node. This data is crucial in understanding what devices the events have, what the consumer intends on using and also provides details on the specific locations being monitored.

• Events are time dependent information detailing new occurrences in the camera view or node region. We recommend first visualizing the space using the metadata and then proceeding to consume event data since metadata details such as assetUids and locationUids will be necessary to obtain event data.

• Media is comprised of audio and video recording that can be extracted. This data is extremely restricted in order to respect privacy. Given the access rights, video sequences, audio recordings and individual images can be extracted. Metadata is required in order to obtain this data.

No, CityIQ analytics do not isolate license plates or individual faces and report any data related to individuals.





The CityIQ Analytics Team develops the analytic methods to interpret events from live images. Those analytics methods report to the Cloud Database and become accessible to the consumer.
We are hoping to one day have an SDK (Software Developer Kit) to support 3rd party analytics. Please check back for its availability.
When a vehicle is stopped in a PARKING_ZONE, the analytics determines and reports the location of the vehicle. The analytics do not report on parking stalls but instead on parked vehicles. This is useful for situations in which parking is available but individual stalls are not outlined by the municipality.




Please report all bugs or any other issues by sending an email to
Once a CityIQ or Municipal Representative has provided you with the necessary credentials, they will also provide you with a link to an OnBoarding Package on GitHub. The package contains directions as well as a Postman collection with matching environment. The Onboarding Package also contains three WebSocket Examples. Additionally, developers have access to the CityIQ-Starter-Code (JavaScript and Python) available on CurrentByGE GitHub.