---
title: "Retrieve a table"
method: GET
path: "/v1/structured-sheets/{structured_sheet_id}/tables/{table_id}"
tags: ["Structured Sheets"]
---

# Retrieve a table

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

Get details of a specific table 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.
- `table_id` string, required — The unique identifier of the table.

## Response `200`

Successful Response

- TableResponse — Response representing a table extracted from a structured sheet. This is returned from GET (retrieve) and list table endpoints. Table names use a composite format: {normalized_sheet_name}__{table_name}.
  - `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.

## Other responses

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

## Changes

- **2026-01-30** `343b87354807` — 2 info
  - the response property `object` became required 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 `type` response property for the response status `200`
- **2026-01-28** `f6fd20062691` — 1 breaking
  - removed the required property `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/:table_id/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)
