# 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": {}
    }
  ]
}
```
