Getting Started
Use the Tables API to programmatically upload and process documents for structured data extraction. Perfect for automating document processing workflows.
Access User Settings
Click on your profile in the left sidebar to open user settings
Navigate to Secret Tokens
Switch to the "Secret Tokens" tab in the settings dialog
Create New Token
Enter a name for your token, optionally set an expiration date, and click "Create Secret Token"
Copy and Store Safely
Copy the generated token immediately - it won't be shown again. Store it securely.
Navigate to Your Model
Go to the project and model you want to use for document processing
Find the Extraction Schema ID
The extraction schema ID is displayed at the bottom of the Extraction Schema
Synchronous Processing
Wait for processing to complete and receive results immediately. Best for small files and real-time workflows.
- • Blocks until processing completes
- • Returns data immediately
- • Simple request-response pattern
- • May timeout on large files
Asynchronous Processing
Queue the job and poll for results. Best for large files, batch processing, and scalable workflows.
- • Returns immediately with job ID
- • Poll for status and results
- • Handles large files reliably
- • Prevents duplicate processing
Option A: Synchronous Processing
Option B: Asynchronous Processing
💡 When to use async processing:
- • Large files that may take longer to process
- • Batch processing workflows
- • Integration with webhook notifications
- • When you need to prevent duplicate processing
- • Building scalable, non-blocking applications
Smart Document Classification
Don't know which extraction schema to use? Let AI automatically determine the optimal processing pipeline for each document type with our classification system.
When to Use Classification:
- • Mixed document types in one workflow
- • Want to eliminate manual schema selection
- • Processing unknown document formats
- • Need intelligent document routing
Benefits:
- • Automatic schema selection
- • Improved extraction accuracy
- • Simplified integration
- • Handles multiple document types
Complete Examples
Here are complete working examples showing the full document processing workflow for both synchronous and asynchronous processing.
Get File Data
Retrieve processed document data using metadata from webhook events. This endpoint is specifically designed for webhook integration workflows.
Webhooks Integration
Get notified when documents are processed or reviewed. Webhook events contain metadata about the processed file, and you can retrieve the actual data using the get-file-data endpoint above.
Fires immediately after AI processing, whether successful or failed. Use to trigger downstream workflows.
View Documentation →Fires when human review is complete and all data is approved. Use to finalize workflows and export data.
View Documentation →Response Format
After processing, you'll receive structured data organized by tables, columns, and rows:
{ "message": "File processed successfully.", "fileId": "file_abc123", "jobId": "job_def456", "data": { "tables": { "table_id_1": { "id": "table_id_1", "name": "Invoices", "columns": [ { "id": "col_1", "name": "Invoice Number", "type": "TEXT", "description": "Unique invoice identifier" }, { "id": "col_2", "name": "Amount", "type": "NUMBER", "description": "Invoice total amount" } ], "rows": [ { "id": "row_1", "index": "0", "status": "PENDING", "cells": { "Invoice Number": { "value": "INV-001", "columnId": "col_1" }, "Amount": { "value": "1000.00", "columnId": "col_2" } } } ] } } } }