---
title: "Update a collection"
method: PATCH
path: "/v1/collections/{id}"
tags: ["Collections"]
---

# Update a collection

`PATCH /v1/collections/{id}`

## Request

- Base URL: `https://api.memestack.ai`
- URL: `https://api.memestack.ai/v1/collections/{id}`
- Auth: HTTP bearer

Owner or admin only. Accepts any subset of the editable fields (last-write-wins — single-owner surface, no CAS needed). `cover_image_id` must reference an approved member of the collection.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `name` string: HTML-stripped and trimmed.
  - `description` string, nullable
  - `is_public` boolean
  - `cover_image_id` string, uuid, nullable: Must be an approved member of this collection.

## Response `200`

Updated collection.

- object
  - `collection` Collection
    - `id` string, uuid
    - `curator_id` string, uuid
    - `name` string
    - `description` string, nullable
    - `is_public` boolean
    - `cover_image_id` string, uuid, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `curator_display_name` string, nullable
    - `curator_pubkey` string, nullable
    - `curator_has_avatar` boolean
    - `member_count` integer: Approved-member count.

## Other responses

- `400`: Validation error, empty body, or cover_image_id is not an approved member.
- `403`: Not the owner or admin (collection is public).
- `404`: Collection not found, or private and caller is not owner/admin.

---

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