---
title: "Upload the passport's link-preview image"
method: PUT
path: "/api/passport/image"
tags: ["Passport"]
---

# Upload the passport's link-preview image

`PUT /api/passport/image`

## Request

- Base URL: `https://trvlrr.app`
- URL: `https://trvlrr.app/api/passport/image`
- Auth: HTTP bearer

A PNG of the card (1200×630, drawn by the web app when you publish) shown when the page's link is shared. At most 2 MB.

## Response `200`

Stored.

- PassportSettings
  - `published` boolean, required
  - `handle` string, nullable, required
  - `url` string, nullable, required
  - `holder` string, nullable, required
  - `indexable` boolean, required
  - `image_updated_at` string, nullable, required
  - `suggestion` string, nullable, required: A free handle made from the account's name, for the first publish.

## Other responses

- `401`: No usable credential: a Clerk session token, a device token or an OAuth access token is required.
- `403`: The caller may not do this to this account or trip.
- `404`: No such thing, or not one the caller can see.
- `413`: The upload is too large.
- `415`: The bytes are not a supported type.

---

[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)
