Skip to main content
GET
Downloads a specific table from an extraction as a CSV file. This endpoint returns the raw CSV data.

Usage Notes

  • The extraction must be in completed status to download table data
  • This endpoint returns raw CSV data, not a JSON response
  • The CSV is formatted with a header row containing column names from the template
  • Use the filter parameter to download only specific subsets of data
  • Use column_validations to download only rows with validation issues in specific columns
  • Large tables are downloaded in full with a limit of 500,000 rows
  • If you need paginated access to large tables, use the Get Extraction Table Rows endpoint instead

Request

string
required
The ID of the extraction.
string
required
The key of the table to download.
string
default:"all"
Filter rows to include in the CSV. Supports comma-separated values for multiple filters.
  • all - Include all rows (default)
  • valid - Rows that pass all validations
  • invalid - Rows that fail at least one validation
  • error - Rows with error-severity validations
  • warn - Rows with warning-severity validations
  • info - Rows with info-severity validations
string
Filter to only include rows that have validations in specific columns. Provide column keys as comma-separated values (e.g., column_validations=unit_price,quantity).

Response

The response is the raw CSV data with a Content-Type header of text/csv. The Content-Disposition header will include a filename based on the table key. For example, if the table key is “line_items”, the response headers might look like:
The CSV file will include:
  1. A header row with column names
  2. Data rows containing the table values
  3. All columns defined in the template
  4. Only the rows that match the filter criteria (if a filter is applied)
Here’s an example of how the CSV content might look:

Error Responses

string
Error message describing what went wrong.