---
title: "Browse schemas, tables, and keys"
method: POST
path: "/api/v1/databases/{database_id}/browse"
tags: ["Managed Databases"]
---

# Browse schemas, tables, and keys

`POST /api/v1/databases/{database_id}/browse`

## Request

- Base URL: `https://api.rafftechnologies.com`
- URL: `https://api.rafftechnologies.com/api/v1/databases/{database_id}/browse`
- Auth: API key in header `X-API-Key`

Walk the database one level at a time with `path`.

- **PostgreSQL, MySQL, ClickHouse**: `[]` lists schemas, `[schema]` lists its tables, `[schema, table]` returns a page of rows. Page with `limit` and `next_cursor`.
- **Valkey**: `[]` lists keys (filter with `match`, for example `user:*`), `[key]` returns the key's value with its type and TTL in `meta`.
- **Kafka**: `[]` lists topics, `[topic]` returns the newest messages of every partition, `[topic, partition]` the newest of one partition. `limit` sets how many (default 20, up to 200).

A response has `kind: nodes` (a list in `nodes`) or `kind: rows` (`columns` and `rows`).

## Path parameters

- `database_id` string, required

## Request body

- BrowseDatabaseRequest
  - `path` string[]: `[]`, `[schema]`, or `[schema, table]`; for Valkey `[]` or `[key]`; for Kafka `[]`, `[topic]`, or `[topic, partition]`
  - `cursor` string: `next_cursor` from the previous page
  - `match` string: Valkey key pattern
  - `limit` integer: Items or rows per page

## Response `200`

One level of the database

- object
  - `success` boolean
  - `kind` 'nodes' | 'rows'
  - `nodes` object[]
    - `name` string
    - `kind` string: `schema`, `table`, `view`, `matview`, or a Valkey key type
    - `detail` string: Short extra detail, for example a row estimate
  - `columns` string[]
  - `rows` DatabaseRow[]
    - `cells` string[]: Values in column order, as text
    - `nulls` boolean[]: `true` where the value is SQL NULL
  - `next_cursor` string: Pass as `cursor` for the next page; empty on the last page
  - `meta` object: Valkey key type and TTL

## Other responses

- `400`: Invalid request parameters
- `401`: Authentication required
- `404`: Resource not found

## Changes

- **2026-10-05** `26292956c4b3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rafftechnologies/apis/raff-api/changes/api/v1/databases/:database_id/browse/post.md)

---

[API](https://skmtc.dev/rafftechnologies/apis/raff-api.md) - [All operations](https://skmtc.dev/rafftechnologies/apis/raff-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rafftechnologies/apis/raff-api/revisions/3d30cde0acb4?raw)
