---
title: "Change a book's status"
method: POST
path: "/api/books/{book_id}/status"
tags: ["books"]
---

# Change a book's status

`POST /api/books/{book_id}/status`

## Request

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

**Access: write token.**

Set reading, read, owned, to_read or dnf. Entering to_read adds the book to the queue; leaving it removes its queue position. Owned means shelf inventory, not evidence that you have read the book.

## Path parameters

- `book_id` integer, required

## Request body

- BookStatusIn
  - `status` 'reading' | 'read' | 'owned' | 'to_read' | 'dnf', required
  - `reader_id` integer, nullable

## Response `200`

Successful Response

- Ok: The mutation acknowledgement: ``{"ok": true}``.
  - `ok` boolean, 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)
