List the Activities of a Travel Data Trip

GET
/v2/travel-data/trips/{trip_id}/activities

Returns every activity of a trip, in ingestion order, each with its traveler and the calculations persisted for it. A trip is a single booking, so the list is bounded and returned in full — it is not paginated.

This is where additional methodologies become visible: the items array of POST /v2/travel-data only reports the primary methodology of each activity, while an activity here carries one calculation per methodology configured for its type.

The key set varies by activity type. origin and destination are returned for flight, car and train but not for hotel; fuel_type only for car and train. A key the type cannot have is omitted rather than returned as null, so read type first. traveler is always present, and is null for an activity submitted without one.

Individual legs of a routing flight are not listed — the routed activity carries the itinerary total.

A trip you cannot access responds with 404 and error code travel_data_not_found.

Authorization

Bearer-Auth
headerAuthorizationBearer <token>

Path Parameters

trip_id*string

The trip's id (UUID) or your own trip_reference.

Response Body

OK

application/json
  1. response
[index: integer]?

One activity of a stored trip — a flight, hotel stay, car ride or train journey — together with the traveler it was booked for and every calculation persisted for it.

The key set varies by type. Route and fuel are only stored for the activity types that have them: a hotel stay has no origin/destination, and only car and train carry a fuel_type. A key a type cannot have is omitted rather than returned as null, so read type first.

Individual legs of a routing flight are not returned: a leg is an internal segment of its itinerary, and the routed activity carries the itinerary total.

Example Request
curl -X GET 'https://api.sandbox.squake.earth/v2/travel-data/trips/string/activities'
Example Response
[  {    "id": "6c1f6a5e-1d0e-4b8a-9f2c-2b1e6d4a7c31",    "type": "flight",    "trip_id": "0194d6b4-8711-7873-899d-c8133cd742f8",    "client_id": "4fb3ec7a-92cb-471f-b75f-c3fe7c2a34d5",    "external_reference": "ACTIVITY-FLIGHT-OUTBOUND",    "origin": "BER",    "destination": "LHR",    "traveler": {      "name": "Jane Doe",      "email": "jane.doe@example.com",      "traveler_type": "employee"    },    "calculations": [      {        "id": "3f2a1c8e-5d47-4b91-a0c3-1e8b7d6f4a20",        "methodology": "DEFRA",        "methodology_version": "2026",        "co2_in_grams": 142600,        "audit": null      }    ]  }]

Retrieve an Activity of a Travel Data Trip

Returns a single activity of a trip with its traveler and the calculations persisted for it. Activities are always addressed through their trip. As in the list, the key set depends on the activity `type`: `origin`/`destination` are absent for a `hotel` stay, and `fuel_type` is only returned for `car` and `train`. An activity of another trip, a routing leg, and an ID that does not exist all respond with `404` and error code `travel_data_not_found`.

List Travel Data Trips

Returns the trips stored for the authenticated client, most recently ingested first. Trips from every source are listed — API submissions, CSV imports and TMC integrations alike. Each trip is returned in full: the identity fields a submission echoes back (`id`, `trip_reference`, `client_id`, `submitted_by_client_id`, `activity_ids`) plus the trip as you described it on ingestion — `trip_name`, `trip_purpose`, `trip_status`, `start_date_utc`, `end_date_utc`, `booking_provider`, `amount_in_cents`, `currency` and the nested `cost_center`. What a trip does *not* carry is its activities: only their IDs. Read an activity, its traveler, its calculations and its audit references from [`/v2/travel-data/trips/{trip_id}/activities`](https://docs.squake.earth/reference/squake/travel-data/get-v2-travel-data-trips-trip-id-activities). **Pagination:** results are paginated with the `page` and `items` query parameters, and the pagination metadata is returned in the response headers (`Current-Page`, `Page-Items`, `Total-Pages`, `Total-Count`, and an RFC 8288 `Link` header). **Multi-client:** if submitting on behalf of other clients is enabled for your account, this lists the trips of the authenticated client and all of its descendants. Otherwise only your own trips are returned — never a parent's, a sibling's, or an unrelated client's. A client with no stored trips gets an empty array.