---
title: "Export"
method: POST
path: "/api/v2/packing-lists/{externalId}/export"
tags: ["Packing lists (v2)"]
---

# Export

`POST /api/v2/packing-lists/{externalId}/export`

## Request

- Base URL: `https://www.endlesstravelplans.com`
- URL: `https://www.endlesstravelplans.com/api/v2/packing-lists/{externalId}/export`
- Auth: HTTP bearer

`format` pdf (the list as the wizard prints it), ics (the trip as a calendar file) or google (200 `{url}`,
the Google Calendar link). A link holder may download while the list is shared. PDF and calendar are
metered once per list for free accounts; a list on a locked trip answers 403 `trip_locked`.

## Request body

- object
  - `format` 'pdf' | 'ics' | 'google', required

## Response `200`

pdf or ics

## Other responses

- `401`: unauthenticated: No valid bearer token was sent.
- `403`
- `404`: not_found: The record does not exist or the caller may not know it exists.
- `422`: validation_failed: The request body failed validation; field messages are in `errors`.
- `429`: rate_limited: A throttle or a per-account allowance refused the request; `retry_after` or `remaining` may be present.
- `500`: server_error: Unhandled failure; quote `request_id` to support.

---

[API](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api.md) · [All operations](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api/llms.txt) · [OpenAPI document](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api/revisions/ae82ed3e4a8f?raw)
