---
title: "Update a collection"
method: PATCH
path: "/library/collections/{collectionId}"
tags: ["Library"]
---

# Update a collection

`PATCH /library/collections/{collectionId}`

## Request

- Base URL: `https://elicit.com/api/v2`
- URL: `https://elicit.com/api/v2/library/collections/{collectionId}`
- Auth: HTTP bearer

Updates `name` and/or `description`. Omitted fields do not change. A body with neither returns `400`. Needs edit access.

### Example

```bash
curl -X PATCH https://elicit.com/api/v2/library/collections/{collectionId} \
  -H "Authorization: Bearer elk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"description":"Outcome trials, 2016 onward."}'
```

## Path parameters

- `collectionId` string, uuid, required

## Request body

- object
  - `name` string
  - `description` string

## Response `200`

The updated collection.

- LibraryCollection
  - `id` string, uuid, required
  - `name` string, required
  - `description` string, required
  - `role` 'owner' | 'writer' | 'reader', required: Your access level. A reader can view the collection. A writer can also add and remove sources and edit the name and description. An owner can also delete the collection and change who it is shared with.
  - `kind` 'personal' | 'group', required: `personal`: never shared; lists your own sources. `group`: has been shared at least once; owns copies of its sources, and stays a group collection.
  - `sharedVia` 'direct' | 'organization': `direct` if the owner shared the collection with you. `organization` if the owner shared it with your organization. Absent on your own collections.
  - `sourceCount` integer, required
  - `links` object, required
    - `self` string, required: API URL of this collection.
    - `sources` string, required: URL listing the sources in this collection.

## Other responses

- `400`: A malformed id, or an unknown or invalid query parameter.
- `401`: Authentication failed. The API key is missing, invalid, revoked, or expired.
- `403`: API access is unavailable on your plan, or your role does not allow this action.
- `404`: The collection does not exist or is not visible to you.
- `429`: Rate limit exceeded. More than 100 requests per minute were received from your IP address; further requests are blocked for 5 minutes.
- `500`: An unexpected error occurred. Retry reads with backoff; before retrying a write, check whether it took effect. See Error Handling for retry guidance.

## Changes

- **2026-10-13** `27c80b9a3470`: 5 info
  - added the optional property `error/details` to the response with the `400` status
  - added the optional property `error/details` to the response with the `401` status
  - added the optional property `error/details` to the response with the `403` status
  - added the optional property `error/details` to the response with the `404` status
  - …1 more
- **2026-09-27** `9b5b75b828ab`: 5 info
  - added the optional property `error/sessionId` to the response with the `400` status
  - added the optional property `error/sessionId` to the response with the `401` status
  - added the optional property `error/sessionId` to the response with the `403` status
  - added the optional property `error/sessionId` to the response with the `404` status
  - …1 more
- **2026-09-15** `69b6844982c1`: 1 warning, 2 info
  - added the new `writer` enum value to the `role` response property for the response status `200`
  - added the optional property `sharedVia` to the response with the `200` status
  - added the required property `kind` to the response with the `200` status
- **2026-09-11** `acdbab329322`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/elicit/apis/elicit-api/changes/library/collections/:collectionId/patch.md)

---

[API](https://skmtc.dev/elicit/apis/elicit-api.md) - [All operations](https://skmtc.dev/elicit/apis/elicit-api/llms.txt) - [OpenAPI document](https://skmtc.dev/elicit/apis/elicit-api/revisions/78db836edb9c?raw)
