# Sheets

## Create Spreadsheet Job

`SheetsJob Sheets.Create(SheetCreateParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/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.

### Parameters

- `SheetCreateParams parameters`

  - `required string fileID`

    Body param: The ID of the file to parse

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `SheetsParsingConfig? config`

    Body param: Configuration for spreadsheet parsing and region extraction

  - `SheetsParsingConfig? configuration`

    Body param: Configuration for spreadsheet parsing and region extraction

  - `string? configurationID`

    Body param: Saved configuration ID

  - `IReadOnlyList<WebhookConfiguration>? webhookConfigurations`

    Body param: Outbound webhook endpoints to notify on job status changes

    - `IReadOnlyList<WebhookEvent>? WebhookEvents`

      Events to subscribe to (e.g. 'parse.success', 'extract.error'). If null, all events are delivered.

      - `"classify.cancelled"ClassifyCancelled`

      - `"classify.error"ClassifyError`

      - `"classify.partial_success"ClassifyPartialSuccess`

      - `"classify.pending"ClassifyPending`

      - `"classify.running"ClassifyRunning`

      - `"classify.success"ClassifySuccess`

      - `"extract.cancelled"ExtractCancelled`

      - `"extract.error"ExtractError`

      - `"extract.partial_success"ExtractPartialSuccess`

      - `"extract.pending"ExtractPending`

      - `"extract.success"ExtractSuccess`

      - `"parse.cancelled"ParseCancelled`

      - `"parse.error"ParseError`

      - `"parse.partial_success"ParsePartialSuccess`

      - `"parse.pending"ParsePending`

      - `"parse.running"ParseRunning`

      - `"parse.success"ParseSuccess`

      - `"sheets.cancelled"SheetsCancelled`

      - `"sheets.error"SheetsError`

      - `"sheets.partial_success"SheetsPartialSuccess`

      - `"sheets.pending"SheetsPending`

      - `"sheets.success"SheetsSuccess`

      - `"split.cancelled"SplitCancelled`

      - `"split.error"SplitError`

      - `"split.pending"SplitPending`

      - `"split.processing"SplitProcessing`

      - `"split.success"SplitSuccess`

      - `"unmapped_event"UnmappedEvent`

    - `IReadOnlyDictionary<string, string>? WebhookHeaders`

      Custom HTTP headers sent with each webhook request (e.g. auth tokens)

    - `string? WebhookOutputFormat`

      Response format sent to the webhook: 'string' (default) or 'json'

    - `string? WebhookSigningSecret`

      Shared signing secret used to sign webhook deliveries. When set, each request includes an HMAC-SHA256 signature of the request body in the 'LC-Signature' header (value 'sha256=<hex>'). Recompute the HMAC over the raw request body with this secret to verify the delivery is authentic.

    - `string? WebhookUrl`

      URL to receive webhook POST notifications

### Returns

- `class SheetsJob:`

  A spreadsheet parsing job.

  - `required string ID`

    The ID of the job

  - `required SheetsParsingConfig Configuration`

    Configuration applied to the parsing job (inline or resolved from a saved preset).

    - `string? ExtractionRange`

      A1 notation of the range to extract a single region from. If None, the entire sheet is used.

    - `Boolean FlattenHierarchicalTables`

      Return a flattened dataframe when a detected table is recognized as hierarchical.

    - `Boolean GenerateAdditionalMetadata`

      Deprecated: controlled by `tier`. Whether to generate additional metadata (title, description) for each extracted region. Honored only on `agentic`.

    - `Boolean IncludeHiddenCells`

      Whether to include hidden cells when extracting regions from the spreadsheet.

    - `IReadOnlyList<string>? SheetNames`

      The names of the sheets to extract regions from. If empty, all sheets will be processed.

    - `string? Specialization`

      Deprecated: controlled by `tier`. Optional specialization mode for domain-specific extraction. Supported values: 'financial-standard', 'financial-enhanced', 'financial-precise'. Default None uses the general-purpose pipeline. Honored only on `agentic`.

    - `TableMergeSensitivity TableMergeSensitivity`

      Deprecated: controlled by `tier`. Influences how likely similar-looking regions are merged into a single table. Honored only on `agentic`.

      - `"strong"Strong`

      - `"weak"Weak`

    - `Tier Tier`

      Spreadsheet extraction tier. `cost_effective` uses the rule-based/ML-only pipeline; `agentic` uses the full pipeline.

      - `"agentic"Agentic`

      - `"cost_effective"CostEffective`

    - `Boolean UseExperimentalProcessing`

      Deprecated: controlled by `tier`. Enables experimental processing. Honored only on `agentic`.

  - `required string CreatedAt`

    When the job was created

  - `required string? FileID`

    The ID of the input file

  - `required string ProjectID`

    The ID of the project

  - `required Status Status`

    The status of the parsing job

    - `"CANCELLED"Cancelled`

    - `"ERROR"Error`

    - `"PARTIAL_SUCCESS"PartialSuccess`

    - `"PENDING"Pending`

    - `"SUCCESS"Success`

  - `required string UpdatedAt`

    When the job was last updated

  - `required string UserID`

    The ID of the user

  - `SheetsParsingConfig? Config`

    Configuration for spreadsheet parsing and region extraction

  - `string? ConfigurationID`

    The saved product configuration ID used at create time, if any.

  - `IReadOnlyList<string> Errors`

    Any errors encountered

  - `File? File`

    Schema for a file.

    - `required string ID`

      Unique identifier

    - `required string Name`

    - `required string ProjectID`

      The ID of the project that the file belongs to

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `string? DataSourceID`

      The ID of the data source that the file belongs to

    - `DateTimeOffset? ExpiresAt`

      The expiration date for the file. Files past this date can be deleted.

    - `string? ExternalFileID`

      The ID of the file in the external system

    - `Long? FileSize`

      Size of the file in bytes

    - `string? FileType`

      File type (e.g. pdf, docx, etc.)

    - `DateTimeOffset? LastModifiedAt`

      The last modified time of the file

    - `IReadOnlyDictionary<string, PermissionInfo?>? PermissionInfo`

      Permission information for the file

      - `IReadOnlyDictionary<string, JsonElement>`

      - `IReadOnlyList<JsonElement>`

      - `string`

      - `Double`

      - `Boolean`

    - `string? Purpose`

      The intended purpose of the file (e.g., 'user_data', 'parse', 'extract', 'split', 'classify')

    - `IReadOnlyDictionary<string, ResourceInfo?>? ResourceInfo`

      Resource information for the file

      - `IReadOnlyDictionary<string, JsonElement>`

      - `IReadOnlyList<JsonElement>`

      - `string`

      - `Double`

      - `Boolean`

    - `DateTimeOffset? UpdatedAt`

      Update datetime

  - `IReadOnlyDictionary<string, JsonElement>? MetadataStateTransitions`

    Per-status entry timestamps. Returned only when requested via `?expand=metadata_state_transitions`.

  - `Parameters Parameters`

    Job-time parameters such as webhook configurations.

    - `IReadOnlyList<WebhookConfiguration>? WebhookConfigurations`

      Webhook configurations for job status notifications.

      - `IReadOnlyList<WebhookEvent>? WebhookEvents`

        Events to subscribe to (e.g. 'parse.success', 'extract.error'). If null, all events are delivered.

        - `"classify.cancelled"ClassifyCancelled`

        - `"classify.error"ClassifyError`

        - `"classify.partial_success"ClassifyPartialSuccess`

        - `"classify.pending"ClassifyPending`

        - `"classify.running"ClassifyRunning`

        - `"classify.success"ClassifySuccess`

        - `"extract.cancelled"ExtractCancelled`

        - `"extract.error"ExtractError`

        - `"extract.partial_success"ExtractPartialSuccess`

        - `"extract.pending"ExtractPending`

        - `"extract.success"ExtractSuccess`

        - `"parse.cancelled"ParseCancelled`

        - `"parse.error"ParseError`

        - `"parse.partial_success"ParsePartialSuccess`

        - `"parse.pending"ParsePending`

        - `"parse.running"ParseRunning`

        - `"parse.success"ParseSuccess`

        - `"sheets.cancelled"SheetsCancelled`

        - `"sheets.error"SheetsError`

        - `"sheets.partial_success"SheetsPartialSuccess`

        - `"sheets.pending"SheetsPending`

        - `"sheets.success"SheetsSuccess`

        - `"split.cancelled"SplitCancelled`

        - `"split.error"SplitError`

        - `"split.pending"SplitPending`

        - `"split.processing"SplitProcessing`

        - `"split.success"SplitSuccess`

        - `"unmapped_event"UnmappedEvent`

      - `IReadOnlyDictionary<string, string>? WebhookHeaders`

        Custom HTTP headers sent with each webhook request (e.g. auth tokens)

      - `string? WebhookOutputFormat`

        Response format sent to the webhook: 'string' (default) or 'json'

      - `string? WebhookSigningSecret`

        Shared signing secret used to sign webhook deliveries. When set, each request includes an HMAC-SHA256 signature of the request body in the 'LC-Signature' header (value 'sha256=<hex>'). Recompute the HMAC over the raw request body with this secret to verify the delivery is authentic.

      - `string? WebhookUrl`

        URL to receive webhook POST notifications

  - `IReadOnlyList<Region> Regions`

    All extracted regions (populated when job is complete)

    - `required string Location`

      Location of the region in the spreadsheet

    - `required string RegionType`

      Type of the extracted region

    - `required string SheetName`

      Worksheet name where region was found

    - `string? Description`

      Generated description for the region

    - `string RegionID`

      Unique identifier for this region within the file

    - `string? Title`

      Generated title for the region

  - `Boolean? Success`

    Whether the job completed successfully

  - `IReadOnlyList<WorksheetMetadata> WorksheetMetadata`

    Metadata for each processed worksheet (populated when job is complete)

    - `required string SheetName`

      Name of the worksheet

    - `string? Description`

      Generated description of the worksheet

    - `string? Title`

      Generated title for the worksheet

### Example

```csharp
SheetCreateParams parameters = new()
{
    FileID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
};

