---
title: "Get a recommendation set"
method: GET
path: "/api/sets/{set_id}"
tags: ["picks"]
---

# Get a recommendation set

`GET /api/sets/{set_id}`

## Request

- Base URL: `https://leafle.org` (the document declares no server; this is the origin it was published from)
- URL: `https://leafle.org/api/sets/{set_id}`
- Auth: HTTP bearer

**Access: read token.**

Returns one saved set with picks, reserve and other suggestions. Past sets are historical records; their saved availability is not a fresh stock check. Returns 404 if the set does not belong to this reader.

## Path parameters

- `set_id` integer, required

## Query parameters

- `reader_id` integer, nullable

## Response `200`

Successful Response

- RecSet: A saved recommendation set. Metadata is present, null when unknown. from_your_shelf is omitted when no own-shelf suggestion was saved.
  - `id` integer, required
  - `created_at` string, nullable, required
  - `library_authority` string, nullable, required
  - `source` 'library' | 'buy' | 'shelf', required
  - `note` string, nullable, required
  - `picks` Pick[], required
    - `title` string, nullable
    - `author` string, nullable
    - `why_for_this_reader` string, nullable
    - `description` string, nullable
    - `isbn` string, nullable
    - `pages` integer, nullable
    - `year` union
      - integer
      - string
    - `cover_url` string, nullable
    - `review_url` string, nullable
    - `branch` string, nullable
    - `status` string, nullable
    - `was_borrowable` boolean, nullable
    - `was_borrowable_on` string, nullable
    - `link` string, nullable
    - `libby_url` string, nullable
    - `buy_url` string, nullable
    - `owned` boolean, nullable
  - `reserve` Pick[], required
    - `title` string, nullable
    - `author` string, nullable
    - `why_for_this_reader` string, nullable
    - `description` string, nullable
    - `isbn` string, nullable
    - `pages` integer, nullable
    - `year` union
      - integer
      - string
    - `cover_url` string, nullable
    - `review_url` string, nullable
    - `branch` string, nullable
    - `status` string, nullable
    - `was_borrowable` boolean, nullable
    - `was_borrowable_on` string, nullable
    - `link` string, nullable
    - `libby_url` string, nullable
    - `buy_url` string, nullable
    - `owned` boolean, nullable
  - `also_worth_a_look` AlsoBook[], required
    - `title` string, nullable
    - `author` string, nullable
    - `why_short` string, nullable
    - `description` string, nullable
    - `buy_url` string, nullable
    - `amazon_url` string, nullable
    - `isbn` string, nullable
    - `pages` integer, nullable
    - `year` union
      - integer
      - string
    - `cover_url` string, nullable
    - `review_url` string, nullable
  - `from_your_shelf` ShelfPick: A suggestion from your own shelf, saved with the set. cover_url may be null.
    - `title` string, required
    - `author` string, required
    - `cover_url` string, nullable, required
    - `why` string, required

## Other responses

- `401`: Missing or unusable credential.
- `403`: Insufficient token scope or the reader is outside your account.
- `404`: No such resource for this reader, or the requested daily find is unavailable.
- `422`: Validation Error

---

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