The Cryosphere Innovation public API exposes two read-only endpoints. One returns deployment metadata; the other returns raw sensor data for a specific deployment.
All requests are made against a single base URL:
https://api.cryosphereinnovation.com
Every request must include an Authorization: Bearer YOUR_API_KEY header — see Authentication.
Deployments
Metadata about deployments — names, locations, dates, owners, and free-form detail fields.
GET /public/deployments/
Returns a paginated list of deployments visible to the caller. Public deployments are visible to everyone with a valid key; private deployments are visible only to the owner and collaborators.
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number (1-indexed). |
page_size | integer | 100 | Items per page. Maximum 1000. |
status | string | — | Filter by exact status (e.g. deployed, retrieved, planned). |
web_page_enabled | boolean | — | true or false. Filters to deployments that do or do not have a public web page. |
instrument | integer | — | Filter by instrument ID (foreign key). |
q | string | — | Free-text search across name, location, status, data_uuid, slug, instrument name, serial number, instrument type, and owner name/email. |
sort_by | string | last_modified | Field to sort by. |
sort_dir | string | desc | asc or desc. |
Response
{
"count": 142,
"next": "https://api.cryosphereinnovation.com/public/deployments/?page=2&page_size=2",
"previous": null,
"results": [
{
"name": "SIMB3 2023A",
"status": "deployed",
"location": "Beaufort Sea",
"slug": "300434066157890",
"data_uuid": "e11478e8-8bda-4494-a796-08b82334dfa0",
"deployment_description": "Spring deployment from USCGC Healy.",
"deployment_notes": null,
"deployment_start_date": "2023-04-12T00:00:00Z",
"deployment_end_date": null,
"details": { "ice_thickness_at_deployment_cm": 145 }
},
{ "…": "…" }
]
}{
"count": 142,
"next": "https://api.cryosphereinnovation.com/public/deployments/?page=2&page_size=2",
"previous": null,
"results": [
{
"name": "SIMB3 2023A",
"status": "deployed",
"location": "Beaufort Sea",
"slug": "300434066157890",
"data_uuid": "e11478e8-8bda-4494-a796-08b82334dfa0",
"deployment_description": "Spring deployment from USCGC Healy.",
"deployment_notes": null,
"deployment_start_date": "2023-04-12T00:00:00Z",
"deployment_end_date": null,
"details": { "ice_thickness_at_deployment_cm": 145 }
},
{ "…": "…" }
]
}GET /public/deployments/{slug}
Returns a single deployment. The slug is the canonical identifier. For SIMB3 deployments the slug is the instrument's IMEI (e.g. 300434066157890); for redeployments and other instruments it may be any unique string.
curl "https://api.cryosphereinnovation.com/public/deployments/300434066157890" \
-H "Authorization: Bearer YOUR_API_KEY"curl "https://api.cryosphereinnovation.com/public/deployments/300434066157890" \
-H "Authorization: Bearer YOUR_API_KEY"The response body is a single deployment object with the same fields as a list entry (see schema below).
Deployment schema
| Field | Type | Nullable | Description |
|---|---|---|---|
name | string | no | Human-readable deployment name. |
status | string | no | Current status (e.g. deployed, retrieved, planned). |
location | string | no | Free-form location label (e.g. "Beaufort Sea"). |
slug | string | no | Canonical deployment identifier. For SIMB3 this is the IMEI. |
data_uuid | string (UUID) | no | Identifier used to fetch raw sensor data. |
deployment_description | string | yes | Deployment summary written by the owner. |
deployment_notes | string | yes | Operational notes. |
deployment_start_date | string (ISO-8601) | yes | Start timestamp. |
deployment_end_date | string (ISO-8601) | yes | End timestamp; null while deployed. |
details | object | yes | Instrument- or deployment-specific free-form object. Contents vary. |
Sensor data
Time-series sensor readings for a specific deployment. One endpoint, one method.
GET /public/deployment/data/{uuid}
Returns an array of raw sensor rows for the deployment identified by data_uuid. Rows are ordered chronologically by time_stamp.
The data_uuid is a UUID, not a slug — find it on the deployment's metadata response or in the Instant Query panel on the deployment's web page.
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
field | string (repeatable) | — | Restrict the response to specific fields. Repeat the parameter to include multiple fields (e.g. ?field=air_temp&field=surface_distance). When omitted, every field on each row is returned. |
Response
Each row is a plain JSON object. The exact keys depend on the deployment's sensor package — SIMB3 deployments return fields like air_temp, surface_distance, latitude, longitude, and a time_stamp, while custom instruments may report different channels.
[
{
"_id": "6512b7a1f2c9a83b5c1e44d1",
"time_stamp": "2024-03-14T06:00:00Z",
"air_temp": -18.4
},
{
"_id": "6512b7a1f2c9a83b5c1e44d2",
"time_stamp": "2024-03-14T07:00:00Z",
"air_temp": -17.9
}
][
{
"_id": "6512b7a1f2c9a83b5c1e44d1",
"time_stamp": "2024-03-14T06:00:00Z",
"air_temp": -18.4
},
{
"_id": "6512b7a1f2c9a83b5c1e44d2",
"time_stamp": "2024-03-14T07:00:00Z",
"air_temp": -17.9
}
]_id is always present and unique per row. Use it if you need to track which rows you've already processed.
A note on payload size
The data endpoint returns every row in the deployment's history. For long-running deployments that can be tens of thousands of rows. Always pass field= to restrict the response to the channels you actually need — it's the single biggest lever for keeping requests fast and your client's memory flat.
Errors
Error responses follow a small, predictable set of shapes and HTTP status codes. See Errors for the full reference.