uploadImage
Upload an image
Uploads an image for use in pass templates or per-pass strip overrides.
Send as multipart form data with a purpose field and a file field
containing the PNG image.
Upload behaviour by purpose:
strip— accumulates. Each upload creates a new image; the returnedidcan be passed asstrip_image_idonPOST /v1/passesorPATCH /v1/passes/{id}to give individual passes their own banner. Previousstripimages are NOT deleted — manage them viaDELETE /v1/images/{id}when no longer referenced.All other purposes (
icon,logo,thumbnail,background,footer, and all_2x/_3xvariants) — replace-on-upload. Uploading a new image of the same purpose deletes the previous one from storage and DB. These are app-wide template assets, not per-pass.
Scope: images:manage
Maps to OpenAPI operationId uploadImage — POST /manage-images.
Same PassFast HTTP API, billing, and rate limits. Do not invent other paths.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| purpose | Yes | The intended use of the image. `strip` uploads accumulate (for per-pass `strip_image_id` overrides); all other purposes replace existing uploads of the same purpose for the app. | |
| filename | No | Optional filename sent with the multipart upload. | |
| x_app_id | No | Override X-App-Id for this call. Defaults to the MCP connection header. | |
| file_base64 | Yes | Base64-encoded file bytes. Maps to the OpenAPI multipart `file` field — same uploadImage (or equivalent) endpoint, not a new API. |