# Jobs

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