# Beta

# Indexes

## Get Index

`IndexGetResponse Beta.Indexes.Get(IndexGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/indexes/{index_id}`

Get an index by ID.

### Parameters

- `IndexGetParams parameters`

  - `required string indexID`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class IndexGetResponse:`

  A searchable index over a directory of documents.

  - `required string ID`

    Unique identifier

  - `required string ExportConfigID`

    ID of the export configuration.

  - `required string Name`

    Index name.

  - `required string OutputDirectoryID`

    ID of the output directory holding the indexed files.

  - `required string ProjectID`

    Project this index belongs to.

  - `required string SourceDirectoryID`

    ID of the source directory.

  - `required string SyncConfigID`

    ID of the sync configuration.

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `string? Description`

    Index description.

  - `DateTimeOffset? LastExportedAt`

    Last export time.

  - `DateTimeOffset? LastSyncedAt`

    Last sync time.

  - `IReadOnlyDictionary<string, JsonElement> Metadata`

    Build state and diagnostic info.

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
IndexGetParams parameters = new() { IndexID = "index_id" };

var index = await client.Beta.Indexes.Get(parameters);

Console.WriteLine(index);
```

#### Response

```json
{
  "id": "id",
  "export_config_id": "export_config_id",
  "name": "name",
  "output_directory_id": "output_directory_id",
  "project_id": "project_id",
  "source_directory_id": "source_directory_id",
  "sync_config_id": "sync_config_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "last_exported_at": "2019-12-27T18:11:19.117Z",
  "last_synced_at": "2019-12-27T18:11:19.117Z",
  "metadata": {
    "foo": "bar"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Delete Index

`Beta.Indexes.Delete(IndexDeleteParamsparameters, CancellationTokencancellationToken = default)`

**delete** `/api/v1/indexes/{index_id}`

Delete an index.

### Parameters

- `IndexDeleteParams parameters`

  - `required string indexID`

  - `string? organizationID`

  - `string? projectID`

### Example

```csharp
IndexDeleteParams parameters = new() { IndexID = "index_id" };

