# 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 : / are absent for a stay, and is only returned for and . An activity of another trip, a routing leg, and an ID that does not exist all respond with and error code . Endpoint: GET /v2/travel-data/trips/{trip_id}/activities/{activity_id} Security: Bearer-Auth ## Path parameters: - `trip_id` (string, required) The trip's (UUID) or your own . - `activity_id` (string, required) The activity's (UUID), as listed in the trip's . ## Response 200 fields (application/json): - `id` (string, required) Identifier of the activity, as listed in the trip's . - `type` (string, required) The activity type of a travel data activity. Enum: "car", "flight", "hotel", "train" - `trip_id` (string, required) The trip this activity belongs to. - `client_id` (string, required) The client that owns the activity — always the owner of its trip. - `external_reference` (string,null, required) Your own reference for the activity, echoed from the request that created it. - `origin` (string,null) Where the activity started, echoed from ingestion in the format it was submitted in — typically an airport code for a , an address, UN/LOCODE or lat/long pair for a or . The city and country SQUAKE resolved it to are used for the calculation and kept internally. A activity has no route, and the key is omitted rather than . - `destination` (string,null) Where the activity ended, in the same format as . A activity has no route, and the key is omitted rather than . - `fuel_type` (string,null) The fuel the activity was calculated with, echoed from ingestion. The accepted values depend on the methodology — see the and request schemas. For a or activity the key is omitted rather than . - `traveler` (object,null, required) Who travelled, as you described them on submission, or for an activity submitted without a traveler (common for CSV and TMC rows). The key is always present, for every activity type. Only the fields that identify the traveler to you are returned — the department, the external employee id and the internal id the record carries in the dashboard are not part of this response. - `traveler.name` (string,null, required) Name of the traveler, echoed from ingestion. - `traveler.email` (string,null, required) Email of the traveler, echoed from ingestion and lower-cased. This is the value travelers are deduplicated on within a client. - `traveler.traveler_type` (string,null, required) Type of traveler, echoed from ingestion. Enum: "employee", "contractor", "guest", null - `calculations` (array, required) The calculations persisted for this activity, oldest first — one per methodology configured for the activity type. Empty if no calculation was persisted. - `calculations.id` (string, required) Identifier of the calculation. - `calculations.methodology` (string, required) The methodology this calculation ran under. - `calculations.methodology_version` (string,null) The published version of that methodology for this activity type. for methodologies that are not versioned. - `calculations.co2_in_grams` (number, required) Emissions of this calculation, in grams of CO₂ equivalent. Note the unit: the calculation endpoints and the array of report kilograms by default. - `calculations.audit` (object,null, required) The audit log created for this calculation, or when the activity was submitted without audit mode. Only the is returned — read the full log from [](https://docs-v2.squake.earth/docs/openapi/audits/get-v2-audits-id). - `calculations.audit.id` (string, required) ## Response 401 fields (application/json): - `errors` (array) - `errors.code` (string, required) An application-specific error code, expressed as a string value. Enum: "field_validation_error", "invalid_params", "server_error", "not_authorized", "not_found", "invalid_methodology", "invalid_type", "client_not_found", "invalid_parent_client", "client_has_children", "parent_id_immutable", "travel_data_not_found" - `errors.detail` (string) A human-readable explanation specific to this occurrence of the problem. Like title, this field's value can be localized. - `errors.source` (object) An object containing references to the primary source of the error - `errors.source.id` (string) - `errors.source.attribute` (string, required) - `errors.source.model` (string) ## Response 404 fields (application/json): - `errors` (array) - `errors.code` (string, required) An application-specific error code, expressed as a string value. Enum: "field_validation_error", "invalid_params", "server_error", "not_authorized", "not_found", "invalid_methodology", "invalid_type", "client_not_found", "invalid_parent_client", "client_has_children", "parent_id_immutable", "travel_data_not_found" - `errors.detail` (string) A human-readable explanation specific to this occurrence of the problem. Like title, this field's value can be localized. - `errors.source` (object) An object containing references to the primary source of the error - `errors.source.id` (string) - `errors.source.attribute` (string, required) - `errors.source.model` (string)