---
title: "Create Classify Job"
method: POST
path: "/api/v1/classifier/jobs"
tags: ["Classifier", "Beta", "Classifier"]
---

# Create Classify Job

`POST /api/v1/classifier/jobs`

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

## Query parameters

- `project_id` string, uuid, nullable
- `organization_id` string, uuid, nullable

## Cookies

- `session` string, nullable

## Request body

- ClassifyJobCreate — A classify job.
  - `rules` ClassifierRule[], required — The rules to classify the files
    - `type` string, required — The document type to assign when this rule matches (e.g., 'invoice', 'receipt', 'contract')
    - `description` string, required — Natural language description of what to classify. Be specific about the content characteristics that identify this document type.
  - `mode` 'FAST' | 'MULTIMODAL' — Supported classification execution modes.
  - `file_ids` string[], required — The IDs of the files to classify
  - `parsing_configuration` ClassifyParsingConfiguration — Parsing configuration for a classify job.
    - `lang` 'af' | 'az' | 'bs' | 'cs' | 'cy' | 'da' | 'de' | 'en' | 'es' | 'et' | 'fr' | 'ga' | 'hr' | 'hu' | 'id' | 'is' | 'it' | 'ku' | 'la' | 'lt' | 'lv' | 'mi' | 'ms' | 'mt' | 'nl' | 'no' | 'oc' | 'pi' | 'pl' | 'pt' | 'ro' | 'rs_latin' | 'sk' | 'sl' | 'sq' | 'sv' | 'sw' | 'tl' | 'tr' | 'uz' | 'vi' | 'ar' | 'fa' | 'ug' | 'ur' | 'bn' | 'as' | 'mni' | 'ru' | 'rs_cyrillic' | 'be' | 'bg' | 'uk' | 'mn' | 'abq' | 'ady' | 'kbd' | 'ava' | 'dar' | 'inh' | 'che' | 'lbe' | 'lez' | 'tab' | 'tjk' | 'hi' | 'mr' | 'ne' | 'bh' | 'mai' | 'ang' | 'bho' | 'mah' | 'sck' | 'new' | 'gom' | 'sa' | 'bgc' | 'th' | 'ch_sim' | 'ch_tra' | 'ja' | 'ko' | 'ta' | 'te' | 'kn' — Enum for representing the languages supported by the parser.
    - `max_pages` integer, nullable — The maximum number of pages to parse
    - `target_pages` integer[], nullable — The pages to target for parsing (0-indexed, so first page is at 0)
  - `webhook_configurations` LlamaParseWebhookConfiguration[] — List of webhook configurations for notifications
    - `webhook_url` string, nullable — HTTPS URL to receive webhook POST requests. Must be publicly accessible
    - `webhook_headers` object, nullable — Custom HTTP headers to include in webhook requests. Use for authentication tokens or custom routing. Example: {'Authorization': 'Bearer xyz'}
    - `webhook_events` string[], nullable — 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
    - `webhook_output_format` 'string' | 'json', nullable — Format of the webhook payload body. 'string' (default) sends the payload as a JSON-encoded string; 'json' sends it as a JSON object.

## Response `200`

Successful Response

- ClassifyJob — A classify job.
  - `status` 'PENDING' | 'SUCCESS' | 'ERROR' | 'PARTIAL_SUCCESS' | 'CANCELLED', required — Enum for representing the status of a job
  - `effective_at` string, date-time
  - `job_record_id` string, nullable — The job record ID associated with this status, if any.
  - `error_message` string, nullable — Error message for the latest job attempt, if any.
  - `id` string, uuid, required — Unique identifier
  - `created_at` string, date-time, nullable — Creation datetime
  - `updated_at` string, date-time, nullable — Update datetime
  - `rules` ClassifierRule[], required — The rules to classify the files
    - `type` string, required — The document type to assign when this rule matches (e.g., 'invoice', 'receipt', 'contract')
    - `description` string, required — Natural language description of what to classify. Be specific about the content characteristics that identify this document type.
  - `user_id` string, required — The ID of the user
  - `project_id` string, uuid, required — The ID of the project
  - `mode` 'FAST' | 'MULTIMODAL' — Supported classification execution modes.
  - `parsing_configuration` ClassifyParsingConfiguration — Parsing configuration for a classify job.
    - `lang` 'af' | 'az' | 'bs' | 'cs' | 'cy' | 'da' | 'de' | 'en' | 'es' | 'et' | 'fr' | 'ga' | 'hr' | 'hu' | 'id' | 'is' | 'it' | 'ku' | 'la' | 'lt' | 'lv' | 'mi' | 'ms' | 'mt' | 'nl' | 'no' | 'oc' | 'pi' | 'pl' | 'pt' | 'ro' | 'rs_latin' | 'sk' | 'sl' | 'sq' | 'sv' | 'sw' | 'tl' | 'tr' | 'uz' | 'vi' | 'ar' | 'fa' | 'ug' | 'ur' | 'bn' | 'as' | 'mni' | 'ru' | 'rs_cyrillic' | 'be' | 'bg' | 'uk' | 'mn' | 'abq' | 'ady' | 'kbd' | 'ava' | 'dar' | 'inh' | 'che' | 'lbe' | 'lez' | 'tab' | 'tjk' | 'hi' | 'mr' | 'ne' | 'bh' | 'mai' | 'ang' | 'bho' | 'mah' | 'sck' | 'new' | 'gom' | 'sa' | 'bgc' | 'th' | 'ch_sim' | 'ch_tra' | 'ja' | 'ko' | 'ta' | 'te' | 'kn' — Enum for representing the languages supported by the parser.
    - `max_pages` integer, nullable — The maximum number of pages to parse
    - `target_pages` integer[], nullable — The pages to target for parsing (0-indexed, so first page is at 0)

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/run-llama/apis/llama-platform.md) · [All operations](https://skmtc.net/run-llama/apis/llama-platform/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/run-llama/llama-platform/revisions/b17341164de9/schema)
