---
title: "Get a book"
method: GET
path: "/v1/books/{id}"
tags: ["Books"]
---

# Get a book

`GET /v1/books/{id}`

Retrieve a book by ID

## Path parameters

- `id` string, required

## Response `200`

successful

- Book
  - `id` string, required — The ID of the book
  - `name` string, required — The name of the book
  - `role` 'principal' | 'contributor' | 'viewer', nullable, required — The authenticated user's role in this book. Null for admin users accessing books without an explicit BookUser record.
  - `users` BookUser[], required — Users with access to this book
    - `id` string, required — The ID of the user
    - `email` string, email, required — Email address of the user
    - `first_name` string, nullable, required — First name of the user
    - `last_name` string, nullable, required — Last name of the user
    - `api_access` object — Authentication details for the current personal access token. Only present on /v1/me when authenticating with a PAT.
      - `auth_type` 'personal_access_token'
      - `scope` 'read_only' | 'read_write'
    - `role` 'principal' | 'contributor' | 'viewer', required — The user's role in this book
  - `tiers` object[], required — Available tier labels for households in this book
    - `value` integer, required — Numeric tier value
    - `label` string, required — Display label for the tier
  - `teams` object[], required — Teams in the book's company
    - `id` string, required — Team ID
    - `name` string, required — Team name

## Other responses

- `400` — bad request - invalid JSON
- `401` — unauthorized - missing or invalid token
- `403` — forbidden
- `404` — not found

---

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