# Tables ## List tables in structured sheet `$ deeptable structured-sheets:tables list` **get** `/v1/structured-sheets/{structured_sheet_id}/tables` List all tables extracted from the structured sheet. Only available when conversion status is 'completed'. ### Parameters - `--structured-sheet-id: string` The unique identifier of the structured sheet conversion. - `--after: optional string` A cursor for pagination. Use the `last_id` from a previous response to fetch the next page of results. - `--limit: optional number` Maximum number of tables to return per page. ### Returns - `TableListResponse: object { data, has_more, object, 2 more }` Paginated response for listing tables from a structured sheet. Uses cursor-based pagination for efficient iteration through results. - `data: array of TableResponse` List of tables. - `id: string` The unique identifier for this table. - `created_at: string` The timestamp when this table was created. - `name: string` 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'. - `object: "table"` The object type, which is always 'table'. - `"table"` - `sheet_name: string` The original Excel sheet name this table came from. - `structured_sheet_id: string` The ID of the structured sheet this table belongs to. - `type: "relational" or "aggregation" or "tableless" or "metadata"` The type of table (relational, aggregation, tableless, or metadata). - `"relational"` - `"aggregation"` - `"tableless"` - `"metadata"` - `has_more: boolean` Whether there are more results available after this page. - `object: "list"` The object type, which is always 'list'. - `"list"` - `first_id: optional string` Unique identifier for a table. - `last_id: optional string` Unique identifier for a table. ### Example ```cli deeptable structured-sheets:tables list \ --api-key 'My API Key' \ --structured-sheet-id ss_01kfxgjd94fn9stqm42nejb627 ``` #### Response ```json { "data": [ { "id": "tbl_01kfxgjd94fn9stqm45rqr2pnz", "created_at": "2026-01-15T10:35:00Z", "name": "staffing__head_count", "object": "table", "sheet_name": "Staffing", "structured_sheet_id": "ss_01kfxgjd94fn9stqm42nejb627", "type": "relational" }, { "id": "tbl_02abc2def3ghjkmnpqrs4uvwxz", "created_at": "2026-01-15T10:35:00Z", "name": "staffing__head_count__aggregations", "object": "table", "sheet_name": "Staffing", "structured_sheet_id": "ss_01kfxgjd94fn9stqm42nejb627", "type": "aggregation" } ], "has_more": false, "object": "list", "first_id": "tbl_01kfxgjd94fn9stqm45rqr2pnz", "last_id": "tbl_02abc2def3ghjkmnpqrs4uvwxz" } ``` ## Retrieve a table `$ deeptable structured-sheets:tables retrieve` **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'. ### Parameters - `--structured-sheet-id: string` The unique identifier of the structured sheet conversion. - `--table-id: string` The unique identifier of the table. ### Returns - `table_response: object { id, created_at, name, 4 more }` 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` The unique identifier for this table. - `created_at: string` The timestamp when this table was created. - `name: string` 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'. - `object: "table"` The object type, which is always 'table'. - `"table"` - `sheet_name: string` The original Excel sheet name this table came from. - `structured_sheet_id: string` The ID of the structured sheet this table belongs to. - `type: "relational" or "aggregation" or "tableless" or "metadata"` The type of table (relational, aggregation, tableless, or metadata). - `"relational"` - `"aggregation"` - `"tableless"` - `"metadata"` ### Example ```cli deeptable structured-sheets:tables retrieve \ --api-key 'My API Key' \ --structured-sheet-id ss_01kfxgjd94fn9stqm42nejb627 \ --table-id tbl_01kfxgjd94fn9stqm45rqr2pnz ``` #### Response ```json { "id": "tbl_01kfxgjd94fn9stqm45rqr2pnz", "created_at": "2026-01-15T10:35:00Z", "name": "staffing__head_count", "object": "table", "sheet_name": "Staffing", "structured_sheet_id": "ss_01kfxgjd94fn9stqm42nejb627", "type": "relational" } ``` ## Download table data `$ deeptable structured-sheets:tables download` **get** `/v1/structured-sheets/{structured_sheet_id}/tables/{table_id}/download` Download the table data in the specified format. Available formats: - `parquet`: Apache Parquet columnar format (recommended for data analysis) - `csv`: Comma-separated values (compatible with any spreadsheet application) ### Parameters - `--structured-sheet-id: string` Path param: The unique identifier of the structured sheet conversion. - `--table-id: string` Path param: The unique identifier of the table. - `--format: "parquet" or "csv"` Query param: The format to download the table data in. ### Returns - `unnamed_schema_2: file path` ### Example ```cli deeptable structured-sheets:tables download \ --api-key 'My API Key' \ --structured-sheet-id ss_01kfxgjd94fn9stqm42nejb627 \ --table-id tbl_01kfxgjd94fn9stqm45rqr2pnz \ --format parquet ``` ## Domain Types ### Table Response - `table_response: object { id, created_at, name, 4 more }` 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` The unique identifier for this table. - `created_at: string` The timestamp when this table was created. - `name: string` 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'. - `object: "table"` The object type, which is always 'table'. - `"table"` - `sheet_name: string` The original Excel sheet name this table came from. - `structured_sheet_id: string` The ID of the structured sheet this table belongs to. - `type: "relational" or "aggregation" or "tableless" or "metadata"` The type of table (relational, aggregation, tableless, or metadata). - `"relational"` - `"aggregation"` - `"tableless"` - `"metadata"`