---
title: "Upload location picture"
method: POST
path: "/locations/{locationId}/picture"
tags: ["locations"]
---

# Upload location picture

`POST /locations/{locationId}/picture`

## Request

- Base URL: `https://api.usecrouton.com`
- URL: `https://api.usecrouton.com/locations/{locationId}/picture`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
- TypeScript: <https://skmtc.dev/usecrouton/apis/crouton-api/docs/locations/:locationId/picture/post.ts> (a function with typed inputs; its response is checked against the schema)

Uploads a location picture as `multipart/form-data` with a single `file` field (webp, jpeg, png, or gif; max ~12 MiB). Soft client limit is 8 MiB. Auth matches edit location.

## Request body `multipart/form-data`

- object
  - `file` union, required
    - string
    - string
    - string
    - string

## Response `200`

The updated location.

## Other responses

- `400`: 400
- `401`: Missing, invalid, revoked, or expired API key.
- `403`: API key lacks the required resource or access level.
- `404`: Location not found
- `422`: Locations feature is disabled for this organization.

## Changes

- **2026-10-28** `809cbf38e25a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usecrouton/apis/crouton-api/changes/locations/:locationId/picture/post.md)

---

[API](https://skmtc.dev/usecrouton/apis/crouton-api.md) - [All operations](https://skmtc.dev/usecrouton/apis/crouton-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usecrouton/apis/crouton-api/revisions/809cbf38e25a?raw)
