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