await client.Beta.Indexes.Delete(parameters);
```

## Create Index

`IndexCreateResponse Beta.Indexes.Create(IndexCreateParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/indexes`

Create a searchable index over a source directory.

### Parameters

- `IndexCreateParams parameters`

  - `required string sourceDirectoryID`

    Body param: ID of the source directory containing your documents.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string? description`

    Body param: Optional description of the index.

  - `string? name`

    Body param: Optional display name for the index. If omitted, the index is named after the source directory.

  - `IReadOnlyList<Product>? products`

    Body param: Product configurations for syncing. Omit to use a default parse configuration. Include an explicit entry per product type (e.g. parse, extract) to override the default.

    - `required string ProductConfigID`

      ID of the product configuration.

    - `required string ProductType`

      Product type. One of: parse, extract.

  - `IReadOnlyList<string>? storeAttachments`

    Body param: Attachment kinds to store alongside parsed output. Each entry must be one of: screenshots, items. For example, ['screenshots'] renders and stores per-page screenshots; ['items'] stores structured items with bounding boxes. Omit or pass an empty list to skip attachments.

  - `string syncFrequency`

    Body param: How often to re-run the sync. One of: manual, daily, on_source_change. Defaults to manual.

  - `VectorTarget vectorTarget`

    Body param: Vector export destination for the index. 'DEFAULT' exports to the managed vector DB destination resolved from configuration. 'DISABLED' skips vector export — the export destination falls back to 'Download'.

    - `"DEFAULT"Default`

    - `"DISABLED"Disabled`

### Returns

- `class IndexCreateResponse:`

  A searchable index over a directory of documents.

  - `required string ID`

    Unique identifier

  - `required string ExportConfigID`

    ID of the export configuration.

  - `required string Name`

    Index name.

  - `required string OutputDirectoryID`

    ID of the output directory holding the indexed files.

  - `required string ProjectID`

    Project this index belongs to.

  - `required string SourceDirectoryID`

    ID of the source directory.

  - `required string SyncConfigID`

    ID of the sync configuration.

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `string? Description`

    Index description.

  - `DateTimeOffset? LastExportedAt`

    Last export time.

  - `DateTimeOffset? LastSyncedAt`

    Last sync time.

  - `IReadOnlyDictionary<string, JsonElement> Metadata`

    Build state and diagnostic info.

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
IndexCreateParams parameters = new() { SourceDirectoryID = "dir-abc123" };

var index = await client.Beta.Indexes.Create(parameters);

Console.WriteLine(index);
```

#### Response

```json
{
  "id": "id",
  "export_config_id": "export_config_id",
  "name": "name",
  "output_directory_id": "output_directory_id",
  "project_id": "project_id",
  "source_directory_id": "source_directory_id",
  "sync_config_id": "sync_config_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "last_exported_at": "2019-12-27T18:11:19.117Z",
  "last_synced_at": "2019-12-27T18:11:19.117Z",
  "metadata": {
    "foo": "bar"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Sync Index

`JsonElement Beta.Indexes.Sync(IndexSyncParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/indexes/{index_id}/sync`

Trigger a sync and export for an existing index, re-parsing changed files and exporting updated chunks.

### Parameters

- `IndexSyncParams parameters`

  - `required string indexID`

  - `string? organizationID`

  - `string? projectID`

### Example

```csharp
IndexSyncParams parameters = new() { IndexID = "index_id" };

var response = await client.Beta.Indexes.Sync(parameters);

Console.WriteLine(response);
```

#### Response

```json
{}
```

## List Indexes

`IndexListPageResponse Beta.Indexes.List(IndexListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/indexes`

List indexes for the current project.

### Parameters

- `IndexListParams parameters`

  - `string? organizationID`

  - `Long? pageSize`

  - `string? pageToken`

  - `string? projectID`

  - `string? sourceDirectoryID`

### Returns

- `class IndexListPageResponse:`

  Paginated list of indexes.

  - `required IReadOnlyList<IndexListResponse> Items`

    The list of items.

    - `required string ID`

      Unique identifier

    - `required string ExportConfigID`

      ID of the export configuration.

    - `required string Name`

      Index name.

    - `required string OutputDirectoryID`

      ID of the output directory holding the indexed files.

    - `required string ProjectID`

      Project this index belongs to.

    - `required string SourceDirectoryID`

      ID of the source directory.

    - `required string SyncConfigID`

      ID of the sync configuration.

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `string? Description`

      Index description.

    - `DateTimeOffset? LastExportedAt`

      Last export time.

    - `DateTimeOffset? LastSyncedAt`

      Last sync time.

    - `IReadOnlyDictionary<string, JsonElement> Metadata`

      Build state and diagnostic info.

    - `DateTimeOffset? UpdatedAt`

      Update datetime

  - `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
IndexListParams parameters = new();

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

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "export_config_id": "export_config_id",
      "name": "name",
      "output_directory_id": "output_directory_id",
      "project_id": "project_id",
      "source_directory_id": "source_directory_id",
      "sync_config_id": "sync_config_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "description": "description",
      "last_exported_at": "2019-12-27T18:11:19.117Z",
      "last_synced_at": "2019-12-27T18:11:19.117Z",
      "metadata": {
        "foo": "bar"
      },
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

# Retrieval

## Retrieve

`RetrievalRetrieveResponse Beta.Retrieval.Retrieve(RetrievalRetrieveParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/retrieval/retrieve`

Retrieve relevant chunks via hybrid search (vector + full-text), with filtering on built-in or user-defined metadata.

### Parameters

- `RetrievalRetrieveParams parameters`

  - `required string indexID`

    Body param: ID of the index to retrieve against.

  - `required string query`

    Body param: Natural-language query to retrieve relevant chunks.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `IReadOnlyDictionary<string, CustomFilter?>? customFilters`

    Body param: Filters on user-defined metadata fields.

    - `class FilterTypeUnionStrIntBoolFloat:`

      - `required Operator Operator`

        - `"eq"Eq`

        - `"gt"Gt`

        - `"gte"Gte`

        - `"in"In`

        - `"lt"Lt`

        - `"lte"Lte`

        - `"ne"Ne`

        - `"nin"Nin`

      - `required Value Value`

        - `string`

        - `Boolean`

        - `Double`

        - `IReadOnlyList<UnnamedSchemaWithArrayParent0>`

          - `string`

          - `Boolean`

          - `Double`

    - `IReadOnlyList<FilterTypeUnionIntFloat>`

      - `required Operator Operator`

        - `"eq"Eq`

        - `"gt"Gt`

        - `"gte"Gte`

        - `"in"In`

        - `"lt"Lt`

        - `"lte"Lte`

        - `"ne"Ne`

        - `"nin"Nin`

      - `required Value Value`

        - `Double`

        - `IReadOnlyList<Double>`

  - `Double? fullTextPipelineWeight`

    Body param: Weight of the full-text search pipeline (0-1).

  - `Long? numCandidates`

    Body param: Number of candidates for approximate nearest neighbor search.

  - `Rerank rerank`

    Body param: Reranking configuration applied after hybrid search. Enabled by default.

    - `Boolean Enabled`

      Set to false to disable reranking.

    - `Long? TopN`

      Number of results to return after reranking.

  - `Double? scoreThreshold`

    Body param: Minimum score threshold for returned results.

  - `StaticFilters? staticFilters`

    Body param: Filters on built-in document fields (page range, chunk index, etc.).

    - `ParsedDirectoryFileID? ParsedDirectoryFileID`

      - `required Operator Operator`

        - `"eq"Eq`

        - `"gt"Gt`

        - `"gte"Gte`

        - `"in"In`

        - `"lt"Lt`

        - `"lte"Lte`

        - `"ne"Ne`

        - `"nin"Nin`

      - `required Value Value`

        - `string`

        - `IReadOnlyList<string>`

  - `Long? topK`

    Body param: Maximum number of results to return.

  - `Double? vectorPipelineWeight`

    Body param: Weight of the vector search pipeline (0-1).

### Returns

- `class RetrievalRetrieveResponse:`

  Response containing retrieval results.

  - `required IReadOnlyList<Result> Results`

    Ordered list of retrieved chunks.

    - `required string Content`

      Text content of the retrieved chunk.

    - `IReadOnlyDictionary<string, Metadata>? Metadata`

      User-defined metadata associated with the chunk.

      - `string`

      - `Long`

      - `Double`

      - `Boolean`

      - `JsonElement`

      - `IReadOnlyList<string>`

    - `Double? RerankScore`

      Relevance score from the reranker, if reranking was applied.

    - `Double? Score`

      Hybrid search relevance score.

    - `StaticFields StaticFields`

      Built-in fields stored for every exported chunk.

      - `IReadOnlyList<Attachment> Attachments`

        Attachments associated with the chunk

        - `required string AttachmentName`

          Attachment-relative path, e.g. 'screenshots/page_7.jpg'.

        - `required string SourceID`

          File ID to pass as source_id when fetching the attachment.

        - `required string Type`

          Attachment kind, e.g. 'screenshot', 'items'.

      - `Long? ChunkEndChar`

        End character offset of the chunk.

      - `Long? ChunkIndex`

        Index of the chunk within the file.

      - `Long? ChunkStartChar`

        Start character offset of the chunk.

      - `Long? ChunkTokenCount`

        Token count of the chunk.

      - `Long? PageRangeEnd`

        Last page number covered by this chunk.

      - `Long? PageRangeStart`

        First page number covered by this chunk.

      - `string? ParsedDirectoryFileID`

        ID of the parsed file.

### Example

```csharp
RetrievalRetrieveParams parameters = new()
{
    IndexID = "idx-abc123",
    Query = "What are the key findings?",
};

var retrieval = await client.Beta.Retrieval.Retrieve(parameters);

Console.WriteLine(retrieval);
```

#### Response

```json
{
  "results": [
    {
      "content": "content",
      "metadata": {
        "foo": "string"
      },
      "rerank_score": 0,
      "score": 0,
      "static_fields": {
        "attachments": [
          {
            "attachment_name": "attachment_name",
            "source_id": "source_id",
            "type": "type"
          }
        ],
        "chunk_end_char": 0,
        "chunk_index": 0,
        "chunk_start_char": 0,
        "chunk_token_count": 0,
        "page_range_end": 0,
        "page_range_start": 0,
        "parsed_directory_file_id": "parsed_directory_file_id"
      }
    }
  ]
}
```

## Find Files

`RetrievalFindPageResponse Beta.Retrieval.Find(RetrievalFindParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/retrieval/files/find`

Search for files by name.

### Parameters

- `RetrievalFindParams parameters`

  - `required string indexID`

    Body param: ID of the index to search within.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string? fileName`

    Body param: Exact file name to match.

  - `string? fileNameContains`

    Body param: Substring match on file name (case-insensitive).

  - `Long? pageSize`

    Body param: The maximum number of items to return. The service may return fewer than this value. If unspecified, a default page size will be used. The maximum value is typically 1000; values above this will be coerced to the maximum.

  - `string? pageToken`

    Body param: A page token, received from a previous list call. Provide this to retrieve the subsequent page.

### Returns

- `class RetrievalFindPageResponse:`

  Paginated file find results.

  - `required IReadOnlyList<RetrievalFindResponse> Items`

    The list of items.

    - `required string FileID`

      ID of the file.

    - `required string FileName`

      Display name of the file.

  - `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
RetrievalFindParams parameters = new() { IndexID = "idx-abc123" };

var page = await client.Beta.Retrieval.Find(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
```

#### Response

```json
{
  "items": [
    {
      "file_id": "file_id",
      "file_name": "file_name"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Grep File

`RetrievalGrepPageResponse Beta.Retrieval.Grep(RetrievalGrepParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/retrieval/files/grep`

Grep within a file's parsed content using a regex pattern.

### Parameters

- `RetrievalGrepParams parameters`

  - `required string fileID`

    Body param: ID of the file to grep.

  - `required string indexID`

    Body param: ID of the index the file belongs to.

  - `required string pattern`

    Body param: Regex pattern to search for.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `Long? contextChars`

    Body param: Number of characters of context to include before and after the matched pattern in the content field of the response

  - `Long? pageSize`

    Body param: The maximum number of items to return. The service may return fewer than this value. If unspecified, a default page size will be used. The maximum value is typically 1000; values above this will be coerced to the maximum.

  - `string? pageToken`

    Body param: A page token, received from a previous list call. Provide this to retrieve the subsequent page.

### Returns

- `class RetrievalGrepPageResponse:`

  Paginated grep results for a file.

  - `required IReadOnlyList<RetrievalGrepResponse> Items`

    The list of items.

    - `required string Content`

      Matched text content.

    - `required Long EndChar`

      End character offset of the match.

    - `required Long StartChar`

      Start character offset of the match.

  - `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
RetrievalGrepParams parameters = new()
{
    FileID = "file_id",
    IndexID = "idx-abc123",
    Pattern = "revenue|profit",
};

var page = await client.Beta.Retrieval.Grep(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
```

#### Response

```json
{
  "items": [
    {
      "content": "content",
      "end_char": 0,
      "start_char": 0
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Read File

`RetrievalReadResponse Beta.Retrieval.Read(RetrievalReadParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/retrieval/files/read`

Read the parsed text content of a specific file.

### Parameters

- `RetrievalReadParams parameters`

  - `required string fileID`

    Body param: ID of the file to read.

  - `required string indexID`

    Body param: ID of the index the file belongs to.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `Long? maxLength`

    Body param: Maximum number of characters to read from the offset.

  - `Long offset`

    Body param: Starting character offset.

### Returns

- `class RetrievalReadResponse:`

  File read result.

  - `required string Content`

    Parsed text content of the file.

### Example

```csharp
RetrievalReadParams parameters = new()
{
    FileID = "file_id",
    IndexID = "idx-abc123",
};

var response = await client.Beta.Retrieval.Read(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "content": "content"
}
```

# Chat

## List Sessions

`ChatListPageResponse Beta.Chat.List(ChatListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/chat`

List all chat sessions for the current project.

### Parameters

- `ChatListParams parameters`

  - `string? organizationID`

  - `Long? pageSize`

  - `string? pageToken`

  - `string? projectID`

### Returns

- `class ChatListPageResponse:`

  Paginated list of chat sessions.

  - `required IReadOnlyList<ChatListResponse> Items`

    Chat sessions for the current page.

    - `required string LastUpdatedAt`

      ISO-format timestamp showing when the session was last updated.

    - `required string SessionID`

      Unique session identifier.

    - `string? GeneratedTitle`

      Auto-generated title derived from the first user message.

    - `IReadOnlyList<string>? IndexIds`

      Indexes this session is bound to. Null on unbound sessions.

    - `JobMetadata? JobMetadata`

      Token usage and status from the most recent run. Null if the session has not been run yet.

      - `Double DurationMs`

      - `string? Error`

      - `IReadOnlyList<string>? ExportConfigIds`

      - `Boolean IsError`

      - `Long? TotalInputTokens`

      - `Long? TotalOutputTokens`

      - `Long Turns`

  - `string? NextPageToken`

    Opaque token to retrieve the next page. Omitted when there are no further pages.

### Example

```csharp
ChatListParams parameters = new();

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

#### Response

```json
{
  "items": [
    {
      "last_updated_at": "2026-04-22T12:34:41.342245",
      "session_id": "ses-abc123",
      "generated_title": "What were the main findings in Q3?...",
      "index_ids": [
        "idx-abc123",
        "idx-def456"
      ],
      "job_metadata": {
        "duration_ms": 0,
        "error": "error",
        "export_config_ids": [
          "string"
        ],
        "is_error": true,
        "total_input_tokens": 0,
        "total_output_tokens": 0,
        "turns": 0
      }
    }
  ],
  "next_page_token": "next_page_token"
}
```

## Create Session

`ChatCreateResponse Beta.Chat.Create(ChatCreateParams?parameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/chat`

Create a chat session, optionally bound to indexes (locked after the first message).

### Parameters

- `ChatCreateParams parameters`

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `IReadOnlyList<string>? indexIds`

    Body param: Indexes this session will retrieve from. Once set and the first message has been sent, the source set is locked for the session's lifetime. Leave null to create an unbound session.

### Returns

- `class ChatCreateResponse:`

  Summary of a chat session, including its title and last run metadata.

  - `required string LastUpdatedAt`

    ISO-format timestamp showing when the session was last updated.

  - `required string SessionID`

    Unique session identifier.

  - `string? GeneratedTitle`

    Auto-generated title derived from the first user message.

  - `IReadOnlyList<string>? IndexIds`

    Indexes this session is bound to. Null on unbound sessions.

  - `JobMetadata? JobMetadata`

    Token usage and status from the most recent run. Null if the session has not been run yet.

    - `Double DurationMs`

    - `string? Error`

    - `IReadOnlyList<string>? ExportConfigIds`

    - `Boolean IsError`

    - `Long? TotalInputTokens`

    - `Long? TotalOutputTokens`

    - `Long Turns`

### Example

```csharp
ChatCreateParams parameters = new();

var chat = await client.Beta.Chat.Create(parameters);

Console.WriteLine(chat);
```

#### Response

```json
{
  "last_updated_at": "2026-04-22T12:34:41.342245",
  "session_id": "ses-abc123",
  "generated_title": "What were the main findings in Q3?...",
  "index_ids": [
    "idx-abc123",
    "idx-def456"
  ],
  "job_metadata": {
    "duration_ms": 0,
    "error": "error",
    "export_config_ids": [
      "string"
    ],
    "is_error": true,
    "total_input_tokens": 0,
    "total_output_tokens": 0,
    "turns": 0
  }
}
```

## Get Full Session

`ChatRetrieveResponse Beta.Chat.Retrieve(ChatRetrieveParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/chat/{session_id}`

Retrieve a full session by ID, including its event history.

### Parameters

- `ChatRetrieveParams parameters`

  - `required string sessionID`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class ChatRetrieveResponse:`

  Full chat session including its complete event history.

  - `required IReadOnlyList<Event> Events`

    Ordered list of events that make up the conversation history.

    - `class Stop:`

      - `required string? Error`

      - `required Boolean IsError`

      - `required Usage Usage`

        - `Double DurationMs`

        - `Long? TotalInputTokens`

        - `Long? TotalOutputTokens`

        - `Long Turns`

      - `Type Type`

        - `"stop"Stop`

    - `class TextDelta:`

      - `required string Content`

      - `Type Type`

        - `"text_delta"TextDelta`

    - `class Text:`

      - `required string Content`

      - `Type Type`

        - `"text"Text`

    - `class ThinkingDelta:`

      - `required string Content`

      - `Type Type`

        - `"thinking_delta"ThinkingDelta`

    - `class Thinking:`

      - `required string Content`

      - `Type Type`

        - `"thinking"Thinking`

    - `class ToolCall:`

      - `required IReadOnlyDictionary<string, JsonElement> Arguments`

      - `required string CallID`

      - `required string Name`

      - `Type Type`

        - `"tool_call"ToolCall`

    - `class ToolResult:`

      - `required string CallID`

      - `required string Name`

      - `required JsonElement Result`

      - `ImageAttachment? ImageAttachment`

        Coordinates for lazily resolving a page screenshot presigned URL.

        - `required string AttachmentName`

        - `required string SourceID`

      - `Type Type`

        - `"tool_result"ToolResult`

    - `class UserInput:`

      - `required string Content`

      - `Type Type`

        - `"user_input"UserInput`

  - `required string LastUpdatedAt`

    ISO-format timestamp showing when the session was last updated.

  - `required string SessionID`

    Unique session identifier.

  - `string? GeneratedTitle`

    Auto-generated title derived from the first user message.

  - `IReadOnlyList<string>? IndexIds`

    Indexes this session is bound to. Null on unbound sessions.

  - `JobMetadata? JobMetadata`

    Token usage and status from the most recent run. Null if the session has not been run yet.

    - `Double DurationMs`

    - `string? Error`

    - `IReadOnlyList<string>? ExportConfigIds`

    - `Boolean IsError`

    - `Long? TotalInputTokens`

    - `Long? TotalOutputTokens`

    - `Long Turns`

### Example

```csharp
ChatRetrieveParams parameters = new() { SessionID = "session_id" };

var chat = await client.Beta.Chat.Retrieve(parameters);

Console.WriteLine(chat);
```

#### Response

```json
{
  "events": [
    {
      "error": "error",
      "is_error": true,
      "usage": {
        "duration_ms": 0,
        "total_input_tokens": 0,
        "total_output_tokens": 0,
        "turns": 0
      },
      "type": "stop"
    }
  ],
  "last_updated_at": "2026-04-22T12:34:41.342245",
  "session_id": "ses-abc123",
  "generated_title": "What were the main findings in Q3?...",
  "index_ids": [
    "idx-abc123",
    "idx-def456"
  ],
  "job_metadata": {
    "duration_ms": 0,
    "error": "error",
    "export_config_ids": [
      "string"
    ],
    "is_error": true,
    "total_input_tokens": 0,
    "total_output_tokens": 0,
    "turns": 0
  }
}
```

## Delete Session

`Beta.Chat.Delete(ChatDeleteParamsparameters, CancellationTokencancellationToken = default)`

**delete** `/api/v1/chat/{session_id}`

Delete a session.

### Parameters

- `ChatDeleteParams parameters`

  - `required string sessionID`

  - `string? organizationID`

  - `string? projectID`

### Example

```csharp
ChatDeleteParams parameters = new() { SessionID = "session_id" };

await client.Beta.Chat.Delete(parameters);
```

## Get Session Summary

`ChatGetSummaryResponse Beta.Chat.GetSummary(ChatGetSummaryParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/chat/{session_id}/summary`

Retrieve a session summary by ID.

### Parameters

- `ChatGetSummaryParams parameters`

  - `required string sessionID`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class ChatGetSummaryResponse:`

  Summary of a chat session, including its title and last run metadata.

  - `required string LastUpdatedAt`

    ISO-format timestamp showing when the session was last updated.

  - `required string SessionID`

    Unique session identifier.

  - `string? GeneratedTitle`

    Auto-generated title derived from the first user message.

  - `IReadOnlyList<string>? IndexIds`

    Indexes this session is bound to. Null on unbound sessions.

  - `JobMetadata? JobMetadata`

    Token usage and status from the most recent run. Null if the session has not been run yet.

    - `Double DurationMs`

    - `string? Error`

    - `IReadOnlyList<string>? ExportConfigIds`

    - `Boolean IsError`

    - `Long? TotalInputTokens`

    - `Long? TotalOutputTokens`

    - `Long Turns`

### Example

```csharp
ChatGetSummaryParams parameters = new() { SessionID = "session_id" };

var response = await client.Beta.Chat.GetSummary(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "last_updated_at": "2026-04-22T12:34:41.342245",
  "session_id": "ses-abc123",
  "generated_title": "What were the main findings in Q3?...",
  "index_ids": [
    "idx-abc123",
    "idx-def456"
  ],
  "job_metadata": {
    "duration_ms": 0,
    "error": "error",
    "export_config_ids": [
      "string"
    ],
    "is_error": true,
    "total_input_tokens": 0,
    "total_output_tokens": 0,
    "turns": 0
  }
}
```

## Stream Messages

`JsonElement Beta.Chat.Stream(ChatStreamParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/chat/{session_id}/messages/stream`

Stream agent events for a chat turn as Server-Sent Events.

### Parameters

- `ChatStreamParams parameters`

  - `required string sessionID`

    Path param

  - `required IReadOnlyList<string> indexIds`

    Body param: Indexes to retrieve data from.

  - `required string prompt`

    Body param: User message for this chat turn.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

### Example

```csharp
ChatStreamParams parameters = new()
{
    SessionID = "session_id",
    IndexIds =
    [
        "idx-abc123", "idx-def456"
    ],
    Prompt = "What were the main findings in Q3?",
};

var response = await client.Beta.Chat.Stream(parameters);

Console.WriteLine(response);
```

#### Response

```json
{}
```

# Agent Data

## Get Agent Data

`AgentData Beta.AgentData.Get(AgentDataGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/agent-data/{item_id}`

Get agent data by ID.

### Parameters

- `AgentDataGetParams parameters`

  - `required string itemID`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class AgentData:`

  API Result for a single agent data item

  - `required IReadOnlyDictionary<string, JsonElement> Data`

  - `required string DeploymentName`

  - `string? ID`

  - `string Collection`

  - `DateTimeOffset? CreatedAt`

  - `string? ProjectID`

  - `DateTimeOffset? UpdatedAt`

### Example

```csharp
AgentDataGetParams parameters = new() { ItemID = "item_id" };

var agentData = await client.Beta.AgentData.Get(parameters);

Console.WriteLine(agentData);
```

#### Response

```json
{
  "data": {
    "foo": "bar"
  },
  "deployment_name": "deployment_name",
  "id": "id",
  "collection": "collection",
  "created_at": "2019-12-27T18:11:19.117Z",
  "project_id": "project_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Update Agent Data

`AgentData Beta.AgentData.Update(AgentDataUpdateParamsparameters, CancellationTokencancellationToken = default)`

**put** `/api/v1/beta/agent-data/{item_id}`

Update agent data by ID (overwrites).

### Parameters

- `AgentDataUpdateParams parameters`

  - `required string itemID`

    Path param

  - `required IReadOnlyDictionary<string, JsonElement> data`

    Body param

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

### Returns

- `class AgentData:`

  API Result for a single agent data item

  - `required IReadOnlyDictionary<string, JsonElement> Data`

  - `required string DeploymentName`

  - `string? ID`

  - `string Collection`

  - `DateTimeOffset? CreatedAt`

  - `string? ProjectID`

  - `DateTimeOffset? UpdatedAt`

### Example

```csharp
AgentDataUpdateParams parameters = new()
{
    ItemID = "item_id",
    Data = new Dictionary<string, JsonElement>()
    {
        { "foo", JsonSerializer.SerializeToElement("bar") }
    },
};

var agentData = await client.Beta.AgentData.Update(parameters);

Console.WriteLine(agentData);
```

#### Response

```json
{
  "data": {
    "foo": "bar"
  },
  "deployment_name": "deployment_name",
  "id": "id",
  "collection": "collection",
  "created_at": "2019-12-27T18:11:19.117Z",
  "project_id": "project_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Delete Agent Data

`IReadOnlyDictionary<string, string> Beta.AgentData.Delete(AgentDataDeleteParamsparameters, CancellationTokencancellationToken = default)`

**delete** `/api/v1/beta/agent-data/{item_id}`

Delete agent data by ID.

### Parameters

- `AgentDataDeleteParams parameters`

  - `required string itemID`

  - `string? organizationID`

  - `string? projectID`

### Example

```csharp
AgentDataDeleteParams parameters = new() { ItemID = "item_id" };

var agentData = await client.Beta.AgentData.Delete(parameters);

Console.WriteLine(agentData);
```

#### Response

```json
{
  "foo": "string"
}
```

## Create Agent Data

`AgentData Beta.AgentData.Create(AgentDataCreateParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/agent-data`

Create new agent data.

### Parameters

- `AgentDataCreateParams parameters`

  - `required IReadOnlyDictionary<string, JsonElement> data`

    Body param

  - `required string deploymentName`

    Body param

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string collection`

    Body param

### Returns

- `class AgentData:`

  API Result for a single agent data item

  - `required IReadOnlyDictionary<string, JsonElement> Data`

  - `required string DeploymentName`

  - `string? ID`

  - `string Collection`

  - `DateTimeOffset? CreatedAt`

  - `string? ProjectID`

  - `DateTimeOffset? UpdatedAt`

### Example

```csharp
AgentDataCreateParams parameters = new()
{
    Data = new Dictionary<string, JsonElement>()
    {
        { "foo", JsonSerializer.SerializeToElement("bar") }
    },
    DeploymentName = "deployment_name",
};

var agentData = await client.Beta.AgentData.Create(parameters);

Console.WriteLine(agentData);
```

#### Response

```json
{
  "data": {
    "foo": "bar"
  },
  "deployment_name": "deployment_name",
  "id": "id",
  "collection": "collection",
  "created_at": "2019-12-27T18:11:19.117Z",
  "project_id": "project_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Search Agent Data

`AgentDataSearchPageResponse Beta.AgentData.Search(AgentDataSearchParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/agent-data/:search`

Search agent data with filtering, sorting, and pagination.

### Parameters

- `AgentDataSearchParams parameters`

  - `required string deploymentName`

    Body param: The agent deployment's name to search within

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string collection`

    Body param: The logical agent data collection to search within

  - `IReadOnlyDictionary<string, FilterItem>? filter`

    Body param: A filter object or expression that filters resources listed in the response.

    - `Eq? Eq`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `IReadOnlyList<Exclude?> Excludes`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Gt? Gt`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Gte? Gte`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `IReadOnlyList<Include?> Includes`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Lt? Lt`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Lte? Lte`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Ne? Ne`

      - `Double`

      - `string`

      - `DateTimeOffset`

  - `Boolean includeTotal`

    Body param: Whether to include the total number of items in the response

  - `Long? offset`

    Body param: The offset to start from. If not provided, the first page is returned

  - `string? orderBy`

    Body param: A comma-separated list of fields to order by, sorted in ascending order. Use 'field_name desc' to specify descending order.

  - `Long? pageSize`

    Body param: The maximum number of items to return. The service may return fewer than this value. If unspecified, a default page size will be used. The maximum value is typically 1000; values above this will be coerced to the maximum.

  - `string? pageToken`

    Body param: A page token, received from a previous list call. Provide this to retrieve the subsequent page.

### Returns

- `class AgentDataSearchPageResponse:`

  - `required IReadOnlyList<AgentData> Items`

    The list of items.

    - `required IReadOnlyDictionary<string, JsonElement> Data`

    - `required string DeploymentName`

    - `string? ID`

    - `string Collection`

    - `DateTimeOffset? CreatedAt`

    - `string? ProjectID`

    - `DateTimeOffset? UpdatedAt`

  - `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
AgentDataSearchParams parameters = new() { DeploymentName = "deployment_name" };

var page = await client.Beta.AgentData.Search(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
```

#### Response

```json
{
  "items": [
    {
      "data": {
        "foo": "bar"
      },
      "deployment_name": "deployment_name",
      "id": "id",
      "collection": "collection",
      "created_at": "2019-12-27T18:11:19.117Z",
      "project_id": "project_id",
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Aggregate Agent Data

`AgentDataAggregatePageResponse Beta.AgentData.Aggregate(AgentDataAggregateParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/agent-data/:aggregate`

Aggregate agent data with grouping and optional counting/first item retrieval.

### Parameters

- `AgentDataAggregateParams parameters`

  - `required string deploymentName`

    Body param: The agent deployment's name to aggregate data for

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string collection`

    Body param: The logical agent data collection to aggregate data for

  - `Boolean? count`

    Body param: Whether to count the number of items in each group

  - `IReadOnlyDictionary<string, FilterItem>? filter`

    Body param: A filter object or expression that filters resources listed in the response.

    - `Eq? Eq`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `IReadOnlyList<Exclude?> Excludes`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Gt? Gt`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Gte? Gte`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `IReadOnlyList<Include?> Includes`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Lt? Lt`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Lte? Lte`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Ne? Ne`

      - `Double`

      - `string`

      - `DateTimeOffset`

  - `Boolean? first`

    Body param: Whether to return the first item in each group (Sorted by created_at)

  - `IReadOnlyList<string>? groupBy`

    Body param: The fields to group by. If empty, the entire dataset is grouped on. e.g. if left out, can be used for simple count operations

  - `Long? offset`

    Body param: The offset to start from. If not provided, the first page is returned

  - `string? orderBy`

    Body param: A comma-separated list of fields to order by, sorted in ascending order. Use 'field_name desc' to specify descending order.

  - `Long? pageSize`

    Body param: The maximum number of items to return. The service may return fewer than this value. If unspecified, a default page size will be used. The maximum value is typically 1000; values above this will be coerced to the maximum.

  - `string? pageToken`

    Body param: A page token, received from a previous list call. Provide this to retrieve the subsequent page.

### Returns

- `class AgentDataAggregatePageResponse:`

  - `required IReadOnlyList<AgentDataAggregateResponse> Items`

    The list of items.

    - `required IReadOnlyDictionary<string, JsonElement> GroupKey`

    - `Long? Count`

    - `IReadOnlyDictionary<string, JsonElement>? FirstItem`

  - `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
AgentDataAggregateParams parameters = new()
{
    DeploymentName = "deployment_name"
};

var page = await client.Beta.AgentData.Aggregate(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
```

#### Response

```json
{
  "items": [
    {
      "group_key": {
        "foo": "bar"
      },
      "count": 0,
      "first_item": {
        "foo": "bar"
      }
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Delete Agent Data By Query

`AgentDataDeleteByQueryResponse Beta.AgentData.DeleteByQuery(AgentDataDeleteByQueryParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/agent-data/:delete`

Bulk delete agent data by query (deployment_name, collection, optional filters).

### Parameters

- `AgentDataDeleteByQueryParams parameters`

  - `required string deploymentName`

    Body param: The agent deployment's name to delete data for

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string collection`

    Body param: The logical agent data collection to delete from

  - `IReadOnlyDictionary<string, FilterItem>? filter`

    Body param: Optional filters to select which items to delete

    - `Eq? Eq`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `IReadOnlyList<Exclude?> Excludes`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Gt? Gt`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Gte? Gte`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `IReadOnlyList<Include?> Includes`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Lt? Lt`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Lte? Lte`

      - `Double`

      - `string`

      - `DateTimeOffset`

    - `Ne? Ne`

      - `Double`

      - `string`

      - `DateTimeOffset`

### Returns

- `class AgentDataDeleteByQueryResponse:`

  API response for bulk delete operation

  - `required Long DeletedCount`

### Example

```csharp
AgentDataDeleteByQueryParams parameters = new()
{
    DeploymentName = "deployment_name"
};

var response = await client.Beta.AgentData.DeleteByQuery(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "deleted_count": 0
}
```

## Domain Types

### Agent Data

- `class AgentData:`

  API Result for a single agent data item

  - `required IReadOnlyDictionary<string, JsonElement> Data`

  - `required string DeploymentName`

  - `string? ID`

  - `string Collection`

  - `DateTimeOffset? CreatedAt`

  - `string? ProjectID`

  - `DateTimeOffset? UpdatedAt`

# Sheets

## Create Spreadsheet Job

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

**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.

### 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.Beta.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 Beta.Sheets.List(SheetListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/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.Beta.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 Beta.Sheets.Get(SheetGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/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.Beta.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 Beta.Sheets.GetResultTable(SheetGetResultTableParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/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.Beta.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 Beta.Sheets.DeleteJob(SheetDeleteJobParamsparameters, CancellationTokencancellationToken = default)`

**delete** `/api/v1/beta/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.Beta.Sheets.DeleteJob(parameters);

Console.WriteLine(response);
```

#### Response

```json
{}
```

## Domain Types

### Sheets Job

- `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

### Sheets Parsing Config

- `class SheetsParsingConfig:`

  Configuration for spreadsheet parsing and region extraction

  - `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`.

# Directories

## Create Directory

`DirectoryCreateResponse Beta.Directories.Create(DirectoryCreateParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/directories`

Create a new directory within the specified project.

### Parameters

- `DirectoryCreateParams parameters`

  - `required string name`

    Body param: Human-readable name for the directory.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string? description`

    Body param: Optional description shown to users.

  - `IReadOnlyDictionary<string, JsonElement>? systemMetadata`

    Body param: Reserved system-managed metadata.

  - `Type type`

    Body param: Directory type. Use 'ephemeral' for batch processing with automatic cleanup.

    - `"ephemeral"Ephemeral`

    - `"user"User`

### Returns

- `class DirectoryCreateResponse:`

  API response schema for a directory.

  - `required string ID`

    Unique identifier for the directory.

  - `required string Name`

    Human-readable name for the directory.

  - `required string ProjectID`

    Project the directory belongs to.

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `DateTimeOffset? DeletedAt`

    Optional timestamp of when the directory was deleted. Null if not deleted.

  - `string? Description`

    Optional description shown to users.

  - `DateTimeOffset? ExpiresAt`

    When this directory expires and is eligible for cleanup.

  - `IReadOnlyDictionary<string, JsonElement>? SystemMetadata`

    Reserved system-managed metadata.

  - `Type? Type`

    Directory type: 'user', 'index', or 'ephemeral'.

    - `"ephemeral"Ephemeral`

    - `"index"Index`

    - `"user"User`

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
DirectoryCreateParams parameters = new() { Name = "x" };

var directory = await client.Beta.Directories.Create(parameters);

Console.WriteLine(directory);
```

#### Response

```json
{
  "id": "id",
  "name": "x",
  "project_id": "project_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "expires_at": "2019-12-27T18:11:19.117Z",
  "system_metadata": {
    "foo": "bar"
  },
  "type": "ephemeral",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## List Directories

`DirectoryListPageResponse Beta.Directories.List(DirectoryListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/directories`

List Directories

### Parameters

- `DirectoryListParams parameters`

  - `Boolean includeDeleted`

    Include deleted directories.

  - `string? name`

    Directory name to match.

  - `string? organizationID`

  - `Long? pageSize`

  - `string? pageToken`

  - `string? projectID`

  - `Type? type`

    Directory type to include.

    - `"ephemeral"Ephemeral`

    - `"index"Index`

    - `"user"User`

  - `IReadOnlyList<Type>? types`

    Filter by one or more directory types. Repeat the parameter for multiple values.

    - `"ephemeral"Ephemeral`

    - `"index"Index`

    - `"user"User`

### Returns

- `class DirectoryListPageResponse:`

  API query response schema for directories.

  - `required IReadOnlyList<DirectoryListResponse> Items`

    The list of items.

    - `required string ID`

      Unique identifier for the directory.

    - `required string Name`

      Human-readable name for the directory.

    - `required string ProjectID`

      Project the directory belongs to.

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `DateTimeOffset? DeletedAt`

      Optional timestamp of when the directory was deleted. Null if not deleted.

    - `string? Description`

      Optional description shown to users.

    - `DateTimeOffset? ExpiresAt`

      When this directory expires and is eligible for cleanup.

    - `IReadOnlyDictionary<string, JsonElement>? SystemMetadata`

      Reserved system-managed metadata.

    - `Type? Type`

      Directory type: 'user', 'index', or 'ephemeral'.

      - `"ephemeral"Ephemeral`

      - `"index"Index`

      - `"user"User`

    - `DateTimeOffset? UpdatedAt`

      Update datetime

  - `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
DirectoryListParams parameters = new();

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

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "name": "x",
      "project_id": "project_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "deleted_at": "2019-12-27T18:11:19.117Z",
      "description": "description",
      "expires_at": "2019-12-27T18:11:19.117Z",
      "system_metadata": {
        "foo": "bar"
      },
      "type": "ephemeral",
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Get Directory

`DirectoryGetResponse Beta.Directories.Get(DirectoryGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/directories/{directory_id}`

Retrieve a directory by its identifier.

### Parameters

- `DirectoryGetParams parameters`

  - `required string directoryID`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class DirectoryGetResponse:`

  API response schema for a directory.

  - `required string ID`

    Unique identifier for the directory.

  - `required string Name`

    Human-readable name for the directory.

  - `required string ProjectID`

    Project the directory belongs to.

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `DateTimeOffset? DeletedAt`

    Optional timestamp of when the directory was deleted. Null if not deleted.

  - `string? Description`

    Optional description shown to users.

  - `DateTimeOffset? ExpiresAt`

    When this directory expires and is eligible for cleanup.

  - `IReadOnlyDictionary<string, JsonElement>? SystemMetadata`

    Reserved system-managed metadata.

  - `Type? Type`

    Directory type: 'user', 'index', or 'ephemeral'.

    - `"ephemeral"Ephemeral`

    - `"index"Index`

    - `"user"User`

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
DirectoryGetParams parameters = new() { DirectoryID = "directory_id" };

var directory = await client.Beta.Directories.Get(parameters);

Console.WriteLine(directory);
```

#### Response

```json
{
  "id": "id",
  "name": "x",
  "project_id": "project_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "expires_at": "2019-12-27T18:11:19.117Z",
  "system_metadata": {
    "foo": "bar"
  },
  "type": "ephemeral",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Update Directory

`DirectoryUpdateResponse Beta.Directories.Update(DirectoryUpdateParamsparameters, CancellationTokencancellationToken = default)`

**patch** `/api/v1/beta/directories/{directory_id}`

Update directory metadata.

### Parameters

- `DirectoryUpdateParams parameters`

  - `required string directoryID`

    Path param

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string? description`

    Body param: Updated description for the directory.

  - `string? name`

    Body param: Updated name for the directory.

### Returns

- `class DirectoryUpdateResponse:`

  API response schema for a directory.

  - `required string ID`

    Unique identifier for the directory.

  - `required string Name`

    Human-readable name for the directory.

  - `required string ProjectID`

    Project the directory belongs to.

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `DateTimeOffset? DeletedAt`

    Optional timestamp of when the directory was deleted. Null if not deleted.

  - `string? Description`

    Optional description shown to users.

  - `DateTimeOffset? ExpiresAt`

    When this directory expires and is eligible for cleanup.

  - `IReadOnlyDictionary<string, JsonElement>? SystemMetadata`

    Reserved system-managed metadata.

  - `Type? Type`

    Directory type: 'user', 'index', or 'ephemeral'.

    - `"ephemeral"Ephemeral`

    - `"index"Index`

    - `"user"User`

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
DirectoryUpdateParams parameters = new() { DirectoryID = "directory_id" };

var directory = await client.Beta.Directories.Update(parameters);

Console.WriteLine(directory);
```

#### Response

```json
{
  "id": "id",
  "name": "x",
  "project_id": "project_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "expires_at": "2019-12-27T18:11:19.117Z",
  "system_metadata": {
    "foo": "bar"
  },
  "type": "ephemeral",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Delete Directory

`Beta.Directories.Delete(DirectoryDeleteParamsparameters, CancellationTokencancellationToken = default)`

**delete** `/api/v1/beta/directories/{directory_id}`

Permanently delete a directory.

### Parameters

- `DirectoryDeleteParams parameters`

  - `required string directoryID`

  - `string? organizationID`

  - `string? projectID`

### Example

```csharp
DirectoryDeleteParams parameters = new() { DirectoryID = "directory_id" };

await client.Beta.Directories.Delete(parameters);
```

# Files

## Add Directory File

`FileAddResponse Beta.Directories.Files.Add(FileAddParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/directories/{directory_id}/files`

Create a new file within the specified directory; the directory must exist in the project and `file_id` must reference an existing file.

### Parameters

- `FileAddParams parameters`

  - `required string directoryID`

    Path param

  - `required string fileID`

    Body param: File ID for the storage location (required).

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string? displayName`

    Body param: Display name for the file. If not provided, will use the file's name.

  - `IReadOnlyDictionary<string, Metadata>? metadata`

    Body param: User-defined metadata key-value pairs to associate with the file.

    - `string`

    - `Long`

    - `Double`

    - `Boolean`

    - `JsonElement`

    - `IReadOnlyList<string>`

  - `string? uniqueID`

    Body param: Unique identifier for the file in the directory. If not provided, will use the file's external_file_id or name.

### Returns

- `class FileAddResponse:`

  API response schema for a directory file.

  - `required string ID`

    Unique identifier for the directory file.

  - `required string DirectoryID`

    Directory the file belongs to.

  - `required string DisplayName`

    Display name for the file.

  - `required string ProjectID`

    Project the directory file belongs to.

  - `required string UniqueID`

    Unique identifier for the file in the directory

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `DateTimeOffset? DeletedAt`

    Soft delete marker when the file is removed upstream or by user action.

  - `PresignedUrl? DownloadUrl`

    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

  - `string? FileID`

    File ID for the storage location.

  - `IReadOnlyDictionary<string, Metadata> Metadata`

    Merged metadata from all sources. Higher-priority sources override lower.

    - `string`

    - `Long`

    - `Double`

    - `Boolean`

    - `JsonElement`

    - `IReadOnlyList<string>`

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
FileAddParams parameters = new()
{
    DirectoryID = "directory_id",
    FileID = "file_id",
};

var response = await client.Beta.Directories.Files.Add(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "id": "id",
  "directory_id": "directory_id",
  "display_name": "x",
  "project_id": "project_id",
  "unique_id": "x",
  "created_at": "2019-12-27T18:11:19.117Z",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "download_url": {
    "expires_at": "2019-12-27T18:11:19.117Z",
    "url": "https://example.com",
    "form_fields": {
      "foo": "string"
    }
  },
  "file_id": "file_id",
  "metadata": {
    "foo": "string"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## List Directory Files

`FileListPageResponse Beta.Directories.Files.List(FileListParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/directories/{directory_id}/files`

List all files within the specified directory with optional filtering and pagination.

### Parameters

- `FileListParams parameters`

  - `required string directoryID`

  - `string? displayName`

  - `string? displayNameContains`

  - `IReadOnlyList<string>? expand`

    Fields to expand on each directory file.

  - `string? fileID`

  - `Boolean includeDeleted`

  - `string? organizationID`

  - `Long? pageSize`

  - `string? pageToken`

  - `string? projectID`

  - `string? uniqueID`

  - `DateTimeOffset? updatedAtOnOrAfter`

    Include items updated at or after this timestamp (inclusive)

  - `DateTimeOffset? updatedAtOnOrBefore`

    Include items updated at or before this timestamp (inclusive)

### Returns

- `class FileListPageResponse:`

  API query response schema for directory files.

  - `required IReadOnlyList<FileListResponse> Items`

    The list of items.

    - `required string ID`

      Unique identifier for the directory file.

    - `required string DirectoryID`

      Directory the file belongs to.

    - `required string DisplayName`

      Display name for the file.

    - `required string ProjectID`

      Project the directory file belongs to.

    - `required string UniqueID`

      Unique identifier for the file in the directory

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `DateTimeOffset? DeletedAt`

      Soft delete marker when the file is removed upstream or by user action.

    - `PresignedUrl? DownloadUrl`

      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

    - `string? FileID`

      File ID for the storage location.

    - `IReadOnlyDictionary<string, Metadata> Metadata`

      Merged metadata from all sources. Higher-priority sources override lower.

      - `string`

      - `Long`

      - `Double`

      - `Boolean`

      - `JsonElement`

      - `IReadOnlyList<string>`

    - `DateTimeOffset? UpdatedAt`

      Update datetime

  - `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
FileListParams parameters = new() { DirectoryID = "directory_id" };

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

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "directory_id": "directory_id",
      "display_name": "x",
      "project_id": "project_id",
      "unique_id": "x",
      "created_at": "2019-12-27T18:11:19.117Z",
      "deleted_at": "2019-12-27T18:11:19.117Z",
      "download_url": {
        "expires_at": "2019-12-27T18:11:19.117Z",
        "url": "https://example.com",
        "form_fields": {
          "foo": "string"
        }
      },
      "file_id": "file_id",
      "metadata": {
        "foo": "string"
      },
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Get Directory File

`FileGetResponse Beta.Directories.Files.Get(FileGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/directories/{directory_id}/files/{directory_file_id}`

Get a directory file by `directory_file_id`; to look up by `unique_id`, use the list endpoint with a filter.

### Parameters

- `FileGetParams parameters`

  - `required string directoryID`

    Path param

  - `required string directoryFileID`

    Path param

  - `IReadOnlyList<string>? expand`

    Query param: Fields to expand.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

### Returns

- `class FileGetResponse:`

  API response schema for a directory file.

  - `required string ID`

    Unique identifier for the directory file.

  - `required string DirectoryID`

    Directory the file belongs to.

  - `required string DisplayName`

    Display name for the file.

  - `required string ProjectID`

    Project the directory file belongs to.

  - `required string UniqueID`

    Unique identifier for the file in the directory

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `DateTimeOffset? DeletedAt`

    Soft delete marker when the file is removed upstream or by user action.

  - `PresignedUrl? DownloadUrl`

    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

  - `string? FileID`

    File ID for the storage location.

  - `IReadOnlyDictionary<string, Metadata> Metadata`

    Merged metadata from all sources. Higher-priority sources override lower.

    - `string`

    - `Long`

    - `Double`

    - `Boolean`

    - `JsonElement`

    - `IReadOnlyList<string>`

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
FileGetParams parameters = new()
{
    DirectoryID = "directory_id",
    DirectoryFileID = "directory_file_id",
};

var file = await client.Beta.Directories.Files.Get(parameters);

Console.WriteLine(file);
```

#### Response

```json
{
  "id": "id",
  "directory_id": "directory_id",
  "display_name": "x",
  "project_id": "project_id",
  "unique_id": "x",
  "created_at": "2019-12-27T18:11:19.117Z",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "download_url": {
    "expires_at": "2019-12-27T18:11:19.117Z",
    "url": "https://example.com",
    "form_fields": {
      "foo": "string"
    }
  },
  "file_id": "file_id",
  "metadata": {
    "foo": "string"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Update Directory File

`FileUpdateResponse Beta.Directories.Files.Update(FileUpdateParamsparameters, CancellationTokencancellationToken = default)`

**patch** `/api/v1/beta/directories/{directory_id}/files/{directory_file_id}`

Update directory-file metadata by `directory_file_id`; set `directory_id` to move the file to a different directory. To resolve from `unique_id`, list with a filter first.

### Parameters

- `FileUpdateParams parameters`

  - `required string directoryID`

    Path param

  - `required string directoryFileID`

    Path param

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string? displayName`

    Body param: Updated display name.

  - `IReadOnlyDictionary<string, Metadata>? metadata`

    Body param: User-defined metadata key-value pairs. Replaces the user metadata layer.

    - `string`

    - `Long`

    - `Double`

    - `Boolean`

    - `JsonElement`

    - `IReadOnlyList<string>`

  - `string? targetDirectoryID`

    Body param: Move file to a different directory.

  - `string? uniqueID`

    Body param: Updated unique identifier.

### Returns

- `class FileUpdateResponse:`

  API response schema for a directory file.

  - `required string ID`

    Unique identifier for the directory file.

  - `required string DirectoryID`

    Directory the file belongs to.

  - `required string DisplayName`

    Display name for the file.

  - `required string ProjectID`

    Project the directory file belongs to.

  - `required string UniqueID`

    Unique identifier for the file in the directory

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `DateTimeOffset? DeletedAt`

    Soft delete marker when the file is removed upstream or by user action.

  - `PresignedUrl? DownloadUrl`

    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

  - `string? FileID`

    File ID for the storage location.

  - `IReadOnlyDictionary<string, Metadata> Metadata`

    Merged metadata from all sources. Higher-priority sources override lower.

    - `string`

    - `Long`

    - `Double`

    - `Boolean`

    - `JsonElement`

    - `IReadOnlyList<string>`

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
FileUpdateParams parameters = new()
{
    DirectoryID = "directory_id",
    DirectoryFileID = "directory_file_id",
};

var file = await client.Beta.Directories.Files.Update(parameters);

Console.WriteLine(file);
```

#### Response

```json
{
  "id": "id",
  "directory_id": "directory_id",
  "display_name": "x",
  "project_id": "project_id",
  "unique_id": "x",
  "created_at": "2019-12-27T18:11:19.117Z",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "download_url": {
    "expires_at": "2019-12-27T18:11:19.117Z",
    "url": "https://example.com",
    "form_fields": {
      "foo": "string"
    }
  },
  "file_id": "file_id",
  "metadata": {
    "foo": "string"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Delete Directory File

`Beta.Directories.Files.Delete(FileDeleteParamsparameters, CancellationTokencancellationToken = default)`

**delete** `/api/v1/beta/directories/{directory_id}/files/{directory_file_id}`

Delete a directory file by `directory_file_id`; to resolve from `unique_id`, list with a filter first.

### Parameters

- `FileDeleteParams parameters`

  - `required string directoryID`

    Path param

  - `required string directoryFileID`

    Path param

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

### Example

```csharp
FileDeleteParams parameters = new()
{
    DirectoryID = "directory_id",
    DirectoryFileID = "directory_file_id",
};

await client.Beta.Directories.Files.Delete(parameters);
```

## Upload File To Directory

`FileUploadResponse Beta.Directories.Files.Upload(FileUploadParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/directories/{directory_id}/files/upload`

Upload a file and create its directory entry in one call; `unique_id` / `display_name` default to values derived from file metadata.

### Parameters

- `FileUploadParams parameters`

  - `required string directoryID`

    Path param

  - `required string uploadFile`

    Body param

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string? displayName`

    Body param

  - `string? externalFileID`

    Body param

  - `string? metadata`

    Body param: User metadata as a JSON object string.

  - `string? uniqueID`

    Body param

### Returns

- `class FileUploadResponse:`

  API response schema for a directory file.

  - `required string ID`

    Unique identifier for the directory file.

  - `required string DirectoryID`

    Directory the file belongs to.

  - `required string DisplayName`

    Display name for the file.

  - `required string ProjectID`

    Project the directory file belongs to.

  - `required string UniqueID`

    Unique identifier for the file in the directory

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `DateTimeOffset? DeletedAt`

    Soft delete marker when the file is removed upstream or by user action.

  - `PresignedUrl? DownloadUrl`

    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

  - `string? FileID`

    File ID for the storage location.

  - `IReadOnlyDictionary<string, Metadata> Metadata`

    Merged metadata from all sources. Higher-priority sources override lower.

    - `string`

    - `Long`

    - `Double`

    - `Boolean`

    - `JsonElement`

    - `IReadOnlyList<string>`

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
FileUploadParams parameters = new()
{
    DirectoryID = "directory_id",
    UploadFile = Encoding.UTF8.GetBytes("Example data"),
};

var response = await client.Beta.Directories.Files.Upload(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "id": "id",
  "directory_id": "directory_id",
  "display_name": "x",
  "project_id": "project_id",
  "unique_id": "x",
  "created_at": "2019-12-27T18:11:19.117Z",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "download_url": {
    "expires_at": "2019-12-27T18:11:19.117Z",
    "url": "https://example.com",
    "form_fields": {
      "foo": "string"
    }
  },
  "file_id": "file_id",
  "metadata": {
    "foo": "string"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

# Batch

## Create Batch Job

`BatchCreateResponse Beta.Batch.Create(BatchCreateParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/batch-processing`

Create a batch processing job.

Processes files from a directory or a specific list of item IDs.
Supports batch parsing and classification operations.

Provide either `directory_id` to process all files in a directory,
or `item_ids` for specific items. The job runs asynchronously —
poll `GET /batch/{job_id}` for progress.

### Parameters

- `BatchCreateParams parameters`

  - `required JobConfig jobConfig`

    Body param: Job configuration — either a parse or classify config

    - `class BatchParseJobRecordCreate:`

      Batch-specific parse job record for batch processing.

      This model contains the metadata and configuration for a batch parse job,
      but excludes file-specific information. It's used as input to the batch
      parent workflow and combined with DirectoryFile data to create full
      ParseJobRecordCreate instances for each file.

      Attributes:
      job_name: Must be PARSE_RAW_FILE
      partitions: Partitions for job output location
      parameters: Generic parse configuration (BatchParseJobConfig)
      session_id: Upstream request ID for tracking
      correlation_id: Correlation ID for cross-service tracking
      parent_job_execution_id: Parent job execution ID if nested
      user_id: User who created the job
      project_id: Project this job belongs to
      webhook_url: Optional webhook URL for job completion notifications

      - `string? CorrelationID`

        The correlation ID for this job. Used for tracking the job across services.

      - `JobName JobName`

        - `"parse_raw_file_job"ParseRawFileJob`

      - `Parameters? Parameters`

        Generic parse job configuration for batch processing.

        This model contains the parsing configuration that applies to all files
        in a batch, but excludes file-specific fields like file_name, file_id, etc.
        Those file-specific fields are populated from DirectoryFile data when
        creating individual ParseJobRecordCreate instances for each file.

        The fields in this model should be generic settings that apply uniformly
        to all files being processed in the batch.

        - `Boolean? AdaptiveLongTable`

        - `Boolean? AggressiveTableExtraction`

        - `Boolean? AnnotateLinks`

        - `Boolean? AutoMode`

        - `string? AutoModeConfigurationJson`

        - `Boolean? AutoModeTriggerOnImageInPage`

        - `string? AutoModeTriggerOnRegexpInPage`

        - `Boolean? AutoModeTriggerOnTableInPage`

        - `string? AutoModeTriggerOnTextInPage`

        - `string? AzureOpenAIApiVersion`

        - `string? AzureOpenAIDeploymentName`

        - `string? AzureOpenAIEndpoint`

        - `string? AzureOpenAIKey`

        - `Double? BboxBottom`

        - `Double? BboxLeft`

        - `Double? BboxRight`

        - `Double? BboxTop`

        - `string? BoundingBox`

        - `Boolean? CompactMarkdownTable`

        - `string? ComplementalFormattingInstruction`

        - `string? ConfidenceScoreEffort`

        - `string? ContentGuidelineInstruction`

        - `Boolean? ContinuousMode`

        - `IReadOnlyDictionary<string, JsonElement>? CustomMetadata`

          The custom metadata to attach to the documents.

        - `Boolean? DisableImageExtraction`

        - `Boolean? DisableOcr`

        - `Boolean? DisableReconstruction`

        - `Boolean? DoNotCache`

        - `Boolean? DoNotUnrollColumns`

        - `Boolean? EnableCostOptimizer`

        - `Boolean? ExtractCharts`

        - `Boolean? ExtractLayout`

        - `Boolean? ExtractPrintedPageNumber`

        - `Boolean? FastMode`

        - `string? FormattingInstruction`

        - `string? Gpt4oApiKey`

        - `Boolean? Gpt4oMode`

        - `Boolean? GuessXlsxSheetName`

        - `Boolean? HideFooters`

        - `Boolean? HideHeaders`

        - `Boolean? HighResOcr`

        - `Boolean? HtmlMakeAllElementsVisible`

        - `Boolean? HtmlRemoveFixedElements`

        - `Boolean? HtmlRemoveNavigationElements`

        - `string? HttpProxy`

        - `Boolean? IgnoreDocumentElementsForLayoutDetection`

        - `IReadOnlyList<ImagesToSave>? ImagesToSave`

          - `"embedded"Embedded`

          - `"layout"Layout`

          - `"screenshot"Screenshot`

        - `Boolean? InlineImagesInMarkdown`

        - `string? InputS3Path`

        - `string? InputS3Region`

          The region for the input S3 bucket.

        - `string? InputUrl`

        - `Boolean? InternalIsScreenshotJob`

        - `Boolean? InvalidateCache`

        - `Boolean? IsFormattingInstruction`

        - `Double? JobTimeoutExtraTimePerPageInSeconds`

        - `Double? JobTimeoutInSeconds`

        - `Boolean? KeepPageSeparatorWhenMergingTables`

        - `string Lang`

          The language.

        - `IReadOnlyList<ParsingLanguages> Languages`

          - `"abq"Abq`

          - `"ady"Ady`

          - `"af"Af`

          - `"ang"Ang`

          - `"ar"Ar`

          - `"as"As`

          - `"ava"Ava`

          - `"az"Az`

          - `"be"Be`

          - `"bg"Bg`

          - `"bgc"Bgc`

          - `"bh"Bh`

          - `"bho"Bho`

          - `"bn"Bn`

          - `"bs"Bs`

          - `"ch_sim"ChSim`

          - `"ch_tra"ChTra`

          - `"che"Che`

          - `"cs"Cs`

          - `"cy"Cy`

          - `"da"Da`

          - `"dar"Dar`

          - `"de"De`

          - `"en"En`

          - `"es"Es`

          - `"et"Et`

          - `"fa"Fa`

          - `"fr"Fr`

          - `"ga"Ga`

          - `"gom"Gom`

          - `"hi"Hi`

          - `"hr"Hr`

          - `"hu"Hu`

          - `"id"ID`

          - `"inh"Inh`

          - `"is"Is`

          - `"it"It`

          - `"ja"Ja`

          - `"kbd"Kbd`

          - `"kn"Kn`

          - `"ko"Ko`

          - `"ku"Ku`

          - `"la"La`

          - `"lbe"Lbe`

          - `"lez"Lez`

          - `"lt"Lt`

          - `"lv"Lv`

          - `"mah"Mah`

          - `"mai"Mai`

          - `"mi"Mi`

          - `"mn"Mn`

          - `"mni"Mni`

          - `"mr"Mr`

          - `"ms"Ms`

          - `"mt"Mt`

          - `"ne"Ne`

          - `"new"New`

          - `"nl"Nl`

          - `"no"No`

          - `"oc"Oc`

          - `"pi"Pi`

          - `"pl"Pl`

          - `"pt"Pt`

          - `"ro"Ro`

          - `"rs_cyrillic"RsCyrillic`

          - `"rs_latin"RsLatin`

          - `"ru"Ru`

          - `"sa"Sa`

          - `"sck"Sck`

          - `"sk"Sk`

          - `"sl"Sl`

          - `"sq"Sq`

          - `"sv"Sv`

          - `"sw"Sw`

          - `"ta"Ta`

          - `"tab"Tab`

          - `"te"Te`

          - `"th"Th`

          - `"tjk"Tjk`

          - `"tl"Tl`

          - `"tr"Tr`

          - `"ug"Ug`

          - `"uk"Uk`

          - `"ur"Ur`

          - `"uz"Uz`

          - `"vi"Vi`

        - `Boolean? LayoutAware`

        - `Boolean? LineLevelBoundingBox`

        - `string? MarkdownTableMultilineHeaderSeparator`

        - `Long? MaxPages`

        - `Long? MaxPagesEnforced`

        - `Boolean? MergeTablesAcrossPagesInMarkdown`

        - `string? Model`

        - `Boolean? OutlinedTableExtraction`

        - `Boolean? OutputPdfOfDocument`

        - `string? OutputS3PathPrefix`

          If specified, llamaParse will save the output to the specified path. All output file will use this 'prefix' should be a valid s3:// url

        - `string? OutputS3Region`

          The region for the output S3 bucket.

        - `Boolean? OutputTablesAsHtml`

        - `string? OutputBucket`

          The output bucket.

        - `Double? PageErrorTolerance`

        - `string? PageFooterPrefix`

        - `string? PageFooterSuffix`

        - `string? PageHeaderPrefix`

        - `string? PageHeaderSuffix`

        - `string? PagePrefix`

        - `string? PageSeparator`

        - `string? PageSuffix`

        - `ParsingMode? ParseMode`

          Enum for representing the mode of parsing to be used.

          - `"parse_document_with_agent"ParseDocumentWithAgent`

          - `"parse_document_with_llm"ParseDocumentWithLlm`

          - `"parse_document_with_lvm"ParseDocumentWithLvm`

          - `"parse_page_with_agent"ParsePageWithAgent`

          - `"parse_page_with_layout_agent"ParsePageWithLayoutAgent`

          - `"parse_page_with_llm"ParsePageWithLlm`

          - `"parse_page_with_lvm"ParsePageWithLvm`

          - `"parse_page_without_llm"ParsePageWithoutLlm`

        - `string? ParsingInstruction`

        - `string? PipelineID`

          The pipeline ID.

        - `Boolean? PreciseBoundingBox`

        - `Boolean? PremiumMode`

        - `Boolean? PresentationOutOfBoundsContent`

        - `Boolean? PresentationSkipEmbeddedData`

        - `Boolean? PreserveLayoutAlignmentAcrossPages`

        - `Boolean? PreserveVerySmallText`

        - `string? Preset`

        - `Priority? Priority`

          The priority for the request. This field may be ignored or overwritten depending on the organization tier.

          - `"critical"Critical`

          - `"high"High`

          - `"low"Low`

          - `"medium"Medium`

        - `string? ProjectID`

        - `Boolean? RemoveHiddenText`

        - `FailPageMode? ReplaceFailedPageMode`

          Enum for representing the different available page error handling modes.

          - `"blank_page"BlankPage`

          - `"error_message"ErrorMessage`

          - `"raw_text"RawText`

        - `string? ReplaceFailedPageWithErrorMessagePrefix`

        - `string? ReplaceFailedPageWithErrorMessageSuffix`

        - `IReadOnlyDictionary<string, JsonElement>? ResourceInfo`

          The resource info about the file

        - `Boolean? SaveImages`

        - `Boolean? SkipDiagonalText`

        - `Boolean? SpecializedChartParsingAgentic`

        - `Boolean? SpecializedChartParsingEfficient`

        - `Boolean? SpecializedChartParsingPlus`

        - `Boolean? SpecializedImageParsing`

        - `Boolean? SpreadsheetExtractSubTables`

        - `Boolean? SpreadsheetForceFormulaComputation`

        - `Boolean? SpreadsheetIncludeHiddenSheets`

        - `Boolean? StrictModeBuggyFont`

        - `Boolean? StrictModeImageExtraction`

        - `Boolean? StrictModeImageOcr`

        - `Boolean? StrictModeReconstruction`

        - `Boolean? StructuredOutput`

        - `string? StructuredOutputJsonSchema`

        - `string? StructuredOutputJsonSchemaName`

        - `string? SystemPrompt`

        - `string? SystemPromptAppend`

        - `Boolean? TakeScreenshot`

        - `string? TargetPages`

        - `string? Tier`

        - `Type Type`

          - `"parse"Parse`

        - `Boolean? UseVendorMultimodalModel`

        - `string? UserPrompt`

        - `string? VendorMultimodalApiKey`

        - `string? VendorMultimodalModelName`

        - `string? Version`

        - `IReadOnlyList<WebhookConfiguration>? WebhookConfigurations`

          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

        - `string? WebhookUrl`

      - `string? ParentJobExecutionID`

        The ID of the parent job execution.

      - `IReadOnlyDictionary<string, string> Partitions`

        The partitions for this execution. Used for determining where to save job output.

      - `string? ProjectID`

        The ID of the project this job belongs to.

      - `string? SessionID`

        The upstream request ID that created this job. Used for tracking the job across services.

      - `string? UserID`

        The ID of the user that created this job

      - `string? WebhookUrl`

        The URL that needs to be called at the end of the parsing job.

    - `class ClassifyJob:`

      A classify job.

      - `required string ID`

        Unique identifier

      - `required string ProjectID`

        The ID of the project

      - `required IReadOnlyList<ClassifierRule> Rules`

        The rules to classify the files

        - `required string Description`

          Natural language description of what to classify. Be specific about the content characteristics that identify this document type.

        - `required string Type`

          The document type to assign when this rule matches (e.g., 'invoice', 'receipt', 'contract')

      - `required StatusEnum Status`

        The status of the classify job

        - `"CANCELLED"Cancelled`

        - `"ERROR"Error`

        - `"PARTIAL_SUCCESS"PartialSuccess`

        - `"PENDING"Pending`

        - `"SUCCESS"Success`

      - `required string UserID`

        The ID of the user

      - `DateTimeOffset? CreatedAt`

        Creation datetime

      - `DateTimeOffset EffectiveAt`

      - `string? ErrorMessage`

        Error message for the latest job attempt, if any.

      - `string? JobRecordID`

        The job record ID associated with this status, if any.

      - `Mode Mode`

        The classification mode to use

        - `"FAST"Fast`

        - `"MULTIMODAL"Multimodal`

      - `ClassifyParsingConfiguration ParsingConfiguration`

        The configuration for the parsing job

        - `ParsingLanguages Lang`

          The language to parse the files in

          - `"abq"Abq`

          - `"ady"Ady`

          - `"af"Af`

          - `"ang"Ang`

          - `"ar"Ar`

          - `"as"As`

          - `"ava"Ava`

          - `"az"Az`

          - `"be"Be`

          - `"bg"Bg`

          - `"bgc"Bgc`

          - `"bh"Bh`

          - `"bho"Bho`

          - `"bn"Bn`

          - `"bs"Bs`

          - `"ch_sim"ChSim`

          - `"ch_tra"ChTra`

          - `"che"Che`

          - `"cs"Cs`

          - `"cy"Cy`

          - `"da"Da`

          - `"dar"Dar`

          - `"de"De`

          - `"en"En`

          - `"es"Es`

          - `"et"Et`

          - `"fa"Fa`

          - `"fr"Fr`

          - `"ga"Ga`

          - `"gom"Gom`

          - `"hi"Hi`

          - `"hr"Hr`

          - `"hu"Hu`

          - `"id"ID`

          - `"inh"Inh`

          - `"is"Is`

          - `"it"It`

          - `"ja"Ja`

          - `"kbd"Kbd`

          - `"kn"Kn`

          - `"ko"Ko`

          - `"ku"Ku`

          - `"la"La`

          - `"lbe"Lbe`

          - `"lez"Lez`

          - `"lt"Lt`

          - `"lv"Lv`

          - `"mah"Mah`

          - `"mai"Mai`

          - `"mi"Mi`

          - `"mn"Mn`

          - `"mni"Mni`

          - `"mr"Mr`

          - `"ms"Ms`

          - `"mt"Mt`

          - `"ne"Ne`

          - `"new"New`

          - `"nl"Nl`

          - `"no"No`

          - `"oc"Oc`

          - `"pi"Pi`

          - `"pl"Pl`

          - `"pt"Pt`

          - `"ro"Ro`

          - `"rs_cyrillic"RsCyrillic`

          - `"rs_latin"RsLatin`

          - `"ru"Ru`

          - `"sa"Sa`

          - `"sck"Sck`

          - `"sk"Sk`

          - `"sl"Sl`

          - `"sq"Sq`

          - `"sv"Sv`

          - `"sw"Sw`

          - `"ta"Ta`

          - `"tab"Tab`

          - `"te"Te`

          - `"th"Th`

          - `"tjk"Tjk`

          - `"tl"Tl`

          - `"tr"Tr`

          - `"ug"Ug`

          - `"uk"Uk`

          - `"ur"Ur`

          - `"uz"Uz`

          - `"vi"Vi`

        - `Long? MaxPages`

          The maximum number of pages to parse

        - `IReadOnlyList<Long>? TargetPages`

          The pages to target for parsing (0-indexed, so first page is at 0)

      - `DateTimeOffset? UpdatedAt`

        Update datetime

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `Long? continueAsNewThreshold`

    Body param: Maximum files to process per execution cycle in directory mode. Defaults to page_size.

  - `string? directoryID`

    Body param: ID of the directory containing files to process

  - `IReadOnlyList<string>? itemIds`

    Body param: List of specific item IDs to process. Either this or directory_id must be provided.

  - `Long pageSize`

    Body param: Number of files to process per batch when using directory mode

  - `string temporalNamespace`

    Header param

### Returns

- `class BatchCreateResponse:`

  Response schema for a batch processing job.

  - `required string ID`

    Unique identifier for the batch job

  - `required JobType JobType`

    Type of processing operation (parse or classify)

    - `"classify"Classify`

    - `"extract"Extract`

    - `"parse"Parse`

  - `required string ProjectID`

    Project this job belongs to

  - `required Status Status`

    Current job status

    - `"cancelled"Cancelled`

    - `"completed"Completed`

    - `"dispatched"Dispatched`

    - `"failed"Failed`

    - `"pending"Pending`

    - `"running"Running`

  - `required Long TotalItems`

    Total number of items in the job

  - `DateTimeOffset? CompletedAt`

    Timestamp when job completed

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `string? DirectoryID`

    Directory being processed

  - `DateTimeOffset EffectiveAt`

  - `string? ErrorMessage`

    Error message for the latest job attempt, if any.

  - `Long FailedItems`

    Number of items that failed processing

  - `string? JobRecordID`

    The job record ID associated with this status, if any.

  - `Long ProcessedItems`

    Number of items processed so far

  - `Long SkippedItems`

    Number of items skipped (already processed or size limit)

  - `DateTimeOffset? StartedAt`

    Timestamp when job processing started

  - `DateTimeOffset? UpdatedAt`

    Update datetime

  - `string? WorkflowID`

    Async job tracking ID

### Example

```csharp
BatchCreateParams parameters = new()
{
    JobConfig = new BatchParseJobRecordCreate()
    {
        CorrelationID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        JobName = JobName.ParseRawFileJob,
        Parameters = new()
        {
            AdaptiveLongTable = true,
            AggressiveTableExtraction = true,
            AnnotateLinks = true,
            AutoMode = true,
            AutoModeConfigurationJson = "auto_mode_configuration_json",
            AutoModeTriggerOnImageInPage = true,
            AutoModeTriggerOnRegexpInPage = "auto_mode_trigger_on_regexp_in_page",
            AutoModeTriggerOnTableInPage = true,
            AutoModeTriggerOnTextInPage = "auto_mode_trigger_on_text_in_page",
            AzureOpenAIApiVersion = "azure_openai_api_version",
            AzureOpenAIDeploymentName = "azure_openai_deployment_name",
            AzureOpenAIEndpoint = "azure_openai_endpoint",
            AzureOpenAIKey = "azure_openai_key",
            BboxBottom = 0,
            BboxLeft = 0,
            BboxRight = 0,
            BboxTop = 0,
            BoundingBox = "bounding_box",
            CompactMarkdownTable = true,
            ComplementalFormattingInstruction = "complemental_formatting_instruction",
            ConfidenceScoreEffort = "confidence_score_effort",
            ContentGuidelineInstruction = "content_guideline_instruction",
            ContinuousMode = true,
            CustomMetadata = new Dictionary<string, JsonElement>()
            {
                { "foo", JsonSerializer.SerializeToElement("bar") }
            },
            DisableImageExtraction = true,
            DisableOcr = true,
            DisableReconstruction = true,
            DoNotCache = true,
            DoNotUnrollColumns = true,
            EnableCostOptimizer = true,
            ExtractCharts = true,
            ExtractLayout = true,
            ExtractPrintedPageNumber = true,
            FastMode = true,
            FormattingInstruction = "formatting_instruction",
            Gpt4oApiKey = "gpt4o_api_key",
            Gpt4oMode = true,
            GuessXlsxSheetName = true,
            HideFooters = true,
            HideHeaders = true,
            HighResOcr = true,
            HtmlMakeAllElementsVisible = true,
            HtmlRemoveFixedElements = true,
            HtmlRemoveNavigationElements = true,
            HttpProxy = "http_proxy",
            IgnoreDocumentElementsForLayoutDetection = true,
            ImagesToSave =
            [
                ImagesToSave.Embedded
            ],
            InlineImagesInMarkdown = true,
            InputS3Path = "input_s3_path",
            InputS3Region = "input_s3_region",
            InputUrl = "input_url",
            InternalIsScreenshotJob = true,
            InvalidateCache = true,
            IsFormattingInstruction = true,
            JobTimeoutExtraTimePerPageInSeconds = 0,
            JobTimeoutInSeconds = 0,
            KeepPageSeparatorWhenMergingTables = true,
            Lang = "lang",
            Languages =
            [
                ParsingLanguages.Abq
            ],
            LayoutAware = true,
            LineLevelBoundingBox = true,
            MarkdownTableMultilineHeaderSeparator = "markdown_table_multiline_header_separator",
            MaxPages = 0,
            MaxPagesEnforced = 0,
            MergeTablesAcrossPagesInMarkdown = true,
            Model = "model",
            OutlinedTableExtraction = true,
            OutputPdfOfDocument = true,
            OutputS3PathPrefix = "output_s3_path_prefix",
            OutputS3Region = "output_s3_region",
            OutputTablesAsHtml = true,
            OutputBucket = "outputBucket",
            PageErrorTolerance = 0,
            PageFooterPrefix = "page_footer_prefix",
            PageFooterSuffix = "page_footer_suffix",
            PageHeaderPrefix = "page_header_prefix",
            PageHeaderSuffix = "page_header_suffix",
            PagePrefix = "page_prefix",
            PageSeparator = "page_separator",
            PageSuffix = "page_suffix",
            ParseMode = ParsingMode.ParseDocumentWithAgent,
            ParsingInstruction = "parsing_instruction",
            PipelineID = "pipeline_id",
            PreciseBoundingBox = true,
            PremiumMode = true,
            PresentationOutOfBoundsContent = true,
            PresentationSkipEmbeddedData = true,
            PreserveLayoutAlignmentAcrossPages = true,
            PreserveVerySmallText = true,
            Preset = "preset",
            Priority = Priority.Critical,
            ProjectID = "project_id",
            RemoveHiddenText = true,
            ReplaceFailedPageMode = FailPageMode.BlankPage,
            ReplaceFailedPageWithErrorMessagePrefix = "replace_failed_page_with_error_message_prefix",
            ReplaceFailedPageWithErrorMessageSuffix = "replace_failed_page_with_error_message_suffix",
            ResourceInfo = new Dictionary<string, JsonElement>()
            {
                { "foo", JsonSerializer.SerializeToElement("bar") }
            },
            SaveImages = true,
            SkipDiagonalText = true,
            SpecializedChartParsingAgentic = true,
            SpecializedChartParsingEfficient = true,
            SpecializedChartParsingPlus = true,
            SpecializedImageParsing = true,
            SpreadsheetExtractSubTables = true,
            SpreadsheetForceFormulaComputation = true,
            SpreadsheetIncludeHiddenSheets = true,
            StrictModeBuggyFont = true,
            StrictModeImageExtraction = true,
            StrictModeImageOcr = true,
            StrictModeReconstruction = true,
            StructuredOutput = true,
            StructuredOutputJsonSchema = "structured_output_json_schema",
            StructuredOutputJsonSchemaName = "structured_output_json_schema_name",
            SystemPrompt = "system_prompt",
            SystemPromptAppend = "system_prompt_append",
            TakeScreenshot = true,
            TargetPages = "target_pages",
            Tier = "tier",
            Type = Type.Parse,
            UseVendorMultimodalModel = true,
            UserPrompt = "user_prompt",
            VendorMultimodalApiKey = "vendor_multimodal_api_key",
            VendorMultimodalModelName = "vendor_multimodal_model_name",
            Version = "version",
            WebhookConfigurations =
            [
                new()
                {
                    WebhookEvents =
                    [
                        WebhookEvent.ParseSuccess, WebhookEvent.ParseError
                    ],
                    WebhookHeaders = new Dictionary<string, string>()
                    {
                        { "Authorization", "Bearer sk-..." }
                    },
                    WebhookOutputFormat = "json",
                    WebhookSigningSecret = "whsec_...",
                    WebhookUrl = "https://example.com/webhooks/llamacloud",
                },
            ],
            WebhookUrl = "webhook_url",
        },
        ParentJobExecutionID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        Partitions = new Dictionary<string, string>()
        {
            { "foo", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" }
        },
        ProjectID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        SessionID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        UserID = "user_id",
        WebhookUrl = "webhook_url",
    },
};

var batch = await client.Beta.Batch.Create(parameters);

Console.WriteLine(batch);
```

#### Response

```json
{
  "id": "bjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "job_type": "classify",
  "project_id": "proj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "status": "cancelled",
  "total_items": 0,
  "completed_at": "2019-12-27T18:11:19.117Z",
  "created_at": "2019-12-27T18:11:19.117Z",
  "directory_id": "dir-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "effective_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "failed_items": 0,
  "job_record_id": "job_record_id",
  "processed_items": 0,
  "skipped_items": 0,
  "started_at": "2019-12-27T18:11:19.117Z",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "workflow_id": "workflow_id"
}
```

## List Batch Jobs

`BatchListPageResponse Beta.Batch.List(BatchListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/batch-processing`

List batch processing jobs with optional filtering.

Filter by `directory_id`, `job_type`, or `status`. Results
are paginated with configurable `limit` and `offset`.

### Parameters

- `BatchListParams parameters`

  - `string? directoryID`

    Filter by directory ID

  - `JobType? jobType`

    Filter by job type (PARSE, EXTRACT, CLASSIFY)

    - `"classify"Classify`

    - `"extract"Extract`

    - `"parse"Parse`

  - `Long limit`

    Maximum number of jobs to return

  - `Long offset`

    Number of jobs to skip for pagination

  - `string? organizationID`

  - `string? projectID`

  - `Status? status`

    Filter by job status (PENDING, RUNNING, COMPLETED, FAILED, CANCELLED)

    - `"cancelled"Cancelled`

    - `"completed"Completed`

    - `"dispatched"Dispatched`

    - `"failed"Failed`

    - `"pending"Pending`

    - `"running"Running`

### Returns

- `class BatchListPageResponse:`

  Response schema for paginated batch job queries.

  - `required IReadOnlyList<BatchListResponse> Items`

    The list of items.

    - `required string ID`

      Unique identifier for the batch job

    - `required JobType JobType`

      Type of processing operation (parse or classify)

      - `"classify"Classify`

      - `"extract"Extract`

      - `"parse"Parse`

    - `required string ProjectID`

      Project this job belongs to

    - `required Status Status`

      Current job status

      - `"cancelled"Cancelled`

      - `"completed"Completed`

      - `"dispatched"Dispatched`

      - `"failed"Failed`

      - `"pending"Pending`

      - `"running"Running`

    - `required Long TotalItems`

      Total number of items in the job

    - `DateTimeOffset? CompletedAt`

      Timestamp when job completed

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `string? DirectoryID`

      Directory being processed

    - `DateTimeOffset EffectiveAt`

    - `string? ErrorMessage`

      Error message for the latest job attempt, if any.

    - `Long FailedItems`

      Number of items that failed processing

    - `string? JobRecordID`

      The job record ID associated with this status, if any.

    - `Long ProcessedItems`

      Number of items processed so far

    - `Long SkippedItems`

      Number of items skipped (already processed or size limit)

    - `DateTimeOffset? StartedAt`

      Timestamp when job processing started

    - `DateTimeOffset? UpdatedAt`

      Update datetime

    - `string? WorkflowID`

      Async job tracking ID

  - `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
BatchListParams parameters = new();

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

#### Response

```json
{
  "items": [
    {
      "id": "bjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "job_type": "classify",
      "project_id": "proj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "status": "cancelled",
      "total_items": 0,
      "completed_at": "2019-12-27T18:11:19.117Z",
      "created_at": "2019-12-27T18:11:19.117Z",
      "directory_id": "dir-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "effective_at": "2019-12-27T18:11:19.117Z",
      "error_message": "error_message",
      "failed_items": 0,
      "job_record_id": "job_record_id",
      "processed_items": 0,
      "skipped_items": 0,
      "started_at": "2019-12-27T18:11:19.117Z",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "workflow_id": "workflow_id"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Get Batch Job Status

`BatchGetStatusResponse Beta.Batch.GetStatus(BatchGetStatusParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/batch-processing/{job_id}`

Get detailed status of a batch processing job.

Returns current progress percentage, file counts (total,
processed, failed, skipped), and timestamps.

### Parameters

- `BatchGetStatusParams parameters`

  - `required string jobID`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class BatchGetStatusResponse:`

  Detailed status response for a batch processing job.

  - `required Job Job`

    Response schema for a batch processing job.

    - `required string ID`

      Unique identifier for the batch job

    - `required JobType JobType`

      Type of processing operation (parse or classify)

      - `"classify"Classify`

      - `"extract"Extract`

      - `"parse"Parse`

    - `required string ProjectID`

      Project this job belongs to

    - `required Status Status`

      Current job status

      - `"cancelled"Cancelled`

      - `"completed"Completed`

      - `"dispatched"Dispatched`

      - `"failed"Failed`

      - `"pending"Pending`

      - `"running"Running`

    - `required Long TotalItems`

      Total number of items in the job

    - `DateTimeOffset? CompletedAt`

      Timestamp when job completed

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `string? DirectoryID`

      Directory being processed

    - `DateTimeOffset EffectiveAt`

    - `string? ErrorMessage`

      Error message for the latest job attempt, if any.

    - `Long FailedItems`

      Number of items that failed processing

    - `string? JobRecordID`

      The job record ID associated with this status, if any.

    - `Long ProcessedItems`

      Number of items processed so far

    - `Long SkippedItems`

      Number of items skipped (already processed or size limit)

    - `DateTimeOffset? StartedAt`

      Timestamp when job processing started

    - `DateTimeOffset? UpdatedAt`

      Update datetime

    - `string? WorkflowID`

      Async job tracking ID

  - `required Double ProgressPercentage`

    Percentage of items processed (0-100)

### Example

```csharp
BatchGetStatusParams parameters = new() { JobID = "job_id" };

var response = await client.Beta.Batch.GetStatus(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "job": {
    "id": "bjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "job_type": "classify",
    "project_id": "proj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "status": "cancelled",
    "total_items": 0,
    "completed_at": "2019-12-27T18:11:19.117Z",
    "created_at": "2019-12-27T18:11:19.117Z",
    "directory_id": "dir-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "effective_at": "2019-12-27T18:11:19.117Z",
    "error_message": "error_message",
    "failed_items": 0,
    "job_record_id": "job_record_id",
    "processed_items": 0,
    "skipped_items": 0,
    "started_at": "2019-12-27T18:11:19.117Z",
    "updated_at": "2019-12-27T18:11:19.117Z",
    "workflow_id": "workflow_id"
  },
  "progress_percentage": 0
}
```

## Cancel Batch Job

`BatchCancelResponse Beta.Batch.Cancel(BatchCancelParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/batch-processing/{job_id}/cancel`

Cancel a running batch processing job.

Stops processing and marks pending items as cancelled.
Items currently being processed may still complete.

### Parameters

- `BatchCancelParams parameters`

  - `required string jobID`

    Path param

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `string? reason`

    Body param: Optional reason for cancelling the job

  - `string temporalNamespace`

    Header param

### Returns

- `class BatchCancelResponse:`

  Response after cancelling a batch job.

  - `required string JobID`

    ID of the cancelled job

  - `required string Message`

    Confirmation message

  - `required Long ProcessedItems`

    Number of items processed before cancellation

  - `required Status Status`

    New status (should be 'cancelled')

    - `"cancelled"Cancelled`

    - `"completed"Completed`

    - `"dispatched"Dispatched`

    - `"failed"Failed`

    - `"pending"Pending`

    - `"running"Running`

### Example

```csharp
BatchCancelParams parameters = new() { JobID = "job_id" };

var response = await client.Beta.Batch.Cancel(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "job_id": "job_id",
  "message": "message",
  "processed_items": 0,
  "status": "cancelled"
}
```

# Job Items

## List Batch Job Items

`JobItemListPageResponse Beta.Batch.JobItems.List(JobItemListParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/batch-processing/{job_id}/items`

List items in a batch job with optional status filtering.

Useful for finding failed items, viewing completed items,
or debugging processing issues.

### Parameters

- `JobItemListParams parameters`

  - `required string jobID`

  - `Long limit`

    Maximum number of items to return

  - `Long offset`

    Number of items to skip

  - `string? organizationID`

  - `string? projectID`

  - `Status? status`

    Filter items by status

    - `"cancelled"Cancelled`

    - `"completed"Completed`

    - `"failed"Failed`

    - `"pending"Pending`

    - `"processing"Processing`

    - `"skipped"Skipped`

### Returns

- `class JobItemListPageResponse:`

  Paginated response containing batch job item details.

  - `IReadOnlyList<JobItemListResponse> Items`

    List of item details

    - `required string ItemID`

      ID of the item

    - `required string ItemName`

      Name of the item

    - `required Status Status`

      Processing status of this item

      - `"cancelled"Cancelled`

      - `"completed"Completed`

      - `"failed"Failed`

      - `"pending"Pending`

      - `"processing"Processing`

      - `"skipped"Skipped`

    - `DateTimeOffset? CompletedAt`

      When processing completed for this item

    - `DateTimeOffset EffectiveAt`

    - `string? ErrorMessage`

      Error message for the latest job attempt, if any.

    - `string? JobID`

      Job ID for the underlying processing job (links to parse/extract job results)

    - `string? JobRecordID`

      The job record ID associated with this status, if any.

    - `string? SkipReason`

      Reason item was skipped (e.g., 'already_processed', 'size_limit_exceeded')

    - `DateTimeOffset? StartedAt`

      When processing started for this item

  - `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
JobItemListParams parameters = new() { JobID = "job_id" };

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

#### Response

```json
{
  "items": [
    {
      "item_id": "item_id",
      "item_name": "item_name",
      "status": "cancelled",
      "completed_at": "2019-12-27T18:11:19.117Z",
      "effective_at": "2019-12-27T18:11:19.117Z",
      "error_message": "error_message",
      "job_id": "job_id",
      "job_record_id": "job_record_id",
      "skip_reason": "skip_reason",
      "started_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Get Item Processing Results

`JobItemGetProcessingResultsResponse Beta.Batch.JobItems.GetProcessingResults(JobItemGetProcessingResultsParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/batch-processing/items/{item_id}/processing-results`

Get all processing results for a specific item.

Returns the complete processing history for an item including
what operations were performed, parameters used, and where
outputs are stored. Optionally filter by `job_type`.

### Parameters

- `JobItemGetProcessingResultsParams parameters`

  - `required string itemID`

  - `JobType? jobType`

    Filter results by job type

    - `"classify"Classify`

    - `"extract"Extract`

    - `"parse"Parse`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class JobItemGetProcessingResultsResponse:`

  Response containing all processing results for an item.

  - `required string ItemID`

    ID of the source item

  - `required string ItemName`

    Name of the source item

  - `IReadOnlyList<ProcessingResult> ProcessingResults`

    List of all processing operations performed on this item

    - `required string ItemID`

      Source item that was processed

    - `required JobConfig JobConfig`

      Job configuration used for processing

      - `class BatchParseJobRecordCreate:`

        Batch-specific parse job record for batch processing.

        This model contains the metadata and configuration for a batch parse job,
        but excludes file-specific information. It's used as input to the batch
        parent workflow and combined with DirectoryFile data to create full
        ParseJobRecordCreate instances for each file.

        Attributes:
        job_name: Must be PARSE_RAW_FILE
        partitions: Partitions for job output location
        parameters: Generic parse configuration (BatchParseJobConfig)
        session_id: Upstream request ID for tracking
        correlation_id: Correlation ID for cross-service tracking
        parent_job_execution_id: Parent job execution ID if nested
        user_id: User who created the job
        project_id: Project this job belongs to
        webhook_url: Optional webhook URL for job completion notifications

        - `string? CorrelationID`

          The correlation ID for this job. Used for tracking the job across services.

        - `JobName JobName`

          - `"parse_raw_file_job"ParseRawFileJob`

        - `Parameters? Parameters`

          Generic parse job configuration for batch processing.

          This model contains the parsing configuration that applies to all files
          in a batch, but excludes file-specific fields like file_name, file_id, etc.
          Those file-specific fields are populated from DirectoryFile data when
          creating individual ParseJobRecordCreate instances for each file.

          The fields in this model should be generic settings that apply uniformly
          to all files being processed in the batch.

          - `Boolean? AdaptiveLongTable`

          - `Boolean? AggressiveTableExtraction`

          - `Boolean? AnnotateLinks`

          - `Boolean? AutoMode`

          - `string? AutoModeConfigurationJson`

          - `Boolean? AutoModeTriggerOnImageInPage`

          - `string? AutoModeTriggerOnRegexpInPage`

          - `Boolean? AutoModeTriggerOnTableInPage`

          - `string? AutoModeTriggerOnTextInPage`

          - `string? AzureOpenAIApiVersion`

          - `string? AzureOpenAIDeploymentName`

          - `string? AzureOpenAIEndpoint`

          - `string? AzureOpenAIKey`

          - `Double? BboxBottom`

          - `Double? BboxLeft`

          - `Double? BboxRight`

          - `Double? BboxTop`

          - `string? BoundingBox`

          - `Boolean? CompactMarkdownTable`

          - `string? ComplementalFormattingInstruction`

          - `string? ConfidenceScoreEffort`

          - `string? ContentGuidelineInstruction`

          - `Boolean? ContinuousMode`

          - `IReadOnlyDictionary<string, JsonElement>? CustomMetadata`

            The custom metadata to attach to the documents.

          - `Boolean? DisableImageExtraction`

          - `Boolean? DisableOcr`

          - `Boolean? DisableReconstruction`

          - `Boolean? DoNotCache`

          - `Boolean? DoNotUnrollColumns`

          - `Boolean? EnableCostOptimizer`

          - `Boolean? ExtractCharts`

          - `Boolean? ExtractLayout`

          - `Boolean? ExtractPrintedPageNumber`

          - `Boolean? FastMode`

          - `string? FormattingInstruction`

          - `string? Gpt4oApiKey`

          - `Boolean? Gpt4oMode`

          - `Boolean? GuessXlsxSheetName`

          - `Boolean? HideFooters`

          - `Boolean? HideHeaders`

          - `Boolean? HighResOcr`

          - `Boolean? HtmlMakeAllElementsVisible`

          - `Boolean? HtmlRemoveFixedElements`

          - `Boolean? HtmlRemoveNavigationElements`

          - `string? HttpProxy`

          - `Boolean? IgnoreDocumentElementsForLayoutDetection`

          - `IReadOnlyList<ImagesToSave>? ImagesToSave`

            - `"embedded"Embedded`

            - `"layout"Layout`

            - `"screenshot"Screenshot`

          - `Boolean? InlineImagesInMarkdown`

          - `string? InputS3Path`

          - `string? InputS3Region`

            The region for the input S3 bucket.

          - `string? InputUrl`

          - `Boolean? InternalIsScreenshotJob`

          - `Boolean? InvalidateCache`

          - `Boolean? IsFormattingInstruction`

          - `Double? JobTimeoutExtraTimePerPageInSeconds`

          - `Double? JobTimeoutInSeconds`

          - `Boolean? KeepPageSeparatorWhenMergingTables`

          - `string Lang`

            The language.

          - `IReadOnlyList<ParsingLanguages> Languages`

            - `"abq"Abq`

            - `"ady"Ady`

            - `"af"Af`

            - `"ang"Ang`

            - `"ar"Ar`

            - `"as"As`

            - `"ava"Ava`

            - `"az"Az`

            - `"be"Be`

            - `"bg"Bg`

            - `"bgc"Bgc`

            - `"bh"Bh`

            - `"bho"Bho`

            - `"bn"Bn`

            - `"bs"Bs`

            - `"ch_sim"ChSim`

            - `"ch_tra"ChTra`

            - `"che"Che`

            - `"cs"Cs`

            - `"cy"Cy`

            - `"da"Da`

            - `"dar"Dar`

            - `"de"De`

            - `"en"En`

            - `"es"Es`

            - `"et"Et`

            - `"fa"Fa`

            - `"fr"Fr`

            - `"ga"Ga`

            - `"gom"Gom`

            - `"hi"Hi`

            - `"hr"Hr`

            - `"hu"Hu`

            - `"id"ID`

            - `"inh"Inh`

            - `"is"Is`

            - `"it"It`

            - `"ja"Ja`

            - `"kbd"Kbd`

            - `"kn"Kn`

            - `"ko"Ko`

            - `"ku"Ku`

            - `"la"La`

            - `"lbe"Lbe`

            - `"lez"Lez`

            - `"lt"Lt`

            - `"lv"Lv`

            - `"mah"Mah`

            - `"mai"Mai`

            - `"mi"Mi`

            - `"mn"Mn`

            - `"mni"Mni`

            - `"mr"Mr`

            - `"ms"Ms`

            - `"mt"Mt`

            - `"ne"Ne`

            - `"new"New`

            - `"nl"Nl`

            - `"no"No`

            - `"oc"Oc`

            - `"pi"Pi`

            - `"pl"Pl`

            - `"pt"Pt`

            - `"ro"Ro`

            - `"rs_cyrillic"RsCyrillic`

            - `"rs_latin"RsLatin`

            - `"ru"Ru`

            - `"sa"Sa`

            - `"sck"Sck`

            - `"sk"Sk`

            - `"sl"Sl`

            - `"sq"Sq`

            - `"sv"Sv`

            - `"sw"Sw`

            - `"ta"Ta`

            - `"tab"Tab`

            - `"te"Te`

            - `"th"Th`

            - `"tjk"Tjk`

            - `"tl"Tl`

            - `"tr"Tr`

            - `"ug"Ug`

            - `"uk"Uk`

            - `"ur"Ur`

            - `"uz"Uz`

            - `"vi"Vi`

          - `Boolean? LayoutAware`

          - `Boolean? LineLevelBoundingBox`

          - `string? MarkdownTableMultilineHeaderSeparator`

          - `Long? MaxPages`

          - `Long? MaxPagesEnforced`

          - `Boolean? MergeTablesAcrossPagesInMarkdown`

          - `string? Model`

          - `Boolean? OutlinedTableExtraction`

          - `Boolean? OutputPdfOfDocument`

          - `string? OutputS3PathPrefix`

            If specified, llamaParse will save the output to the specified path. All output file will use this 'prefix' should be a valid s3:// url

          - `string? OutputS3Region`

            The region for the output S3 bucket.

          - `Boolean? OutputTablesAsHtml`

          - `string? OutputBucket`

            The output bucket.

          - `Double? PageErrorTolerance`

          - `string? PageFooterPrefix`

          - `string? PageFooterSuffix`

          - `string? PageHeaderPrefix`

          - `string? PageHeaderSuffix`

          - `string? PagePrefix`

          - `string? PageSeparator`

          - `string? PageSuffix`

          - `ParsingMode? ParseMode`

            Enum for representing the mode of parsing to be used.

            - `"parse_document_with_agent"ParseDocumentWithAgent`

            - `"parse_document_with_llm"ParseDocumentWithLlm`

            - `"parse_document_with_lvm"ParseDocumentWithLvm`

            - `"parse_page_with_agent"ParsePageWithAgent`

            - `"parse_page_with_layout_agent"ParsePageWithLayoutAgent`

            - `"parse_page_with_llm"ParsePageWithLlm`

            - `"parse_page_with_lvm"ParsePageWithLvm`

            - `"parse_page_without_llm"ParsePageWithoutLlm`

          - `string? ParsingInstruction`

          - `string? PipelineID`

            The pipeline ID.

          - `Boolean? PreciseBoundingBox`

          - `Boolean? PremiumMode`

          - `Boolean? PresentationOutOfBoundsContent`

          - `Boolean? PresentationSkipEmbeddedData`

          - `Boolean? PreserveLayoutAlignmentAcrossPages`

          - `Boolean? PreserveVerySmallText`

          - `string? Preset`

          - `Priority? Priority`

            The priority for the request. This field may be ignored or overwritten depending on the organization tier.

            - `"critical"Critical`

            - `"high"High`

            - `"low"Low`

            - `"medium"Medium`

          - `string? ProjectID`

          - `Boolean? RemoveHiddenText`

          - `FailPageMode? ReplaceFailedPageMode`

            Enum for representing the different available page error handling modes.

            - `"blank_page"BlankPage`

            - `"error_message"ErrorMessage`

            - `"raw_text"RawText`

          - `string? ReplaceFailedPageWithErrorMessagePrefix`

          - `string? ReplaceFailedPageWithErrorMessageSuffix`

          - `IReadOnlyDictionary<string, JsonElement>? ResourceInfo`

            The resource info about the file

          - `Boolean? SaveImages`

          - `Boolean? SkipDiagonalText`

          - `Boolean? SpecializedChartParsingAgentic`

          - `Boolean? SpecializedChartParsingEfficient`

          - `Boolean? SpecializedChartParsingPlus`

          - `Boolean? SpecializedImageParsing`

          - `Boolean? SpreadsheetExtractSubTables`

          - `Boolean? SpreadsheetForceFormulaComputation`

          - `Boolean? SpreadsheetIncludeHiddenSheets`

          - `Boolean? StrictModeBuggyFont`

          - `Boolean? StrictModeImageExtraction`

          - `Boolean? StrictModeImageOcr`

          - `Boolean? StrictModeReconstruction`

          - `Boolean? StructuredOutput`

          - `string? StructuredOutputJsonSchema`

          - `string? StructuredOutputJsonSchemaName`

          - `string? SystemPrompt`

          - `string? SystemPromptAppend`

          - `Boolean? TakeScreenshot`

          - `string? TargetPages`

          - `string? Tier`

          - `Type Type`

            - `"parse"Parse`

          - `Boolean? UseVendorMultimodalModel`

          - `string? UserPrompt`

          - `string? VendorMultimodalApiKey`

          - `string? VendorMultimodalModelName`

          - `string? Version`

          - `IReadOnlyList<WebhookConfiguration>? WebhookConfigurations`

            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

          - `string? WebhookUrl`

        - `string? ParentJobExecutionID`

          The ID of the parent job execution.

        - `IReadOnlyDictionary<string, string> Partitions`

          The partitions for this execution. Used for determining where to save job output.

        - `string? ProjectID`

          The ID of the project this job belongs to.

        - `string? SessionID`

          The upstream request ID that created this job. Used for tracking the job across services.

        - `string? UserID`

          The ID of the user that created this job

        - `string? WebhookUrl`

          The URL that needs to be called at the end of the parsing job.

      - `class ClassifyJob:`

        A classify job.

        - `required string ID`

          Unique identifier

        - `required string ProjectID`

          The ID of the project

        - `required IReadOnlyList<ClassifierRule> Rules`

          The rules to classify the files

          - `required string Description`

            Natural language description of what to classify. Be specific about the content characteristics that identify this document type.

          - `required string Type`

            The document type to assign when this rule matches (e.g., 'invoice', 'receipt', 'contract')

        - `required StatusEnum Status`

          The status of the classify job

          - `"CANCELLED"Cancelled`

          - `"ERROR"Error`

          - `"PARTIAL_SUCCESS"PartialSuccess`

          - `"PENDING"Pending`

          - `"SUCCESS"Success`

        - `required string UserID`

          The ID of the user

        - `DateTimeOffset? CreatedAt`

          Creation datetime

        - `DateTimeOffset EffectiveAt`

        - `string? ErrorMessage`

          Error message for the latest job attempt, if any.

        - `string? JobRecordID`

          The job record ID associated with this status, if any.

        - `Mode Mode`

          The classification mode to use

          - `"FAST"Fast`

          - `"MULTIMODAL"Multimodal`

        - `ClassifyParsingConfiguration ParsingConfiguration`

          The configuration for the parsing job

          - `ParsingLanguages Lang`

            The language to parse the files in

            - `"abq"Abq`

            - `"ady"Ady`

            - `"af"Af`

            - `"ang"Ang`

            - `"ar"Ar`

            - `"as"As`

            - `"ava"Ava`

            - `"az"Az`

            - `"be"Be`

            - `"bg"Bg`

            - `"bgc"Bgc`

            - `"bh"Bh`

            - `"bho"Bho`

            - `"bn"Bn`

            - `"bs"Bs`

            - `"ch_sim"ChSim`

            - `"ch_tra"ChTra`

            - `"che"Che`

            - `"cs"Cs`

            - `"cy"Cy`

            - `"da"Da`

            - `"dar"Dar`

            - `"de"De`

            - `"en"En`

            - `"es"Es`

            - `"et"Et`

            - `"fa"Fa`

            - `"fr"Fr`

            - `"ga"Ga`

            - `"gom"Gom`

            - `"hi"Hi`

            - `"hr"Hr`

            - `"hu"Hu`

            - `"id"ID`

            - `"inh"Inh`

            - `"is"Is`

            - `"it"It`

            - `"ja"Ja`

            - `"kbd"Kbd`

            - `"kn"Kn`

            - `"ko"Ko`

            - `"ku"Ku`

            - `"la"La`

            - `"lbe"Lbe`

            - `"lez"Lez`

            - `"lt"Lt`

            - `"lv"Lv`

            - `"mah"Mah`

            - `"mai"Mai`

            - `"mi"Mi`

            - `"mn"Mn`

            - `"mni"Mni`

            - `"mr"Mr`

            - `"ms"Ms`

            - `"mt"Mt`

            - `"ne"Ne`

            - `"new"New`

            - `"nl"Nl`

            - `"no"No`

            - `"oc"Oc`

            - `"pi"Pi`

            - `"pl"Pl`

            - `"pt"Pt`

            - `"ro"Ro`

            - `"rs_cyrillic"RsCyrillic`

            - `"rs_latin"RsLatin`

            - `"ru"Ru`

            - `"sa"Sa`

            - `"sck"Sck`

            - `"sk"Sk`

            - `"sl"Sl`

            - `"sq"Sq`

            - `"sv"Sv`

            - `"sw"Sw`

            - `"ta"Ta`

            - `"tab"Tab`

            - `"te"Te`

            - `"th"Th`

            - `"tjk"Tjk`

            - `"tl"Tl`

            - `"tr"Tr`

            - `"ug"Ug`

            - `"uk"Uk`

            - `"ur"Ur`

            - `"uz"Uz`

            - `"vi"Vi`

          - `Long? MaxPages`

            The maximum number of pages to parse

          - `IReadOnlyList<Long>? TargetPages`

            The pages to target for parsing (0-indexed, so first page is at 0)

        - `DateTimeOffset? UpdatedAt`

          Update datetime

    - `required JobType JobType`

      Type of processing performed

      - `"classify"Classify`

      - `"extract"Extract`

      - `"parse"Parse`

    - `required string OutputS3Path`

      Location of the processing output

    - `required string ParametersHash`

      Content hash of the job configuration for dedup

    - `required DateTimeOffset ProcessedAt`

      When this processing occurred

    - `required string ResultID`

      Unique identifier for this result

    - `JsonElement? OutputMetadata`

      Metadata about processing output.

      Currently empty - will be populated with job-type-specific metadata fields in the future.

### Example

```csharp
JobItemGetProcessingResultsParams parameters = new() { ItemID = "item_id" };

var response = await client.Beta.Batch.JobItems.GetProcessingResults(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "item_id": "item_id",
  "item_name": "item_name",
  "processing_results": [
    {
      "item_id": "item_id",
      "job_config": {
        "correlation_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "job_name": "parse_raw_file_job",
        "parameters": {
          "adaptive_long_table": true,
          "aggressive_table_extraction": true,
          "annotate_links": true,
          "auto_mode": true,
          "auto_mode_configuration_json": "auto_mode_configuration_json",
          "auto_mode_trigger_on_image_in_page": true,
          "auto_mode_trigger_on_regexp_in_page": "auto_mode_trigger_on_regexp_in_page",
          "auto_mode_trigger_on_table_in_page": true,
          "auto_mode_trigger_on_text_in_page": "auto_mode_trigger_on_text_in_page",
          "azure_openai_api_version": "azure_openai_api_version",
          "azure_openai_deployment_name": "azure_openai_deployment_name",
          "azure_openai_endpoint": "azure_openai_endpoint",
          "azure_openai_key": "azure_openai_key",
          "bbox_bottom": 0,
          "bbox_left": 0,
          "bbox_right": 0,
          "bbox_top": 0,
          "bounding_box": "bounding_box",
          "compact_markdown_table": true,
          "complemental_formatting_instruction": "complemental_formatting_instruction",
          "confidence_score_effort": "confidence_score_effort",
          "content_guideline_instruction": "content_guideline_instruction",
          "continuous_mode": true,
          "custom_metadata": {
            "foo": "bar"
          },
          "disable_image_extraction": true,
          "disable_ocr": true,
          "disable_reconstruction": true,
          "do_not_cache": true,
          "do_not_unroll_columns": true,
          "enable_cost_optimizer": true,
          "extract_charts": true,
          "extract_layout": true,
          "extract_printed_page_number": true,
          "fast_mode": true,
          "formatting_instruction": "formatting_instruction",
          "gpt4o_api_key": "gpt4o_api_key",
          "gpt4o_mode": true,
          "guess_xlsx_sheet_name": true,
          "hide_footers": true,
          "hide_headers": true,
          "high_res_ocr": true,
          "html_make_all_elements_visible": true,
          "html_remove_fixed_elements": true,
          "html_remove_navigation_elements": true,
          "http_proxy": "http_proxy",
          "ignore_document_elements_for_layout_detection": true,
          "images_to_save": [
            "embedded"
          ],
          "inline_images_in_markdown": true,
          "input_s3_path": "input_s3_path",
          "input_s3_region": "input_s3_region",
          "input_url": "input_url",
          "internal_is_screenshot_job": true,
          "invalidate_cache": true,
          "is_formatting_instruction": true,
          "job_timeout_extra_time_per_page_in_seconds": 0,
          "job_timeout_in_seconds": 0,
          "keep_page_separator_when_merging_tables": true,
          "lang": "lang",
          "languages": [
            "abq"
          ],
          "layout_aware": true,
          "line_level_bounding_box": true,
          "markdown_table_multiline_header_separator": "markdown_table_multiline_header_separator",
          "max_pages": 0,
          "max_pages_enforced": 0,
          "merge_tables_across_pages_in_markdown": true,
          "model": "model",
          "outlined_table_extraction": true,
          "output_pdf_of_document": true,
          "output_s3_path_prefix": "output_s3_path_prefix",
          "output_s3_region": "output_s3_region",
          "output_tables_as_HTML": true,
          "outputBucket": "outputBucket",
          "page_error_tolerance": 0,
          "page_footer_prefix": "page_footer_prefix",
          "page_footer_suffix": "page_footer_suffix",
          "page_header_prefix": "page_header_prefix",
          "page_header_suffix": "page_header_suffix",
          "page_prefix": "page_prefix",
          "page_separator": "page_separator",
          "page_suffix": "page_suffix",
          "parse_mode": "parse_document_with_agent",
          "parsing_instruction": "parsing_instruction",
          "pipeline_id": "pipeline_id",
          "precise_bounding_box": true,
          "premium_mode": true,
          "presentation_out_of_bounds_content": true,
          "presentation_skip_embedded_data": true,
          "preserve_layout_alignment_across_pages": true,
          "preserve_very_small_text": true,
          "preset": "preset",
          "priority": "critical",
          "project_id": "project_id",
          "remove_hidden_text": true,
          "replace_failed_page_mode": "blank_page",
          "replace_failed_page_with_error_message_prefix": "replace_failed_page_with_error_message_prefix",
          "replace_failed_page_with_error_message_suffix": "replace_failed_page_with_error_message_suffix",
          "resource_info": {
            "foo": "bar"
          },
          "save_images": true,
          "skip_diagonal_text": true,
          "specialized_chart_parsing_agentic": true,
          "specialized_chart_parsing_efficient": true,
          "specialized_chart_parsing_plus": true,
          "specialized_image_parsing": true,
          "spreadsheet_extract_sub_tables": true,
          "spreadsheet_force_formula_computation": true,
          "spreadsheet_include_hidden_sheets": true,
          "strict_mode_buggy_font": true,
          "strict_mode_image_extraction": true,
          "strict_mode_image_ocr": true,
          "strict_mode_reconstruction": true,
          "structured_output": true,
          "structured_output_json_schema": "structured_output_json_schema",
          "structured_output_json_schema_name": "structured_output_json_schema_name",
          "system_prompt": "system_prompt",
          "system_prompt_append": "system_prompt_append",
          "take_screenshot": true,
          "target_pages": "target_pages",
          "tier": "tier",
          "type": "parse",
          "use_vendor_multimodal_model": true,
          "user_prompt": "user_prompt",
          "vendor_multimodal_api_key": "vendor_multimodal_api_key",
          "vendor_multimodal_model_name": "vendor_multimodal_model_name",
          "version": "version",
          "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"
            }
          ],
          "webhook_url": "webhook_url"
        },
        "parent_job_execution_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "partitions": {
          "foo": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        },
        "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "session_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "user_id": "user_id",
        "webhook_url": "webhook_url"
      },
      "job_type": "classify",
      "output_s3_path": "output_s3_path",
      "parameters_hash": "parameters_hash",
      "processed_at": "2019-12-27T18:11:19.117Z",
      "result_id": "result_id",
      "output_metadata": {}
    }
  ]
}
```

# Split

## Create Split Job

`SplitCreateResponse Beta.Split.Create(SplitCreateParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/beta/split/jobs`

Create a document split job.

### Parameters

- `SplitCreateParams parameters`

  - `required SplitDocumentInput documentInput`

    Body param: Document to be split.

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `Configuration? configuration`

    Body param: Split configuration with categories and splitting strategy.

    - `required IReadOnlyList<SplitCategory> Categories`

      Categories to split documents into.

      - `required string Name`

        Name of the category.

      - `string? Description`

        Optional description of what content belongs in this category.

    - `SplittingStrategy SplittingStrategy`

      Strategy for splitting documents.

      - `AllowUncategorized AllowUncategorized`

        Controls handling of pages that don't match any category. 'include': pages can be grouped as 'uncategorized' and included in results. 'forbid': all pages must be assigned to a defined category. 'omit': pages can be classified as 'uncategorized' but are excluded from results.

        - `"forbid"Forbid`

        - `"include"Include`

        - `"omit"Omit`

  - `string? configurationID`

    Body param: Saved split configuration ID.

### Returns

- `class SplitCreateResponse:`

  Beta response — uses nested document_input object.

  - `required string ID`

    Unique identifier for the split job.

  - `required IReadOnlyList<SplitCategory> Categories`

    Categories used for splitting.

    - `required string Name`

      Name of the category.

    - `string? Description`

      Optional description of what content belongs in this category.

  - `required SplitDocumentInput DocumentInput`

    Document that was split.

    - `required string Type`

      Type of document input. Valid values are: file_id

    - `required string Value`

      Document identifier.

  - `required string ProjectID`

    Project ID this job belongs to.

  - `required string Status`

    Current status of the job. Valid values are: pending, processing, completed, failed, cancelled.

  - `required string UserID`

    User ID who created this job.

  - `string? ConfigurationID`

    Split configuration ID used for this job.

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `string? ErrorMessage`

    Error message if the job failed.

  - `SplitResultResponse? Result`

    Result of a completed split job.

    - `required IReadOnlyList<SplitSegmentResponse> Segments`

      List of document segments.

      - `required string Category`

        Category name this split belongs to.

      - `required string ConfidenceCategory`

        Categorical confidence level. Valid values are: high, medium, low.

      - `required IReadOnlyList<Long> Pages`

        1-indexed page numbers in this split.

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
SplitCreateParams parameters = new()
{
    DocumentInput = new()
    {
        Type = "type",
        Value = "value",
    },
};

var split = await client.Beta.Split.Create(parameters);

Console.WriteLine(split);
```

#### Response

```json
{
  "id": "id",
  "categories": [
    {
      "name": "x",
      "description": "x"
    }
  ],
  "document_input": {
    "type": "type",
    "value": "value"
  },
  "project_id": "project_id",
  "status": "status",
  "user_id": "user_id",
  "configuration_id": "configuration_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "result": {
    "segments": [
      {
        "category": "category",
        "confidence_category": "confidence_category",
        "pages": [
          0
        ]
      }
    ]
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## List Split Jobs

`SplitListPageResponse Beta.Split.List(SplitListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/split/jobs`

List document split jobs.

### Parameters

- `SplitListParams parameters`

  - `DateTimeOffset? createdAtOnOrAfter`

    Include items created at or after this timestamp (inclusive)

  - `DateTimeOffset? createdAtOnOrBefore`

    Include items created at or before this timestamp (inclusive)

  - `IReadOnlyList<string>? jobIds`

    Filter by specific job IDs

  - `string? organizationID`

  - `Long? pageSize`

  - `string? pageToken`

  - `string? projectID`

  - `Status? status`

    Filter by job status (pending, processing, completed, failed, cancelled)

    - `"cancelled"Cancelled`

    - `"completed"Completed`

    - `"failed"Failed`

    - `"pending"Pending`

    - `"processing"Processing`

### Returns

- `class SplitListPageResponse:`

  Beta paginated list of split jobs.

  - `required IReadOnlyList<SplitListResponse> Items`

    The list of items.

    - `required string ID`

      Unique identifier for the split job.

    - `required IReadOnlyList<SplitCategory> Categories`

      Categories used for splitting.

      - `required string Name`

        Name of the category.

      - `string? Description`

        Optional description of what content belongs in this category.

    - `required SplitDocumentInput DocumentInput`

      Document that was split.

      - `required string Type`

        Type of document input. Valid values are: file_id

      - `required string Value`

        Document identifier.

    - `required string ProjectID`

      Project ID this job belongs to.

    - `required string Status`

      Current status of the job. Valid values are: pending, processing, completed, failed, cancelled.

    - `required string UserID`

      User ID who created this job.

    - `string? ConfigurationID`

      Split configuration ID used for this job.

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `string? ErrorMessage`

      Error message if the job failed.

    - `SplitResultResponse? Result`

      Result of a completed split job.

      - `required IReadOnlyList<SplitSegmentResponse> Segments`

        List of document segments.

        - `required string Category`

          Category name this split belongs to.

        - `required string ConfidenceCategory`

          Categorical confidence level. Valid values are: high, medium, low.

        - `required IReadOnlyList<Long> Pages`

          1-indexed page numbers in this split.

    - `DateTimeOffset? UpdatedAt`

      Update datetime

  - `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
SplitListParams parameters = new();

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

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "categories": [
        {
          "name": "x",
          "description": "x"
        }
      ],
      "document_input": {
        "type": "type",
        "value": "value"
      },
      "project_id": "project_id",
      "status": "status",
      "user_id": "user_id",
      "configuration_id": "configuration_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "error_message": "error_message",
      "result": {
        "segments": [
          {
            "category": "category",
            "confidence_category": "confidence_category",
            "pages": [
              0
            ]
          }
        ]
      },
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Get Split Job

`SplitGetResponse Beta.Split.Get(SplitGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/beta/split/jobs/{split_job_id}`

Get a document split job.

### Parameters

- `SplitGetParams parameters`

  - `required string splitJobID`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class SplitGetResponse:`

  Beta response — uses nested document_input object.

  - `required string ID`

    Unique identifier for the split job.

  - `required IReadOnlyList<SplitCategory> Categories`

    Categories used for splitting.

    - `required string Name`

      Name of the category.

    - `string? Description`

      Optional description of what content belongs in this category.

  - `required SplitDocumentInput DocumentInput`

    Document that was split.

    - `required string Type`

      Type of document input. Valid values are: file_id

    - `required string Value`

      Document identifier.

  - `required string ProjectID`

    Project ID this job belongs to.

  - `required string Status`

    Current status of the job. Valid values are: pending, processing, completed, failed, cancelled.

  - `required string UserID`

    User ID who created this job.

  - `string? ConfigurationID`

    Split configuration ID used for this job.

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `string? ErrorMessage`

    Error message if the job failed.

  - `SplitResultResponse? Result`

    Result of a completed split job.

    - `required IReadOnlyList<SplitSegmentResponse> Segments`

      List of document segments.

      - `required string Category`

        Category name this split belongs to.

      - `required string ConfidenceCategory`

        Categorical confidence level. Valid values are: high, medium, low.

      - `required IReadOnlyList<Long> Pages`

        1-indexed page numbers in this split.

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
SplitGetParams parameters = new() { SplitJobID = "split_job_id" };

var split = await client.Beta.Split.Get(parameters);

Console.WriteLine(split);
```

#### Response

```json
{
  "id": "id",
  "categories": [
    {
      "name": "x",
      "description": "x"
    }
  ],
  "document_input": {
    "type": "type",
    "value": "value"
  },
  "project_id": "project_id",
  "status": "status",
  "user_id": "user_id",
  "configuration_id": "configuration_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "result": {
    "segments": [
      {
        "category": "category",
        "confidence_category": "confidence_category",
        "pages": [
          0
        ]
      }
    ]
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Domain Types

### Split Category

- `class SplitCategory:`

  Category definition for document splitting.

  - `required string Name`

    Name of the category.

  - `string? Description`

    Optional description of what content belongs in this category.

### Split Document Input

- `class SplitDocumentInput:`

  Document input specification for beta API.

  - `required string Type`

    Type of document input. Valid values are: file_id

  - `required string Value`

    Document identifier.

### Split Result Response

- `class SplitResultResponse:`

  Result of a completed split job.

  - `required IReadOnlyList<SplitSegmentResponse> Segments`

    List of document segments.

    - `required string Category`

      Category name this split belongs to.

    - `required string ConfidenceCategory`

      Categorical confidence level. Valid values are: high, medium, low.

    - `required IReadOnlyList<Long> Pages`

      1-indexed page numbers in this split.

### Split Segment Response

- `class SplitSegmentResponse:`

  A segment of the split document.

  - `required string Category`

    Category name this split belongs to.

  - `required string ConfidenceCategory`

    Categorical confidence level. Valid values are: high, medium, low.

  - `required IReadOnlyList<Long> Pages`

    1-indexed page numbers in this split.
