---
title: "List library collections"
method: GET
path: "/library/collections"
tags: ["Library"]
---

# List library collections

`GET /library/collections`

## Request

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

Returns the collections you own and the collections shared with you, sorted by name with id as a tie-breaker. `role` is your access level. `sharedVia` is set on collections shared with you. `links.sources` lists the sources in the collection.

Send `nextCursor` as `cursor` to get the next page. Pagination is not a snapshot: renaming a collection can move it between pages, and deleting or losing access to the cursor's collection returns `400 invalid_request`. Restart from the first page if the cursor is no longer valid.

### Example

```bash
curl https://elicit.com/api/v2/library/collections \
  -H "Authorization: Bearer elk_live_your_key_here"
```

## Query parameters

- `cursor` string, uuid: Pagination cursor from a previous response's nextCursor.
- `limit` integer

## Response `200`

One page of collections.

- ListLibraryCollectionsResponse
  - `collections` LibraryCollection[], required
    - `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.
  - `nextCursor` string, nullable, required
  - `totalCount` integer, required

## 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 not available on your current plan. Upgrade to Pro or above to use the API.
- `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-16** `22847bf7e65d`: 1 info
  - endpoint added

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

---

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