var sheetsJob = await client.Sheets.Create(parameters);

Console.WriteLine(sheetsJob);
```

#### Response

```json
{
  "id": "id",
  "configuration": {
    "extraction_range": "extraction_range",
    "flatten_hierarchical_tables": true,
    "generate_additional_metadata": true,
    "include_hidden_cells": true,
    "sheet_names": [
      "string"
    ],
    "specialization": "specialization",
    "table_merge_sensitivity": "strong",
    "tier": "agentic",
    "use_experimental_processing": true
  },
  "created_at": "created_at",
  "file_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "status": "CANCELLED",
  "updated_at": "updated_at",
  "user_id": "user_id",
  "config": {
    "extraction_range": "extraction_range",
    "flatten_hierarchical_tables": true,
    "generate_additional_metadata": true,
    "include_hidden_cells": true,
    "sheet_names": [
      "string"
    ],
    "specialization": "specialization",
    "table_merge_sensitivity": "strong",
    "tier": "agentic",
    "use_experimental_processing": true
  },
  "configuration_id": "configuration_id",
  "errors": [
    "string"
  ],
  "file": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "name": "x",
    "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "created_at": "2019-12-27T18:11:19.117Z",
    "data_source_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "expires_at": "2019-12-27T18:11:19.117Z",
    "external_file_id": "external_file_id",
    "file_size": 0,
    "file_type": "x",
    "last_modified_at": "2019-12-27T18:11:19.117Z",
    "permission_info": {
      "foo": {
        "foo": "bar"
      }
    },
    "purpose": "purpose",
    "resource_info": {
      "foo": {
        "foo": "bar"
      }
    },
    "updated_at": "2019-12-27T18:11:19.117Z"
  },
  "metadata_state_transitions": {
    "foo": "bar"
  },
  "parameters": {
    "webhook_configurations": [
      {
        "webhook_events": [
          "parse.success",
          "parse.error"
        ],
        "webhook_headers": {
          "Authorization": "Bearer sk-..."
        },
        "webhook_output_format": "json",
        "webhook_signing_secret": "whsec_...",
        "webhook_url": "https://example.com/webhooks/llamacloud"
      }
    ]
  },
  "regions": [
    {
      "location": "location",
      "region_type": "region_type",
      "sheet_name": "sheet_name",
      "description": "description",
      "region_id": "region_id",
      "title": "title"
    }
  ],
  "success": true,
  "worksheet_metadata": [
    {
      "sheet_name": "sheet_name",
      "description": "description",
      "title": "title"
    }
  ]
}
```

## List Spreadsheet Jobs

`SheetListPageResponse Sheets.List(SheetListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/sheets/jobs`

List spreadsheet parsing jobs.

### Parameters

- `SheetListParams parameters`

  - `string? configurationID`

    Filter by saved configuration ID

  - `DateTimeOffset? createdAtOnOrAfter`

    Include items created at or after this timestamp (inclusive)

  - `DateTimeOffset? createdAtOnOrBefore`

    Include items created at or before this timestamp (inclusive)

  - `Boolean includeResults`

  - `IReadOnlyList<string>? jobIds`

    Filter by specific job IDs

  - `string? organizationID`

  - `Long? pageSize`

  - `string? pageToken`

  - `string? projectID`

  - `Status? status`

    Filter by job status

    - `"CANCELLED"Cancelled`

    - `"ERROR"Error`

    - `"PARTIAL_SUCCESS"PartialSuccess`

    - `"PENDING"Pending`

    - `"SUCCESS"Success`

### Returns

- `class SheetListPageResponse:`

  - `required IReadOnlyList<SheetsJob> Items`

    The list of items.

    - `required string ID`

      The ID of the job

    - `required SheetsParsingConfig Configuration`

      Configuration applied to the parsing job (inline or resolved from a saved preset).

      - `string? ExtractionRange`

        A1 notation of the range to extract a single region from. If None, the entire sheet is used.

      - `Boolean FlattenHierarchicalTables`

        Return a flattened dataframe when a detected table is recognized as hierarchical.

      - `Boolean GenerateAdditionalMetadata`

        Deprecated: controlled by `tier`. Whether to generate additional metadata (title, description) for each extracted region. Honored only on `agentic`.

      - `Boolean IncludeHiddenCells`

        Whether to include hidden cells when extracting regions from the spreadsheet.

      - `IReadOnlyList<string>? SheetNames`

        The names of the sheets to extract regions from. If empty, all sheets will be processed.

      - `string? Specialization`

        Deprecated: controlled by `tier`. Optional specialization mode for domain-specific extraction. Supported values: 'financial-standard', 'financial-enhanced', 'financial-precise'. Default None uses the general-purpose pipeline. Honored only on `agentic`.

      - `TableMergeSensitivity TableMergeSensitivity`

        Deprecated: controlled by `tier`. Influences how likely similar-looking regions are merged into a single table. Honored only on `agentic`.

        - `"strong"Strong`

        - `"weak"Weak`

      - `Tier Tier`

        Spreadsheet extraction tier. `cost_effective` uses the rule-based/ML-only pipeline; `agentic` uses the full pipeline.

        - `"agentic"Agentic`

        - `"cost_effective"CostEffective`

      - `Boolean UseExperimentalProcessing`

        Deprecated: controlled by `tier`. Enables experimental processing. Honored only on `agentic`.

    - `required string CreatedAt`

      When the job was created

    - `required string? FileID`

      The ID of the input file

    - `required string ProjectID`

      The ID of the project

    - `required Status Status`

      The status of the parsing job

      - `"CANCELLED"Cancelled`

      - `"ERROR"Error`

      - `"PARTIAL_SUCCESS"PartialSuccess`

      - `"PENDING"Pending`

      - `"SUCCESS"Success`

    - `required string UpdatedAt`

      When the job was last updated

    - `required string UserID`

      The ID of the user

    - `SheetsParsingConfig? Config`

      Configuration for spreadsheet parsing and region extraction

    - `string? ConfigurationID`

      The saved product configuration ID used at create time, if any.

    - `IReadOnlyList<string> Errors`

      Any errors encountered

    - `File? File`

      Schema for a file.

      - `required string ID`

        Unique identifier

      - `required string Name`

      - `required string ProjectID`

        The ID of the project that the file belongs to

      - `DateTimeOffset? CreatedAt`

        Creation datetime

      - `string? DataSourceID`

        The ID of the data source that the file belongs to

      - `DateTimeOffset? ExpiresAt`

        The expiration date for the file. Files past this date can be deleted.

      - `string? ExternalFileID`

        The ID of the file in the external system

      - `Long? FileSize`

        Size of the file in bytes

      - `string? FileType`

        File type (e.g. pdf, docx, etc.)

      - `DateTimeOffset? LastModifiedAt`

        The last modified time of the file

      - `IReadOnlyDictionary<string, PermissionInfo?>? PermissionInfo`

        Permission information for the file

        - `IReadOnlyDictionary<string, JsonElement>`

        - `IReadOnlyList<JsonElement>`

        - `string`

        - `Double`

        - `Boolean`

      - `string? Purpose`

        The intended purpose of the file (e.g., 'user_data', 'parse', 'extract', 'split', 'classify')

      - `IReadOnlyDictionary<string, ResourceInfo?>? ResourceInfo`

        Resource information for the file

        - `IReadOnlyDictionary<string, JsonElement>`

        - `IReadOnlyList<JsonElement>`

        - `string`

        - `Double`

        - `Boolean`

      - `DateTimeOffset? UpdatedAt`

        Update datetime

    - `IReadOnlyDictionary<string, JsonElement>? MetadataStateTransitions`

      Per-status entry timestamps. Returned only when requested via `?expand=metadata_state_transitions`.

    - `Parameters Parameters`

      Job-time parameters such as webhook configurations.

      - `IReadOnlyList<WebhookConfiguration>? WebhookConfigurations`

        Webhook configurations for job status notifications.

        - `IReadOnlyList<WebhookEvent>? WebhookEvents`

          Events to subscribe to (e.g. 'parse.success', 'extract.error'). If null, all events are delivered.

          - `"classify.cancelled"ClassifyCancelled`

          - `"classify.error"ClassifyError`

          - `"classify.partial_success"ClassifyPartialSuccess`

          - `"classify.pending"ClassifyPending`

          - `"classify.running"ClassifyRunning`

          - `"classify.success"ClassifySuccess`

          - `"extract.cancelled"ExtractCancelled`

          - `"extract.error"ExtractError`

          - `"extract.partial_success"ExtractPartialSuccess`

          - `"extract.pending"ExtractPending`

          - `"extract.success"ExtractSuccess`

          - `"parse.cancelled"ParseCancelled`

          - `"parse.error"ParseError`

          - `"parse.partial_success"ParsePartialSuccess`

          - `"parse.pending"ParsePending`

          - `"parse.running"ParseRunning`

          - `"parse.success"ParseSuccess`

          - `"sheets.cancelled"SheetsCancelled`

          - `"sheets.error"SheetsError`

          - `"sheets.partial_success"SheetsPartialSuccess`

          - `"sheets.pending"SheetsPending`

          - `"sheets.success"SheetsSuccess`

          - `"split.cancelled"SplitCancelled`

          - `"split.error"SplitError`

          - `"split.pending"SplitPending`

          - `"split.processing"SplitProcessing`

          - `"split.success"SplitSuccess`

          - `"unmapped_event"UnmappedEvent`

        - `IReadOnlyDictionary<string, string>? WebhookHeaders`

          Custom HTTP headers sent with each webhook request (e.g. auth tokens)

        - `string? WebhookOutputFormat`

          Response format sent to the webhook: 'string' (default) or 'json'

        - `string? WebhookSigningSecret`

          Shared signing secret used to sign webhook deliveries. When set, each request includes an HMAC-SHA256 signature of the request body in the 'LC-Signature' header (value 'sha256=<hex>'). Recompute the HMAC over the raw request body with this secret to verify the delivery is authentic.

        - `string? WebhookUrl`

          URL to receive webhook POST notifications

    - `IReadOnlyList<Region> Regions`

      All extracted regions (populated when job is complete)

      - `required string Location`

        Location of the region in the spreadsheet

      - `required string RegionType`

        Type of the extracted region

      - `required string SheetName`

        Worksheet name where region was found

      - `string? Description`

        Generated description for the region

      - `string RegionID`

        Unique identifier for this region within the file

      - `string? Title`

        Generated title for the region

    - `Boolean? Success`

      Whether the job completed successfully

    - `IReadOnlyList<WorksheetMetadata> WorksheetMetadata`

      Metadata for each processed worksheet (populated when job is complete)

      - `required string SheetName`

        Name of the worksheet

      - `string? Description`

        Generated description of the worksheet

      - `string? Title`

        Generated title for the worksheet

  - `string? NextPageToken`

    A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

  - `Long? TotalSize`

    The total number of items available. This is only populated when specifically requested. The value may be an estimate and can be used for display purposes only.

### Example

```csharp
SheetListParams parameters = new();

var page = await client.Sheets.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
```

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "configuration": {
        "extraction_range": "extraction_range",
        "flatten_hierarchical_tables": true,
        "generate_additional_metadata": true,
        "include_hidden_cells": true,
        "sheet_names": [
          "string"
        ],
        "specialization": "specialization",
        "table_merge_sensitivity": "strong",
        "tier": "agentic",
        "use_experimental_processing": true
      },
      "created_at": "created_at",
      "file_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "status": "CANCELLED",
      "updated_at": "updated_at",
      "user_id": "user_id",
      "config": {
        "extraction_range": "extraction_range",
        "flatten_hierarchical_tables": true,
        "generate_additional_metadata": true,
        "include_hidden_cells": true,
        "sheet_names": [
          "string"
        ],
        "specialization": "specialization",
        "table_merge_sensitivity": "strong",
        "tier": "agentic",
        "use_experimental_processing": true
      },
      "configuration_id": "configuration_id",
      "errors": [
        "string"
      ],
      "file": {
        "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "name": "x",
        "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "created_at": "2019-12-27T18:11:19.117Z",
        "data_source_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "expires_at": "2019-12-27T18:11:19.117Z",
        "external_file_id": "external_file_id",
        "file_size": 0,
        "file_type": "x",
        "last_modified_at": "2019-12-27T18:11:19.117Z",
        "permission_info": {
          "foo": {
            "foo": "bar"
          }
        },
        "purpose": "purpose",
        "resource_info": {
          "foo": {
            "foo": "bar"
          }
        },
        "updated_at": "2019-12-27T18:11:19.117Z"
      },
      "metadata_state_transitions": {
        "foo": "bar"
      },
      "parameters": {
        "webhook_configurations": [
          {
            "webhook_events": [
              "parse.success",
              "parse.error"
            ],
            "webhook_headers": {
              "Authorization": "Bearer sk-..."
            },
            "webhook_output_format": "json",
            "webhook_signing_secret": "whsec_...",
            "webhook_url": "https://example.com/webhooks/llamacloud"
          }
        ]
      },
      "regions": [
        {
          "location": "location",
          "region_type": "region_type",
          "sheet_name": "sheet_name",
          "description": "description",
          "region_id": "region_id",
          "title": "title"
        }
      ],
      "success": true,
      "worksheet_metadata": [
        {
          "sheet_name": "sheet_name",
          "description": "description",
          "title": "title"
        }
      ]
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Get Spreadsheet Job

`SheetsJob Sheets.Get(SheetGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/sheets/jobs/{spreadsheet_job_id}`

Get a spreadsheet parsing job. When `include_results=True` (default), embeds extracted regions and results if complete, skipping the separate `/results` call.

### Parameters

- `SheetGetParams parameters`

  - `required string spreadsheetJobID`

  - `IReadOnlyList<string> expand`

    Optional fields to populate on the response. Valid values: metadata_state_transitions.

  - `Boolean includeResults`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class SheetsJob:`

  A spreadsheet parsing job.

  - `required string ID`

    The ID of the job

  - `required SheetsParsingConfig Configuration`

    Configuration applied to the parsing job (inline or resolved from a saved preset).

    - `string? ExtractionRange`

      A1 notation of the range to extract a single region from. If None, the entire sheet is used.

    - `Boolean FlattenHierarchicalTables`

      Return a flattened dataframe when a detected table is recognized as hierarchical.

    - `Boolean GenerateAdditionalMetadata`

      Deprecated: controlled by `tier`. Whether to generate additional metadata (title, description) for each extracted region. Honored only on `agentic`.

    - `Boolean IncludeHiddenCells`

      Whether to include hidden cells when extracting regions from the spreadsheet.

    - `IReadOnlyList<string>? SheetNames`

      The names of the sheets to extract regions from. If empty, all sheets will be processed.

    - `string? Specialization`

      Deprecated: controlled by `tier`. Optional specialization mode for domain-specific extraction. Supported values: 'financial-standard', 'financial-enhanced', 'financial-precise'. Default None uses the general-purpose pipeline. Honored only on `agentic`.

    - `TableMergeSensitivity TableMergeSensitivity`

      Deprecated: controlled by `tier`. Influences how likely similar-looking regions are merged into a single table. Honored only on `agentic`.

      - `"strong"Strong`

      - `"weak"Weak`

    - `Tier Tier`

      Spreadsheet extraction tier. `cost_effective` uses the rule-based/ML-only pipeline; `agentic` uses the full pipeline.

      - `"agentic"Agentic`

      - `"cost_effective"CostEffective`

    - `Boolean UseExperimentalProcessing`

      Deprecated: controlled by `tier`. Enables experimental processing. Honored only on `agentic`.

  - `required string CreatedAt`

    When the job was created

  - `required string? FileID`

    The ID of the input file

  - `required string ProjectID`

    The ID of the project

  - `required Status Status`

    The status of the parsing job

    - `"CANCELLED"Cancelled`

    - `"ERROR"Error`

    - `"PARTIAL_SUCCESS"PartialSuccess`

    - `"PENDING"Pending`

    - `"SUCCESS"Success`

  - `required string UpdatedAt`

    When the job was last updated

  - `required string UserID`

    The ID of the user

  - `SheetsParsingConfig? Config`

    Configuration for spreadsheet parsing and region extraction

  - `string? ConfigurationID`

    The saved product configuration ID used at create time, if any.

  - `IReadOnlyList<string> Errors`

    Any errors encountered

  - `File? File`

    Schema for a file.

    - `required string ID`

      Unique identifier

    - `required string Name`

    - `required string ProjectID`

      The ID of the project that the file belongs to

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `string? DataSourceID`

      The ID of the data source that the file belongs to

    - `DateTimeOffset? ExpiresAt`

      The expiration date for the file. Files past this date can be deleted.

    - `string? ExternalFileID`

      The ID of the file in the external system

    - `Long? FileSize`

      Size of the file in bytes

    - `string? FileType`

      File type (e.g. pdf, docx, etc.)

    - `DateTimeOffset? LastModifiedAt`

      The last modified time of the file

    - `IReadOnlyDictionary<string, PermissionInfo?>? PermissionInfo`

      Permission information for the file

      - `IReadOnlyDictionary<string, JsonElement>`

      - `IReadOnlyList<JsonElement>`

      - `string`

      - `Double`

      - `Boolean`

    - `string? Purpose`

      The intended purpose of the file (e.g., 'user_data', 'parse', 'extract', 'split', 'classify')

    - `IReadOnlyDictionary<string, ResourceInfo?>? ResourceInfo`

      Resource information for the file

      - `IReadOnlyDictionary<string, JsonElement>`

      - `IReadOnlyList<JsonElement>`

      - `string`

      - `Double`

      - `Boolean`

    - `DateTimeOffset? UpdatedAt`

      Update datetime

  - `IReadOnlyDictionary<string, JsonElement>? MetadataStateTransitions`

    Per-status entry timestamps. Returned only when requested via `?expand=metadata_state_transitions`.

  - `Parameters Parameters`

    Job-time parameters such as webhook configurations.

    - `IReadOnlyList<WebhookConfiguration>? WebhookConfigurations`

      Webhook configurations for job status notifications.

      - `IReadOnlyList<WebhookEvent>? WebhookEvents`

        Events to subscribe to (e.g. 'parse.success', 'extract.error'). If null, all events are delivered.

        - `"classify.cancelled"ClassifyCancelled`

        - `"classify.error"ClassifyError`

        - `"classify.partial_success"ClassifyPartialSuccess`

        - `"classify.pending"ClassifyPending`

        - `"classify.running"ClassifyRunning`

        - `"classify.success"ClassifySuccess`

        - `"extract.cancelled"ExtractCancelled`

        - `"extract.error"ExtractError`

        - `"extract.partial_success"ExtractPartialSuccess`

        - `"extract.pending"ExtractPending`

        - `"extract.success"ExtractSuccess`

        - `"parse.cancelled"ParseCancelled`

        - `"parse.error"ParseError`

        - `"parse.partial_success"ParsePartialSuccess`

        - `"parse.pending"ParsePending`

        - `"parse.running"ParseRunning`

        - `"parse.success"ParseSuccess`

        - `"sheets.cancelled"SheetsCancelled`

        - `"sheets.error"SheetsError`

        - `"sheets.partial_success"SheetsPartialSuccess`

        - `"sheets.pending"SheetsPending`

        - `"sheets.success"SheetsSuccess`

        - `"split.cancelled"SplitCancelled`

        - `"split.error"SplitError`

        - `"split.pending"SplitPending`

        - `"split.processing"SplitProcessing`

        - `"split.success"SplitSuccess`

        - `"unmapped_event"UnmappedEvent`

      - `IReadOnlyDictionary<string, string>? WebhookHeaders`

        Custom HTTP headers sent with each webhook request (e.g. auth tokens)

      - `string? WebhookOutputFormat`

        Response format sent to the webhook: 'string' (default) or 'json'

      - `string? WebhookSigningSecret`

        Shared signing secret used to sign webhook deliveries. When set, each request includes an HMAC-SHA256 signature of the request body in the 'LC-Signature' header (value 'sha256=<hex>'). Recompute the HMAC over the raw request body with this secret to verify the delivery is authentic.

      - `string? WebhookUrl`

        URL to receive webhook POST notifications

  - `IReadOnlyList<Region> Regions`

    All extracted regions (populated when job is complete)

    - `required string Location`

      Location of the region in the spreadsheet

    - `required string RegionType`

      Type of the extracted region

    - `required string SheetName`

      Worksheet name where region was found

    - `string? Description`

      Generated description for the region

    - `string RegionID`

      Unique identifier for this region within the file

    - `string? Title`

      Generated title for the region

  - `Boolean? Success`

    Whether the job completed successfully

  - `IReadOnlyList<WorksheetMetadata> WorksheetMetadata`

    Metadata for each processed worksheet (populated when job is complete)

    - `required string SheetName`

      Name of the worksheet

    - `string? Description`

      Generated description of the worksheet

    - `string? Title`

      Generated title for the worksheet

### Example

```csharp
SheetGetParams parameters = new() { SpreadsheetJobID = "spreadsheet_job_id" };

var sheetsJob = await client.Sheets.Get(parameters);

Console.WriteLine(sheetsJob);
```

#### Response

```json
{
  "id": "id",
  "configuration": {
    "extraction_range": "extraction_range",
    "flatten_hierarchical_tables": true,
    "generate_additional_metadata": true,
    "include_hidden_cells": true,
    "sheet_names": [
      "string"
    ],
    "specialization": "specialization",
    "table_merge_sensitivity": "strong",
    "tier": "agentic",
    "use_experimental_processing": true
  },
  "created_at": "created_at",
  "file_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "status": "CANCELLED",
  "updated_at": "updated_at",
  "user_id": "user_id",
  "config": {
    "extraction_range": "extraction_range",
    "flatten_hierarchical_tables": true,
    "generate_additional_metadata": true,
    "include_hidden_cells": true,
    "sheet_names": [
      "string"
    ],
    "specialization": "specialization",
    "table_merge_sensitivity": "strong",
    "tier": "agentic",
    "use_experimental_processing": true
  },
  "configuration_id": "configuration_id",
  "errors": [
    "string"
  ],
  "file": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "name": "x",
    "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "created_at": "2019-12-27T18:11:19.117Z",
    "data_source_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "expires_at": "2019-12-27T18:11:19.117Z",
    "external_file_id": "external_file_id",
    "file_size": 0,
    "file_type": "x",
    "last_modified_at": "2019-12-27T18:11:19.117Z",
    "permission_info": {
      "foo": {
        "foo": "bar"
      }
    },
    "purpose": "purpose",
    "resource_info": {
      "foo": {
        "foo": "bar"
      }
    },
    "updated_at": "2019-12-27T18:11:19.117Z"
  },
  "metadata_state_transitions": {
    "foo": "bar"
  },
  "parameters": {
    "webhook_configurations": [
      {
        "webhook_events": [
          "parse.success",
          "parse.error"
        ],
        "webhook_headers": {
          "Authorization": "Bearer sk-..."
        },
        "webhook_output_format": "json",
        "webhook_signing_secret": "whsec_...",
        "webhook_url": "https://example.com/webhooks/llamacloud"
      }
    ]
  },
  "regions": [
    {
      "location": "location",
      "region_type": "region_type",
      "sheet_name": "sheet_name",
      "description": "description",
      "region_id": "region_id",
      "title": "title"
    }
  ],
  "success": true,
  "worksheet_metadata": [
    {
      "sheet_name": "sheet_name",
      "description": "description",
      "title": "title"
    }
  ]
}
```

## Get Result Region

`PresignedUrl Sheets.GetResultTable(SheetGetResultTableParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/sheets/jobs/{spreadsheet_job_id}/regions/{region_id}/result/{region_type}`

Generate a presigned URL to download a specific extracted region.

### Parameters

- `SheetGetResultTableParams parameters`

  - `required string spreadsheetJobID`

    Path param

  - `required string regionID`

    Path param

  - `required RegionType regionType`

    Path param

    - `"cell_metadata"CellMetadata`

    - `"extra"Extra`

    - `"table"Table`

  - `Long? expiresAtSeconds`

    Query param

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

### Returns

- `class PresignedUrl:`

  Schema for a presigned URL.

  - `required DateTimeOffset ExpiresAt`

    The time at which the presigned URL expires

  - `required string Url`

    A presigned URL for IO operations against a private file

  - `IReadOnlyDictionary<string, string>? FormFields`

    Form fields for a presigned POST request

### Example

```csharp
SheetGetResultTableParams parameters = new()
{
    SpreadsheetJobID = "spreadsheet_job_id",
    RegionID = "region_id",
    RegionType = RegionType.CellMetadata,
};

var presignedUrl = await client.Sheets.GetResultTable(parameters);

Console.WriteLine(presignedUrl);
```

#### Response

```json
{
  "expires_at": "2019-12-27T18:11:19.117Z",
  "url": "https://example.com",
  "form_fields": {
    "foo": "string"
  }
}
```

## Delete Spreadsheet Job

`JsonElement Sheets.DeleteJob(SheetDeleteJobParamsparameters, CancellationTokencancellationToken = default)`

**delete** `/api/v1/sheets/jobs/{spreadsheet_job_id}`

Delete a spreadsheet parsing job and its associated data.

### Parameters

- `SheetDeleteJobParams parameters`

  - `required string spreadsheetJobID`

  - `string? organizationID`

  - `string? projectID`

### Example

```csharp
SheetDeleteJobParams parameters = new()
{
    SpreadsheetJobID = "spreadsheet_job_id"
};

var response = await client.Sheets.DeleteJob(parameters);

Console.WriteLine(response);
```

#### Response

```json
{}
```
