Get pilot totals (batch)
Fetch totals for up to 50 linked pilots in a single request. Useful for dashboards showing many pilots at once, or for reducing round-trips when you already know the full set of linked pilot_ids.
GET /v1/pilot-totals/batch?pilot_ids=ID1,ID2,ID3Required scope: pilot-totals.
Parameters
Section titled “Parameters”| Param | Type | Notes |
|---|---|---|
pilot_ids | comma-separated UUIDs | Max 50 per request |
Request
Section titled “Request”curl -X GET \ "https://api.skyden.app/functions/v1/api/v1/pilot-totals/batch?pilot_ids=52b00948-12cd-4d06-ac29-027641d59ef0,9e1b3c7d-aaaa-4000-bbbb-111122223333" \ -H "Authorization: Bearer YOUR_API_KEY"const ids = [ "52b00948-12cd-4d06-ac29-027641d59ef0", "9e1b3c7d-aaaa-4000-bbbb-111122223333",];const res = await fetch( `https://api.skyden.app/functions/v1/api/v1/pilot-totals/batch?pilot_ids=${ids.join(",")}`, { headers: { Authorization: `Bearer ${process.env.SKYDEN_API_KEY}` } },);const { data } = await res.json();import os, requests
ids = [ "52b00948-12cd-4d06-ac29-027641d59ef0", "9e1b3c7d-aaaa-4000-bbbb-111122223333",]res = requests.get( "https://api.skyden.app/functions/v1/api/v1/pilot-totals/batch", headers={"Authorization": f"Bearer {os.environ['SKYDEN_API_KEY']}"}, params={"pilot_ids": ",".join(ids)},)pilots = res.json()["data"]["pilots"]Response
Section titled “Response”200 OK
{ "data": { "pilots": [ { "pilot_id": "52b00948-12cd-4d06-ac29-027641d59ef0", "last_updated": "2026-04-21T06:22:12.127Z", "totals": { "total_flight_time_minutes": 7342, "pic_minutes": 6765, "sic_minutes": 577, "dual_minutes": 0, "instructor_minutes": 2432, "cross_country_minutes": 7342, "night_minutes": 4036, "ifr_minutes": 7189, "actual_instrument_minutes": 7189, "simulated_instrument_minutes": 0, "single_engine_minutes": 0, "multi_engine_minutes": 7342, "multi_pilot_minutes": 7342, "simulator_minutes": 1305 }, "landings": { "total_day": 20, "total_night": 14 }, "flight_count": 80, "last_flight_date": "2026-04-13T00:00:00.000Z" } ] }, "meta": { "api_version": "v1", "request_id": "req_d7c81f44" }}For the list of fields returned per pilot, see the field reference on the single-pilot endpoint.
Errors specific to this endpoint
Section titled “Errors specific to this endpoint”| Code | Status | Meaning |
|---|---|---|
INVALID_REQUEST | 400 | pilot_ids is missing, empty, contains more than 50 IDs, or any value is not a valid UUID |
INSUFFICIENT_SCOPE | 403 | Your API key doesn’t have the pilot-totals scope |
See Errors for the full list of common error codes.