Welcome to the Wave Glider Message Server (Firehose)

The Message Server allows you to query Liquid Robotics for messages sent from Wave Gliders. In response to a query, it returns the messages as JSON text (relaxed or strict), or as comma separated values (CSV). There are lots of options for the kinds of queries you can build.

Getting Started

This basic query gives you the most recent messages: Get me the most recent messages

The client connection remains open to receive messages as they arrive. Here are some more examples:

I am looking for...Example queries
All incoming messages,starting from a given time in the past (the start query parameter)messages, starting from 10 minutes ago
messages starting two hours ago, strict JSON format
messages starting from yesterday
messages starting from September 1st 2015 at 3pm (potentially large dataset!)
All messages within a given time interval (the start and end query parameter)messages between and hour and two hours ago, strict JSON format
messages sent between 1pm and 5pm on September 2nd 2015
Messages of a particular type or types (the kinds query parameter)Weather messages that came since yesterday, CSV
Waveglider and CTD, GenericAlarm and AIS messages in the last hour
Outputs in various formatsWaveglider messages from the last 2 hours, as loose JSON
Waveglider messages from the last 2 hours, as strict JSON
Waveglider messages from the last 2 hours, as CSV
Messages generated by a particular vehicle or vehicles (the vids parameter)Latest messages from vehicle: 771545959 and vehicle: 1531231814
messages from vehicle: 771545959 of type GenericAlarm starting 12 hours ago
Messages coming from a particular geographical location (bounded box: the lat-bounds and long-bounds parameters)Latest messages from vehicles in Sunnyvale
Weather messages in last day from Hawaii, strict JSON format

Structure of the Query

<URL to message server>/firehose/?<param1>&<param2=value>...<paramN=value>
Query ParameterDescriptionDefault value
startstart time for data10 mins ago.
endend time for datanever
kindscomma separated list of message types you want in the dataall message types
vidscomma separated list of Unique IDs of the vehicles you want in the dataall vehicles
lat-boundscomma separated min and max of the latitude from which you want data-90,90
long-boundscomma separated min and max of the longitude from which you want data-180,180
formatthe output format of the data, value either csvjson (for relaxed json, less noisy), or json (for strict json, works with all parsers), or csv for comma separated values.csvjson
gzip (no value)if present, the output will be sent compresseduncompressed
doc (no value)if present, the documentation accompanying the messages will be sent, message type documentationno documentation

Syntax of start/end time parameters

The syntax of the start and end time parameters is quite flexible. They can be:

  1. An ISO 8601 date
  2. A relative time that is a signed number followed a single character that specifies the units: "-1w" means one week ago, "-1d" means one day ago, "-24h" means 24 hours ago, and "-10m" means 10 minutes ago
  3. The literal string now, which is the same as "-0m"