Metadata endpoint
The Metadata endpoint provides detailed metadata about time series tags. This includes information such as the human-readable name of the signal, description, units of measure, data source, scaling factor, valid range, and mappings to other naming domains. Use this endpoint to understand what a particular time series represents.
curl "https://prism.raalabs.io/{ENVIRONMENT}/metadata/{domain}/{expression}" \
-H "Authorization: Bearer $TOKEN"
Request
Path parameters
imo
The IMO number of the vessel (if required by the domain’s format). Many domain expressions begin with the IMO number of the vessel.
domain
The contextual domain for the metadata query (e.g. jsmea
, raalabs
, id
).
expression
The query expression to filter which tags' metadata to retrieve. This can be a specific path or include wildcards (*
) to get multiple tags.
Response
If the query is valid, the response will include metadata for all matching time series in JSON format. The response structure is a JSON object (dictionary) where each key is a time series ID (the domain id, according to the chosen domain) and the value is an object containing that tag’s metadata fields.
JSON format
Each metadata object may include the following fields (keys can vary depending on the data source):
name
– Human-friendly name of the signal.description
– Detailed description of the measurement.source
– Source system or origin of the data (e.g., sensor or system name).scale
– Scaling factor applied to the raw data (if any).uom
– Unit of measure (abbreviation) for the values (e.g.,deg
for degrees,kW
for kilowatts).mapsTo
– Mappings of this tag in other domains (if available). This is an object where keys are domain names and values are the corresponding tag identifiers in those domains (e.g., mapping a JSMEA standard name to a Raa Labs short tag).rangeHigh
/rangeLow
– High and low range values (if defined) that the measurements are expected to lie within.timeSeriesId
– A unique UUID for the time series (internal identifier).vesselImo
– The IMO number of the vessel this data is associated with.vesselName
– The name of the vessel.
Example JSON metadata response:
{
"IMO1000003/jsmea_nav/PositioningSystem/GPS///Longitude/": {
"name": "Longitude",
"description": "SHIP POSITION (LONGITUDE)",
"source": "FurunoVDR",
"scale": 1.0,
"uom": "deg",
"mapsTo": {
"jsmea": "IMO1000003/jsmea_nav/PositioningSystem/GPS///Longitude/",
"raalabs": "IMO1000003/GPS_LONG"
},
"rangeHigh": 180.0,
"rangeLow": -180.0,
"timeSeriesId": "11000001-0000-0000-0000-000000000000",
"vesselImo": "1000003",
"vesselName": "Flying Dutchman"
},
"IMO1000003/jsmea_nav/PositioningSystem/GPS///Latitude/": {
"name": "Latitude",
"description": "SHIP POSITION (LATITUDE)",
"source": "FurunoVDR",
"scale": 1.0,
"uom": "deg",
"mapsTo": {
"jsmea": "IMO1000003/jsmea_nav/PositioningSystem/GPS///Latitude/",
"raalabs": "IMO1000003/GPS_LAT"
},
"rangeHigh": 90.0,
"rangeLow": -90.0,
"timeSeriesId": "11000001-0000-0000-0000-000000000001",
"vesselImo": "1000003",
"vesselName": "Flying Dutchman"
}
}
(This example shows two metadata entries for Longitude and Latitude tags of vessel Flying Dutchman. It includes mappings in both JSMEA and Raa Labs domains for each tag.)
Examples
Retrieve Metadata for a Single Vessel
Get all available metadata for vessel IMO 1234567, using the Raa Labs domain (which will list Raa Labs tags for that vessel):
curl "https://prism.raalabs.io/{ENVIRONMENT}/metadata/raalabs/IMO1234567/*" \
-H "Authorization: Bearer $TOKEN"
This returns a JSON object containing metadata for every tag of the vessel with IMO 1234567 (in the Raa Labs naming convention). The wildcard *
ensures all tags for that vessel are included.
Retrieve Metadata for Entire Fleet
Get all metadata for all vessels (the entire fleet) in the Raa Labs domain:
curl "https://prism.raalabs.io/{ENVIRONMENT}/metadata/raalabs/*" \
-H "Authorization: Bearer $TOKEN"
By using raalabs/*
with no specific IMO, this will return metadata for every time series across all vessels that you have access to, using the flat tag names.
Filtered Metadata Query (e.g., Main Engine tags)
Retrieve metadata for all Main Engine related tags across the fleet in the JSMEA domain:
curl "https://prism.raalabs.io/{ENVIRONMENT}/metadata/jsmea/*/jsmea_mac/MainEngine/*" \
-H "Authorization: Bearer $TOKEN"
In this query, jsmea/*/jsmea_mac/MainEngine/*
means: for any vessel (*
in IMO slot), under the JSMEA machinery domain (jsmea_mac
), get anything under MainEngine
. This will return metadata for all tags that are part of the main engine systems for all vessels, with their detailed descriptions, units, etc.
Last updated