---
title: "List tables in a namespace"
method: GET
path: "/v1/namespace/{id}/table/list"
tags: ["Namespace", "Table", "Metadata"]
---

# List tables in a namespace

`GET /v1/namespace/{id}/table/list`

List all child table names of the parent namespace `id`.

REST NAMESPACE ONLY
REST namespace uses GET to perform this operation without a request body.
It passes in the `ListTablesRequest` information in the following way:
- `id`: pass through path parameter of the same name
- `page_token`: pass through query parameter of the same name
- `limit`: pass through query parameter of the same name
- `include_declared`: pass through query parameter of the same name

## Path parameters

- `id` string, required

## Query parameters

- `delimiter` string
- `page_token` string, nullable — An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results.
- `limit` integer, nullable — An inclusive upper bound of the number of results that a caller will receive.
- `include_declared` boolean

## Response `200`

A list of tables

- ListTablesResponse
  - `context` unknown
  - `tables` string[], required — The list of names of all the tables under the connected namespace implementation. This should recursively list all the tables in all child namespaces. Each string in the list is the full identifier in string form.
  - `page_token` string, nullable — An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results.

## Other responses

- `400` — Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware.
- `401` — Unauthorized. The request lacks valid authentication credentials for the operation.
- `403` — Forbidden. Authenticated user does not have the necessary permissions.
- `404` — A server-side problem that means can not find the specified resource.
- `406` — Not Acceptable / Unsupported Operation. The server does not support this operation.
- `503` — The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry.
- `5XX` — A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes.

## Changes

- **2026-07-01** `591cd95574b0` — 8 info
  - added the optional property `context` to the response with the `200` status
  - added the optional property `context` to the response with the `400` status
  - added the optional property `context` to the response with the `401` status
  - added the optional property `context` to the response with the `403` status
  - …4 more
- **2026-04-24** `0d4f1d1c16fc` — 2 info
  - added the new optional `query` request parameter `include_declared` to all path's operations
  - added the new optional `query` request parameter `include_declared`
- **2025-12-20** `5d6099d672d3` — 7 breaking, 7 warning, 7 info
  - the `code` response property's min was decreased from `400.00` to `0.00` for the response status `400`
  - the `code` response property's min was decreased from `400.00` to `0.00` for the response status `401`
  - the `code` response property's min was decreased from `400.00` to `0.00` for the response status `403`
  - the `code` response property's min was decreased from `400.00` to `0.00` for the response status `404`
  - …17 more
- **2025-07-29** `40a3bc489d46` — 7 breaking, 14 warning, 14 info
  - the response property `type` became optional for the status `400`
  - the response property `type` became optional for the status `401`
  - the response property `type` became optional for the status `403`
  - the response property `type` became optional for the status `404`
  - …31 more
- …earlier changes not shown

[Full history](https://skmtc.dev/lance-format/apis/lance-namespace-specification/changes/v1/namespace/:id/table/list/get.md)

---

[API](https://skmtc.dev/lance-format/apis/lance-namespace-specification.md) · [All operations](https://skmtc.dev/lance-format/apis/lance-namespace-specification/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lance-format/lance-namespace-specification/revisions/541331733d0c/schema)
