---
title: "Save a road trip as a real, private trip — the drive Horizon works out for these inputs (the same as propose_road_trip;"
method: POST
path: "/actions/save_road_trip"
tags: ["roadtrips"]
---

# Save a road trip as a real, private trip — the drive Horizon works out for these inputs (the same as propose_road_trip;

`POST /actions/save_road_trip`

## Request

- Base URL: `https://findinghorizons.ca/api/v1`
- URL: `https://findinghorizons.ca/api/v1/actions/save_road_trip`
- Auth: OAuth 2 (authorization code, authorization URL `https://findinghorizons.ca/api/mcp/authorize`, token URL `https://findinghorizons.ca/api/mcp/oauth/token`, scopes: `trips:manage`)

Save a road trip as a real, private trip — the drive Horizon works out for these inputs (the same as propose_road_trip; it is worked out again here, never taken from your copy), with the way home: "mirror" (drive back the same way), "fly" (an unbooked flight home) or "keep_going" (the trip ends there). Dates YYYY-MM-DD are optional. The plan limit of their subscription applies.

## Headers

- `Idempotency-Key` string, required
- `X-FH-Task` string

## Request body

- object
  - `start` string, required: Where the drive starts (a town or city)
  - `destination` string, required
  - `stops` string[]: Optional places on the way, in order
  - `drivers` number: 1, 2 or 3 people who drive
  - `pace` 'relaxed' | 'balanced' | 'sooner': relaxed ≤6 h at the wheel a day · balanced ≤8 h · sooner ≤10 h
  - `backRoads` boolean: Avoid motorways (slower, scenic)
  - `title` string
  - `startDate` string
  - `endDate` string
  - `wayHome` 'mirror' | 'fly' | 'keep_going', required
  - `today` string: The traveller's own date, YYYY-MM-DD, where the action needs one
  - `expectedVersion` integer: For a change to a trip: the planVersion you last read

## Response `200`

Done — { ok, api, action, result, card, operation? }

## Other responses

- `202`: Waiting for the traveller's approval in Finding Horizons
- `400`: Bad body / missing Idempotency-Key
- `401`: No or invalid token
- `403`: Scope not granted
- `409`: Conflict: the plan changed since expectedVersion, or the same key is still running
- `422`: The action said no
- `429`: Rate limited

---

[API](https://skmtc.dev/findinghorizons/apis/finding-horizons-api.md) · [All operations](https://skmtc.dev/findinghorizons/apis/finding-horizons-api/llms.txt) · [OpenAPI document](https://skmtc.dev/findinghorizons/apis/finding-horizons-api/revisions/e347f6070173?raw)
