# Classifier

# Jobs

## Create Classify Job

`ClassifyJob Classifier.Jobs.Create(JobCreateParamsparameters, CancellationTokencancellationToken = default)`

**post** `/api/v1/classifier/jobs`

Create a classify job. Experimental: not production-ready and subject to change.

### Parameters

- `JobCreateParams parameters`

  - `required IReadOnlyList<string> fileIds`

    Body param: The IDs of the files to classify

  - `required IReadOnlyList<ClassifierRule> rules`

    Body param: 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')

  - `string? organizationID`

    Query param

  - `string? projectID`

    Query param

  - `Mode mode`

    Body param: The classification mode to use

    - `"FAST"Fast`

    - `"MULTIMODAL"Multimodal`

  - `ClassifyParsingConfiguration parsingConfiguration`

    Body param: The configuration for the parsing job

  - `IReadOnlyList<WebhookConfiguration> webhookConfigurations`

    Body param: List of webhook configurations for notifications

    - `IReadOnlyList<string>? WebhookEvents`

      Events that trigger this webhook. Options: 'parse.success' (job completed), 'parse.error' (job failed), 'parse.partial_success' (some pages failed), 'parse.pending', 'parse.running', 'parse.cancelled'. If not specified, webhook fires for all events

    - `IReadOnlyDictionary<string, JsonElement>? WebhookHeaders`

      Custom HTTP headers to include in webhook requests. Use for authentication tokens or custom routing. Example: {'Authorization': 'Bearer xyz'}

    - `WebhookOutputFormat? WebhookOutputFormat`

      Format of the webhook payload body. 'string' (default) sends the payload as a JSON-encoded string; 'json' sends it as a JSON object.

      - `"json"Json`

      - `"string"String`

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

      HTTPS URL to receive webhook POST requests. Must be publicly accessible

### Returns

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

### Example

```csharp
JobCreateParams parameters = new()
{
    FileIds =
    [
        "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
    ],
    Rules =
    [
        new()
        {
            Description = "contains invoice number, line items, and total amount",
            Type = "invoice",
        },
    ],
};

var classifyJob = await client.Classifier.Jobs.Create(parameters);

Console.WriteLine(classifyJob);
```

#### Response

```json
{
  "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "rules": [
    {
      "description": "contains invoice number, line items, and total amount",
      "type": "invoice"
    }
  ],
  "status": "CANCELLED",
  "user_id": "user_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "effective_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "job_record_id": "job_record_id",
  "mode": "FAST",
  "parsing_configuration": {
    "lang": "abq",
    "max_pages": 0,
    "target_pages": [
      0
    ]
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## List Classify Jobs

`JobListPageResponse Classifier.Jobs.List(JobListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/classifier/jobs`

List classify jobs. Experimental: not production-ready and subject to change.

### Parameters

- `JobListParams parameters`

  - `string? organizationID`

  - `Long? pageSize`

  - `string? pageToken`

  - `string? projectID`

### Returns

- `class JobListPageResponse:`

  - `required IReadOnlyList<ClassifyJob> Items`

    The list of items.

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

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

#### Response

```json
{
  "items": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "rules": [
        {
          "description": "contains invoice number, line items, and total amount",
          "type": "invoice"
        }
      ],
      "status": "CANCELLED",
      "user_id": "user_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "effective_at": "2019-12-27T18:11:19.117Z",
      "error_message": "error_message",
      "job_record_id": "job_record_id",
      "mode": "FAST",
      "parsing_configuration": {
        "lang": "abq",
        "max_pages": 0,
        "target_pages": [
          0
        ]
      },
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Get Classify Job

`ClassifyJob Classifier.Jobs.Get(JobGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/classifier/jobs/{classify_job_id}`

Get a classify job. Experimental: not production-ready and subject to change.

### Parameters

- `JobGetParams parameters`

  - `required string classifyJobID`

  - `string? organizationID`

  - `string? projectID`

### Returns

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

### Example

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

var classifyJob = await client.Classifier.Jobs.Get(parameters);

Console.WriteLine(classifyJob);
```

#### Response

```json
{
  "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "project_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "rules": [
    {
      "description": "contains invoice number, line items, and total amount",
      "type": "invoice"
    }
  ],
  "status": "CANCELLED",
  "user_id": "user_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "effective_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "job_record_id": "job_record_id",
  "mode": "FAST",
  "parsing_configuration": {
    "lang": "abq",
    "max_pages": 0,
    "target_pages": [
      0
    ]
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Get Classification Job Results

`JobGetResultsResponse Classifier.Jobs.GetResults(JobGetResultsParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/classifier/jobs/{classify_job_id}/results`

Get the results of a classify job. Experimental: not production-ready and subject to change.

### Parameters

- `JobGetResultsParams parameters`

  - `required string classifyJobID`

  - `string? organizationID`

  - `string? projectID`

### Returns

- `class JobGetResultsResponse:`

  Response model for the classify endpoint following AIP-132 pagination standard.

  - `required IReadOnlyList<Item> Items`

    The list of items.

    - `required string ID`

      Unique identifier

    - `required string ClassifyJobID`

      The ID of the classify job

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `string? FileID`

      The ID of the classified file

    - `Result? Result`

      Result of classifying a single file.

      - `required Double Confidence`

        Confidence score of the classification (0.0-1.0)

      - `required string Reasoning`

        Step-by-step explanation of why this classification was chosen and the confidence score assigned

      - `required string? Type`

        The document type that best matches, or null if no match.

    - `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
JobGetResultsParams parameters = new()
{
    ClassifyJobID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
};

var response = await client.Classifier.Jobs.GetResults(parameters);

Console.WriteLine(response);
```

#### Response

```json
{
  "items": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "classify_job_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "created_at": "2019-12-27T18:11:19.117Z",
      "file_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "result": {
        "confidence": 0,
        "reasoning": "reasoning",
        "type": "type"
      },
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Domain Types

### Classifier Rule

- `class ClassifierRule:`

  A rule for classifying documents - v0 simplified version.

  This represents a single classification rule that will be applied to documents.
  All rules are content-based and use natural language descriptions.

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

### Classify 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

### Classify Parsing Configuration

- `class ClassifyParsingConfiguration:`

  Parsing configuration for a classify 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)
