This page walks through querying the deployments endpoint in practice — listing deployments, filtering, searching, sorting, paginating, and fetching a single deployment by slug. For the complete parameter and field reference, see Endpoints.
Every example assumes you've generated an API key and exported it as YOUR_API_KEY.
List every deployment
A bare GET against /public/deployments/ returns the first page of results (100 per page by default). Every deployment you have access to — public or otherwise — appears in the list.
curl "https://api.cryosphereinnovation.com/public/deployments/" \
-H "Authorization: Bearer YOUR_API_KEY"curl "https://api.cryosphereinnovation.com/public/deployments/" \
-H "Authorization: Bearer YOUR_API_KEY"import requests
url = "https://api.cryosphereinnovation.com/public/deployments/"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, headers=headers).json()
for deployment in response["results"]:
print(deployment["name"], "-", deployment["status"])import requests
url = "https://api.cryosphereinnovation.com/public/deployments/"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, headers=headers).json()
for deployment in response["results"]:
print(deployment["name"], "-", deployment["status"])The response is wrapped in a paginated envelope:
{
"count": 142,
"next": "https://api.cryosphereinnovation.com/public/deployments/?page=2",
"previous": null,
"results": [ /* up to page_size deployments */ ]
}{
"count": 142,
"next": "https://api.cryosphereinnovation.com/public/deployments/?page=2",
"previous": null,
"results": [ /* up to page_size deployments */ ]
}Filter by status
Pass a status query parameter to narrow the list to a specific deployment state — deployed, retrieved, planned, and so on.
curl "https://api.cryosphereinnovation.com/public/deployments/?status=deployed" \
-H "Authorization: Bearer YOUR_API_KEY"curl "https://api.cryosphereinnovation.com/public/deployments/?status=deployed" \
-H "Authorization: Bearer YOUR_API_KEY"params = {"status": "deployed"}
response = requests.get(url, headers=headers, params=params).json()params = {"status": "deployed"}
response = requests.get(url, headers=headers, params=params).json()Free-text search
Use q to search across name, location, status, slug, data UUID, and instrument fields in a single pass:
curl "https://api.cryosphereinnovation.com/public/deployments/?q=beaufort" \
-H "Authorization: Bearer YOUR_API_KEY"curl "https://api.cryosphereinnovation.com/public/deployments/?q=beaufort" \
-H "Authorization: Bearer YOUR_API_KEY"Sort
By default results are ordered by last_modified descending. Override with sort_by + sort_dir:
curl "https://api.cryosphereinnovation.com/public/deployments/?sort_by=deployment_start_date&sort_dir=desc" \
-H "Authorization: Bearer YOUR_API_KEY"curl "https://api.cryosphereinnovation.com/public/deployments/?sort_by=deployment_start_date&sort_dir=desc" \
-H "Authorization: Bearer YOUR_API_KEY"Paginate through every deployment
Increase page_size up to 1000 for fewer round-trips, or walk the next URL until it's null.
import requests
url = "https://api.cryosphereinnovation.com/public/deployments/?page_size=500"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
all_deployments = []
while url:
page = requests.get(url, headers=headers).json()
all_deployments.extend(page["results"])
url = page["next"]
print(f"Fetched {len(all_deployments)} deployments")import requests
url = "https://api.cryosphereinnovation.com/public/deployments/?page_size=500"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
all_deployments = []
while url:
page = requests.get(url, headers=headers).json()
all_deployments.extend(page["results"])
url = page["next"]
print(f"Fetched {len(all_deployments)} deployments")Fetch a single deployment
Append the deployment's slug to the URL. For SIMB3 deployments the slug is the instrument IMEI — for redeployed instruments it may be a different unique identifier.
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"slug = "300434066157890"
url = f"https://api.cryosphereinnovation.com/public/deployments/{slug}"
deployment = requests.get(url, headers=headers).json()
print(deployment["data_uuid"]) # use this to fetch sensor dataslug = "300434066157890"
url = f"https://api.cryosphereinnovation.com/public/deployments/{slug}"
deployment = requests.get(url, headers=headers).json()
print(deployment["data_uuid"]) # use this to fetch sensor dataThe response body is a single deployment object (not wrapped in a pagination envelope).
Next
- Fetching sensor data — use the
data_uuidfrom a deployment to query its time-series readings - Endpoints — full parameter and response reference