---
title: "Accept proposals onto the trip"
method: POST
path: "/api/trips/{id}/plan/accept"
tags: ["Planner"]
---

# Accept proposals onto the trip

`POST /api/trips/{id}/plan/accept`

## Request

- Base URL: `https://trvlrr.app`
- URL: `https://trvlrr.app/api/trips/{id}/plan/accept`
- Auth: HTTP bearer

Each becomes a planned stay, segment, activity or place (planning_state = "planned"), or moves the trip's dates. All open proposals when proposal_ids is left out.

## Path parameters

- `id` string, required: The trip id.

## Request body

- ProposalIdsInput
  - `proposal_ids` string[]: Which proposals; all open ones if left out.

## Response `200`

What was added.

- PlanAccepted
  - `added` integer, required
  - `items` object, required
    - `places` string[], required
    - `stays` string[], required
    - `segments` string[], required
    - `experiences` string[], required

## Other responses

- `400`: The request is malformed or fails validation.
- `401`: No usable credential: a Clerk session token, a device token or an OAuth access token is required.
- `402`: Trvlrr Plus is required, or this month's AI allowance is used up.
- `403`: The caller may not do this to this account or trip.
- `404`: No such thing, or not one the caller can see.
- `422`: The input was understood but could not be acted on.

---

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