Skip to content
Get started

Structured Sheets

Convert uploaded spreadsheets into structured data. Creates relational tables from messy spreadsheet data.

List structured sheets
client.StructuredSheets.List(ctx, query) (*CursorIDPage[StructuredSheetResponse], error)
GET/v1/structured-sheets
Create structured sheet
client.StructuredSheets.New(ctx, body) (*StructuredSheetResponse, error)
POST/v1/structured-sheets
Delete structured sheet
client.StructuredSheets.Delete(ctx, structuredSheetID) (*StructuredSheetDeleteResponse, error)
DELETE/v1/structured-sheets/{structured_sheet_id}
Retrieve structured sheet
client.StructuredSheets.Get(ctx, structuredSheetID) (*StructuredSheetResponse, error)
GET/v1/structured-sheets/{structured_sheet_id}
Cancel structured sheet processing
client.StructuredSheets.Cancel(ctx, structuredSheetID) (*StructuredSheetResponse, error)
POST/v1/structured-sheets/{structured_sheet_id}/cancel
Download structured sheet export
client.StructuredSheets.Download(ctx, structuredSheetID, query) (*Response, error)
GET/v1/structured-sheets/{structured_sheet_id}/download
ModelsExpand Collapse
type StructuredSheetResponse struct{…}

Response representing a structured sheet conversion job.

This is returned from POST (create), GET (retrieve), and list endpoints.

ID string

The unique identifier for this structured sheet conversion.

CreatedAt Time

The timestamp when the conversion was started.

formatdate-time
FileID string

The unique identifier for the source file.

Object StructuredSheet

The object type, which is always 'structured_sheet'.

Status StructuredSheetResponseStatus

The current processing status.

One of the following:
const StructuredSheetResponseStatusQueued StructuredSheetResponseStatus = "queued"
const StructuredSheetResponseStatusInProgress StructuredSheetResponseStatus = "in_progress"
const StructuredSheetResponseStatusCompleted StructuredSheetResponseStatus = "completed"
const StructuredSheetResponseStatusFailed StructuredSheetResponseStatus = "failed"
const StructuredSheetResponseStatusCancelled StructuredSheetResponseStatus = "cancelled"
UpdatedAt Time

The timestamp when the conversion was last updated.

formatdate-time
LastError StructuredSheetResponseLastErroroptional

Error information when processing fails.

Code string

A machine-readable error code.

maxLength64
Message string

A human-readable description of the error.

maxLength1024
SheetNames []stringoptional

List of sheet names included in this conversion.

TableCount int64optional

Number of tables extracted from the workbook. Only present when status is 'completed'.

minimum0

Structured SheetsTables

Convert uploaded spreadsheets into structured data. Creates relational tables from messy spreadsheet data.

List tables in structured sheet
client.StructuredSheets.Tables.List(ctx, structuredSheetID, query) (*CursorIDPage[TableResponse], error)
GET/v1/structured-sheets/{structured_sheet_id}/tables
Retrieve a table
client.StructuredSheets.Tables.Get(ctx, tableID, query) (*TableResponse, error)
GET/v1/structured-sheets/{structured_sheet_id}/tables/{table_id}
Download table data
client.StructuredSheets.Tables.Download(ctx, tableID, params) (*Response, error)
GET/v1/structured-sheets/{structured_sheet_id}/tables/{table_id}/download
ModelsExpand Collapse
type TableResponse struct{…}

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.

CreatedAt Time

The timestamp when this table was created.

formatdate-time
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'.

maxLength255
Object Table

The object type, which is always 'table'.

SheetName string

The original Excel sheet name this table came from.

maxLength100
StructuredSheetID string

The ID of the structured sheet this table belongs to.

Type TableResponseType

The type of table (relational, aggregation, tableless, or metadata).

One of the following:
const TableResponseTypeRelational TableResponseType = "relational"
const TableResponseTypeAggregation TableResponseType = "aggregation"
const TableResponseTypeTableless TableResponseType = "tableless"
const TableResponseTypeMetadata TableResponseType = "metadata"