---
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. 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
  - `file_id` string, uuid, required — The ID of the file to parse
  - `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.

## 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
  - `config` 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.
  - `status` 'PENDING' | 'SUCCESS' | 'ERROR' | 'PARTIAL_SUCCESS' | 'CANCELLED', required — Enum for representing the status of a job
  - `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

## Changes

- **2026-06-09** `614771991b52` — 4 breaking, 8 warning, 20 info
  - removed `#/components/schemas/SpreadsheetParsingConfig, subschema #2` from the `config` request property `anyOf` list
  - the `config` request property type changed from no type to `object`
  - the `config` response's property type changed from no type to `object` for status `200`
  - removed the required property `configuration` from the response with the `200` status
  - …28 more
- **2026-06-09** `b17341164de9` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
- **2026-06-04** `d40e17e17bd1` — 3 breaking, 16 warning, 11 info
  - the `config` request property type changed from `object` to no type
  - the response property `config` became optional for the status `200`
  - the `config` response's property type changed from `object` to no type for status `200`
  - removed the request property `config/extraction_range`
  - …26 more

[Change history](https://skmtc.dev/run-llama/apis/llama-platform/changes/api/v1/beta/sheets/jobs/post.md)

---

[API](https://skmtc.dev/run-llama/apis/llama-platform.md) · [All operations](https://skmtc.dev/run-llama/apis/llama-platform/llms.txt) · [OpenAPI document](https://skmtc.dev/run-llama/apis/llama-platform/revisions/614771991b52?raw)
