---
title: "Undo the most recent change to a trip's plan — whoever made it (you, Horizon, or the traveller in the app)"
method: POST
path: "/actions/undo_plan_change"
tags: ["trips"]
---

# Undo the most recent change to a trip's plan — whoever made it (you, Horizon, or the traveller in the app)

`POST /actions/undo_plan_change`

## Request

- Base URL: `https://findinghorizons.ca/api/v1`
- URL: `https://findinghorizons.ca/api/v1/actions/undo_plan_change`
- 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`)

Undo the most recent change to a trip's plan — whoever made it (you, Horizon, or the traveller in the app). Puts back the stops, dates, cities, nights, pace, drive and stop states as they were. The plan version moves on.

## Headers

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

## Request body

- object
  - `tripId` string, 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)
