---
title: "Update an album"
method: PATCH
path: "/events/{id}"
tags: ["Events"]
---

# Update an album

`PATCH /events/{id}`

## Request

- Base URL: `https://findme.photo/api/v1`
- URL: `https://findme.photo/api/v1/events/{id}`
- Auth: HTTP bearer

Partially updates an album you own; send at least one field. Unknown fields are rejected. Send `null` for `event_date`, `description` or `tag` to clear them. Changing `access_code` changes the guest link; a taken code returns `409 conflict`. `album_quality` can only change while the album has no photos (otherwise `409 conflict` with `details.current_quality` and `details.photo_count`) and only to a quality the plan allows (otherwise `402 upgrade_required` with `requested` and `plan_max`). The response does not include `stats`.

## Request body

- UpdateEventRequest
  - `name` string
  - `event_date` string, date, nullable: YYYY-MM-DD, or null to clear.
  - `description` string, nullable
  - `tag` string, nullable
  - `access_code` string: 4-12 uppercase letters or digits. Changes the guest link.
  - `album_quality` '800px' | '3000px' | '4000px' | '15mb': Stored photo resolution for the album, by long edge: 800px, 3000px, 4000px, or `15mb` (up to 8000 px). Fixed once the album has photos.
  - `enable_downloads` boolean
  - `is_collaborative` boolean

## Response `200`

The updated album (without `stats`).

- object
  - `data` EventDetail, required: An album as returned by `getEvent` (with `stats`) and `updateEvent` (without).
    - `id` string, uuid, required
    - `name` string, required
    - `access_code` string, required
    - `event_date` string, date, nullable, required
    - `description` string, nullable, required
    - `tag` string, nullable, required
    - `album_quality` '800px' | '3000px' | '4000px' | '15mb', required: Stored photo resolution for the album, by long edge: 800px, 3000px, 4000px, or `15mb` (up to 8000 px). Fixed once the album has photos.
    - `enable_downloads` boolean, required
    - `is_collaborative` boolean, required
    - `gallery_url` string, uri, required
    - `qr_url` string, uri, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `stats` EventStats
      - `photo_count` integer, required: Photos in the album (any status).
      - `video_count` integer, required: Videos in the album (any status).
      - `storage_bytes` integer, required: Storage the album uses, counted at uploaded size.
      - `guest_visits` integer: Total guest visits. Only when the plan includes analytics.
      - `selfie_searches` integer: Total selfie searches. Only when the plan includes analytics.
  - `meta` Meta, required
    - `request_id` string, required

## Other responses

- `400`: `invalid_request`: invalid id, query parameter, cursor or body. Validation failures list `details.issues`.
- `401`: `missing_or_invalid_token` (no or malformed `Authorization: Bearer fm_live_...` header) or `invalid_token` (unknown or revoked key).
- `402`: `upgrade_required`: the plan does not allow this (album limit or album quality). Includes `upgrade_url`.
- `403`: `tier_not_eligible`: the plan does not include API access (includes `upgrade_url`), or does not include the feature this endpoint needs.
- `404`: `not_found`: no such resource, or it is not yours, or (for albums) it is deleted.
- `409`: `conflict`: the request conflicts with the current state.
- `429`: `rate_limited` (per-minute limit; `retry_after_seconds`) or `quota_exceeded` (monthly quota; `retry_after_seconds`, `resets_at`).
- `500`: `internal_error`: something failed on our side. Safe to retry reads; include `request_id` when reporting.

---

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