---
title: "Create Spreadsheet Job"
method: POST
path: "/api/v1/beta/sheets/jobs"
tags: ["Beta", "Sheets", "Beta", "Sheets"]
---

# Create Spreadsheet Job

`POST /api/v1/beta/sheets/jobs`

Create a spreadsheet parsing job.

Provide at most one of `configuration` (an inline parsing configuration) or `configuration_id` (a saved configuration preset). If neither is provided, a default configuration is used. Optionally include `webhook_configurations` to receive `sheets.*` status notifications.

Experimental: not production-ready and subject to change.

## Query parameters

- `project_id` string, uuid, nullable
- `organization_id` string, uuid, nullable

## Cookies

- `session` string, nullable

## Request body

- SpreadsheetJobCreate — Request to create a spreadsheet parsing job. Provide at most one of `configuration` (inline) or `configuration_id` (saved preset). If neither is provided, a default inline configuration is used.
  - `configuration_id` string, nullable — Saved configuration ID
  - `configuration` SpreadsheetParsingConfig — Configuration for spreadsheet parsing and region extraction
    - `sheet_names` string[], nullable — The names of the sheets to extract regions from. If empty, all sheets will be processed.
    - `include_hidden_cells` boolean — Whether to include hidden cells when extracting regions from the spreadsheet.
    - `extraction_range` string, nullable — A1 notation of the range to extract a single region from. If None, the entire sheet is used.
    - `generate_additional_metadata` boolean — Whether to generate additional metadata (title, description) for each extracted region.
    - `use_experimental_processing` boolean — Enables experimental processing. Accuracy may be impacted.
    - `flatten_hierarchical_tables` boolean — Return a flattened dataframe when a detected table is recognized as hierarchical.
    - `table_merge_sensitivity` 'strong' | 'weak' — Influences how likely similar-looking regions are merged into a single table. Useful for spreadsheets that either have sparse tables (strong merging) or many distinct tables close together (weak merging).
    - `specialization` string, nullable — Optional specialization mode for domain-specific extraction. Supported values: 'financial-standard', 'financial-enhanced', 'financial-precise'. Default None uses the general-purpose pipeline.
  - `webhook_configurations` WebhookConfiguration[], nullable — Outbound webhook endpoints to notify on job status changes
    - `webhook_url` string, nullable — URL to receive webhook POST notifications
    - `webhook_headers` object, nullable — Custom HTTP headers sent with each webhook request (e.g. auth tokens)
    - `webhook_events` string[], nullable — Events to subscribe to (e.g. 'parse.success', 'extract.error'). If null, all events are delivered.
    - `webhook_output_format` string, nullable — Response format sent to the webhook: 'string' (default) or 'json'
  - `config` SpreadsheetParsingConfig — Configuration for spreadsheet parsing and region extraction
    - `sheet_names` string[], nullable — The names of the sheets to extract regions from. If empty, all sheets will be processed.
    - `include_hidden_cells` boolean — Whether to include hidden cells when extracting regions from the spreadsheet.
    - `extraction_range` string, nullable — A1 notation of the range to extract a single region from. If None, the entire sheet is used.
    - `generate_additional_metadata` boolean — Whether to generate additional metadata (title, description) for each extracted region.
    - `use_experimental_processing` boolean — Enables experimental processing. Accuracy may be impacted.
    - `flatten_hierarchical_tables` boolean — Return a flattened dataframe when a detected table is recognized as hierarchical.
    - `table_merge_sensitivity` 'strong' | 'weak' — Influences how likely similar-looking regions are merged into a single table. Useful for spreadsheets that either have sparse tables (strong merging) or many distinct tables close together (weak merging).
    - `specialization` string, nullable — Optional specialization mode for domain-specific extraction. Supported values: 'financial-standard', 'financial-enhanced', 'financial-precise'. Default None uses the general-purpose pipeline.
  - `file_id` string, uuid, required — The ID of the file to parse

## Response `200`

Successful Response

