# GET /v1/notebooks

> Your notebooks.

In [Notebooks API](https://vestra.ai/developers/reference/api/notebooks.md): Knowledge Bash reads before it answers: notebooks, and the documents in them.

Send `Authorization: Bearer vk_test_...` on every call.

Your notebooks.

Your API key, scope `setup` or `all`. On the card: [`deploy`](https://vestra.ai/developers/deploy.md). Over HTTP it is made from the contract: fill in every value.

## Request

Query:

- `limit` (`integer`): How many items per page, 1 to 100. Default 20.
- `cursor` (`string`): Where to go on from: the `next_cursor` of the page before, unchanged. Absent: the first page.

## Answers 200

- `data` (`object[]`): The items on this page.
  - `object` (`"notebook"`): Always `notebook`.
  - `id` (`string`): The notebook's id. Example: `nb_8f2k`.
  - `slug` (`string`): Its short name.
  - `name` (`string`): Its name, as people read it.
  - `description` (`string`): What it holds; empty when none was given.
  - `access` (`object`): Who may read it. One of: `{ mode }`, `{ mode, user_ids }`.
  - `document_count` (`integer`): How many documents it holds.
  - `bytes` (`integer`): The size of its text, in bytes, at most 5 MB.
  - `created_at` (`string`): When it was made, as an ISO 8601 date and time in UTC.
  - `updated_at` (`string`): When it last changed, as an ISO 8601 date and time in UTC.
- `next_cursor` (`string | null`): Send it as `cursor` for the next page; null on the last page.

## Code

**HTTP**

```bash
curl "$VESTRA_BASE_URL/v1/notebooks" \
  -H "Authorization: Bearer $VESTRA_API_KEY"
```

**TypeScript, Python, CLI, MCP**: No sample in your language for this route, so here it is over HTTP.
