---
title: "Get the contents of a collection"
method: GET
path: "/collections/{collection_id}/items"
tags: ["Collections"]
---

# Get the contents of a collection

`GET /collections/{collection_id}/items`

The collection's members, grouped by object_type under `contents`. A collection is heterogeneous by design, so a flat list would leave the client guessing what each id is. The scalar `items` stays the member count.

## Path parameters

- `collection_id` string, required

## Query parameters

- `offset` integer
- `limit` integer

## Response `200`

The collection and its contents

- CollectionItemsResponse
  - `collection` object, required
    - `id` string, required
    - `name` string, required
    - `owner` string, nullable, required
    - `type` string, nullable, required
    - `object_type` string, nullable, required
    - `items` integer, required
    - `has_art` boolean, required
    - `playlist_folder_id` string
    - `playlist_folder_sort_order` integer
    - `contents` CollectionItemObject[], required
      - `track` integer, required — 1-based position in the collection
      - `track_id` integer, required — id of the membership row, not of the object
      - `object_type` string, required — The kind of object referenced, as a bare string. The set is intentionally open so a new media type is not a breaking change; values seen today include `song`, `album`, `artist`, `playlist`, `podcast`, `podcast_episode` and `video`.

## Other responses

- `400` — HTTP 400 Bad Request (errors 4705, 4710).
- `401` — HTTP 401 Unauthorized (error 4701).
- `403` — HTTP 403 Forbidden (errors 4700, 4703, 4742).
- `404` — HTTP 404 Not Found (error 4704).
- `500` — HTTP 500 Internal Server Error (error 4702).

---

[API](https://skmtc.net/ampache/apis/ampache-rest-api.md) · [All operations](https://skmtc.net/ampache/apis/ampache-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ampache/ampache-rest-api/revisions/535feee32afb/schema)