- SpreadsheetJob — A spreadsheet parsing job.
  - `id` string, required — The ID of the job
  - `user_id` string, required — The ID of the user
  - `project_id` string, uuid, required — The ID of the project
  - `configuration` SpreadsheetParsingConfig, required — Configuration for spreadsheet parsing and region extraction
    - `sheet_names` string[], nullable — The names of the sheets to extract regions from. If empty, all sheets will be processed.
    - `include_hidden_cells` boolean — Whether to include hidden cells when extracting regions from the spreadsheet.
    - `extraction_range` string, nullable — A1 notation of the range to extract a single region from. If None, the entire sheet is used.
    - `generate_additional_metadata` boolean — Whether to generate additional metadata (title, description) for each extracted region.
    - `use_experimental_processing` boolean — Enables experimental processing. Accuracy may be impacted.
    - `flatten_hierarchical_tables` boolean — Return a flattened dataframe when a detected table is recognized as hierarchical.
    - `table_merge_sensitivity` 'strong' | 'weak' — Influences how likely similar-looking regions are merged into a single table. Useful for spreadsheets that either have sparse tables (strong merging) or many distinct tables close together (weak merging).
    - `specialization` string, nullable — Optional specialization mode for domain-specific extraction. Supported values: 'financial-standard', 'financial-enhanced', 'financial-precise'. Default None uses the general-purpose pipeline.
  - `config` SpreadsheetParsingConfig — Configuration for spreadsheet parsing and region extraction
    - `sheet_names` string[], nullable — The names of the sheets to extract regions from. If empty, all sheets will be processed.
    - `include_hidden_cells` boolean — Whether to include hidden cells when extracting regions from the spreadsheet.
    - `extraction_range` string, nullable — A1 notation of the range to extract a single region from. If None, the entire sheet is used.
    - `generate_additional_metadata` boolean — Whether to generate additional metadata (title, description) for each extracted region.
    - `use_experimental_processing` boolean — Enables experimental processing. Accuracy may be impacted.
    - `flatten_hierarchical_tables` boolean — Return a flattened dataframe when a detected table is recognized as hierarchical.
    - `table_merge_sensitivity` 'strong' | 'weak' — Influences how likely similar-looking regions are merged into a single table. Useful for spreadsheets that either have sparse tables (strong merging) or many distinct tables close together (weak merging).
    - `specialization` string, nullable — Optional specialization mode for domain-specific extraction. Supported values: 'financial-standard', 'financial-enhanced', 'financial-precise'. Default None uses the general-purpose pipeline.
  - `status` 'PENDING' | 'SUCCESS' | 'ERROR' | 'PARTIAL_SUCCESS' | 'CANCELLED', required — The status of the parsing job
  - `parameters` SpreadsheetJobParameters — Job-time parameters returned on a spreadsheet job response.
    - `webhook_configurations` WebhookConfiguration[], nullable — Webhook configurations for job status notifications.
      - `webhook_url` string, nullable — URL to receive webhook POST notifications
      - `webhook_headers` object, nullable — Custom HTTP headers sent with each webhook request (e.g. auth tokens)
      - `webhook_events` string[], nullable — Events to subscribe to (e.g. 'parse.success', 'extract.error'). If null, all events are delivered.
      - `webhook_output_format` string, nullable — Response format sent to the webhook: 'string' (default) or 'json'
  - `configuration_id` string, nullable — The saved product configuration ID used at create time, if any.
  - `metadata_state_transitions` object, nullable — Per-status entry timestamps. Returned only when requested via `?expand=metadata_state_transitions`.
  - `created_at` string, required — When the job was created
  - `updated_at` string, required — When the job was last updated
  - `success` boolean, nullable — Whether the job completed successfully
  - `regions` ExtractedRegionSummary[] — All extracted regions (populated when job is complete)
    - `region_id` string — Unique identifier for this region within the file
    - `sheet_name` string, required — Worksheet name where region was found
    - `location` string, required — Location of the region in the spreadsheet
    - `region_type` string, required — Type of the extracted region
    - `title` string, nullable — Generated title for the region
    - `description` string, nullable — Generated description for the region
  - `worksheet_metadata` WorksheetMetadata[] — Metadata for each processed worksheet (populated when job is complete)
    - `sheet_name` string, required — Name of the worksheet
    - `title` string, nullable — Generated title for the worksheet
    - `description` string, nullable — Generated description of the worksheet
  - `errors` string[] — Any errors encountered
  - `file_id` string, uuid, nullable, required — The ID of the input file
  - `file` File — Schema for a file.
    - `id` string, uuid, required — Unique identifier
    - `created_at` string, date-time, nullable — Creation datetime
    - `updated_at` string, date-time, nullable — Update datetime
    - `name` string, required
    - `external_file_id` string, nullable — The ID of the file in the external system
    - `file_size` integer, nullable — Size of the file in bytes
    - `file_type` string, nullable — File type (e.g. pdf, docx, etc.)
    - `project_id` string, uuid, required — The ID of the project that the file belongs to
    - `last_modified_at` string, date-time, nullable — The last modified time of the file
    - `resource_info` object, nullable — Resource information for the file
    - `permission_info` object, nullable — Permission information for the file
    - `data_source_id` string, uuid, nullable — The ID of the data source that the file belongs to
    - `expires_at` string, date-time, nullable — The expiration date for the file. Files past this date can be deleted.
    - `purpose` string, nullable — The intended purpose of the file (e.g., 'user_data', 'parse', 'extract', 'split', 'classify')

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/run-llama/apis/llama-platform.md) · [All operations](https://skmtc.net/run-llama/apis/llama-platform/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/run-llama/llama-platform/revisions/b17341164de9/schema)
