---
title: "List tables in structured sheet"
method: GET
path: "/v1/structured-sheets/{structured_sheet_id}/tables"
tags: ["Structured Sheets"]
---

# List tables in structured sheet

`GET /v1/structured-sheets/{structured_sheet_id}/tables`

List all tables extracted from the structured sheet. Only available when conversion status is 'completed'.

## Path parameters

- `structured_sheet_id` string, required — The unique identifier of the structured sheet conversion.

## Query parameters

- `limit` integer — Maximum number of tables to return per page.
- `after` string, nullable — Unique identifier for a table.

## Response `200`

Successful Response

- TableListResponse — Paginated response for listing tables from a structured sheet. Uses cursor-based pagination for efficient iteration through results.
  - `object` 'list', required — The object type, which is always 'list'.
  - `data` TableResponse[], required — List of tables.
    - `id` string, required — The unique identifier for this table.
    - `object` 'table', required — The object type, which is always 'table'.
    - `structured_sheet_id` string, required — The ID of the structured sheet this table belongs to.
    - `name` string, required — Composite table name: {normalized_sheet_name}__{table_name}. Uses lowercase snake_case. Aggregation tables end with '__aggregations'. Two special metadata tables exist per structured sheet: '__deeptable_workbook_metadata' (workbook provenance info) and '__deeptable_table_overview' (summary of all tables). Example: 'staffing__head_count' or 'staffing__head_count__aggregations'.
    - `type` 'relational' | 'aggregation' | 'tableless' | 'metadata', required — Type of table extracted from a structured sheet. - relational: Core data table with dimensional indices - aggregation: Precomputed aggregations from Excel (sums, averages, etc.) - tableless: Cells not belonging to any table (README cells) - metadata: Provenance and metadata tables (workbook info, table overviews)
    - `sheet_name` string, required — The original Excel sheet name this table came from.
    - `created_at` string, date-time, required — The timestamp when this table was created.
  - `first_id` string, nullable — Unique identifier for a table.
  - `last_id` string, nullable — Unique identifier for a table.
  - `has_more` boolean, required — Whether there are more results available after this page.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Unprocessable Content
- `429` — Too Many Requests

## Changes

- **2026-01-30** `343b87354807` — 4 info
  - the response property `data/items/object` became required for the status `200`
  - the response property `object` became required for the status `200`
  - the `object` response's property default value `list` was removed for the status `200`
  - the `object` response's property default value `table` was removed for the status `200`
- **2026-01-30** `276839ed2bf2` — 1 warning
  - added the new `metadata` enum value to the `data/items/type` response property for the response status `200`
- **2026-01-28** `f6fd20062691` — 1 breaking
  - removed the required property `data/items/sheet_name_normalized` from the response with the `200` status

[Change history](https://skmtc.dev/deeptable-com/apis/deeptable-api/changes/v1/structured-sheets/:structured_sheet_id/tables/get.md)

---

[API](https://skmtc.dev/deeptable-com/apis/deeptable-api.md) · [All operations](https://skmtc.dev/deeptable-com/apis/deeptable-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/deeptable-com/deeptable-api/revisions/acfb7545d197/schema)
