Skip to content

Create Classify Job

ClassifyCreateResponse Classify.Create(ClassifyCreateParams?parameters, CancellationTokencancellationToken = default)
POST/api/v2/classify

Create a classify job.

Classifies a document against a set of rules. Set file_input to a file ID (dfl-...) or parse job ID (pjb-...), and provide either inline configuration with rules or a configuration_id referencing a saved preset.

Each rule has a type (the label to assign) and a description (natural language criteria). The classifier returns the best matching rule with a confidence score.

The job runs asynchronously. Poll GET /classify/{job_id} to check status and retrieve results.

ParametersExpand Collapse
ClassifyCreateParams parameters
string? organizationID

Query param

formatuuid
string? projectID

Query param

formatuuid
ClassifyConfiguration? configuration

Body param: Configuration for a classify job.

string? configurationID

Body param: Saved configuration ID

Deprecatedstring? fileID

Body param: Deprecated: use file_input instead

string? fileInput

Body param: File ID or parse job ID to classify

maxLength200
Deprecatedstring? parseJobID

Body param: Deprecated: use file_input instead

string? transactionID

Body param: Idempotency key scoped to the project. Reusing a key returns the original job; the new request body is ignored.

maxLength255
IReadOnlyList<WebhookConfiguration>? webhookConfigurations

Body param: 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.

One of the following:
"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=’). 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

ReturnsExpand Collapse
class ClassifyCreateResponse:

Response for a classify job.

required string ID

Unique identifier

required ClassifyConfiguration Configuration

Classify configuration used for this job

required IReadOnlyList<Rule> Rules

Classify rules to evaluate against the document (at least one required)

required string Description

Natural language criteria for matching this rule

maxLength2000
minLength10
required string Type

Document type to assign when rule matches

maxLength50
minLength1
Mode Mode

Classify execution mode

ParsingConfiguration? ParsingConfiguration

Parsing configuration for classify jobs.

string Lang

ISO 639-1 language code for the document

Long? MaxPages

Maximum number of pages to process. Omit for no limit.

minimum1
string? TargetPages

Comma-separated page numbers or ranges to process (1-based). Omit to process all pages.

required DocumentInputType DocumentInputType

Whether the input was a file or parse job (FILE or PARSE_JOB)

One of the following:
"file_id"FileID
"parse_job_id"ParseJobID
"url"Url
required string FileInput

ID of the input file or parse job

required string ProjectID

Project this job belongs to

required Status Status

Current job status: PENDING, RUNNING, COMPLETED, or FAILED

One of the following:
"COMPLETED"Completed
"FAILED"Failed
"PENDING"Pending
"RUNNING"Running
required string UserID

User who created this job

string? ConfigurationID

Product configuration ID

DateTimeOffset? CreatedAt

Creation datetime

formatdate-time
string? ErrorMessage

Error message if job failed

string? ParseJobID

Associated parse job ID

Result of classifying a document.

required Double Confidence

Confidence score between 0.0 and 1.0

maximum1
minimum0
required string Reasoning

Why the document matched (or didn’t match) the returned rule

required string? Type

Matched rule type, or null if no rule matched

string? TransactionID

Idempotency key

DateTimeOffset? UpdatedAt

Update datetime

formatdate-time

Create Classify Job

ClassifyCreateParams parameters = new();

var classify = await client.Classify.Create(parameters);

Console.WriteLine(classify);
{
  "id": "id",
  "configuration": {
    "rules": [
      {
        "description": "contains invoice number, line items, and total amount",
        "type": "invoice"
      }
    ],
    "mode": "FAST",
    "parsing_configuration": {
      "lang": "en",
      "max_pages": 10,
      "target_pages": "1,3,5-7"
    }
  },
  "document_input_type": "file_id",
  "file_input": "file_input",
  "project_id": "project_id",
  "status": "COMPLETED",
  "user_id": "user_id",
  "configuration_id": "configuration_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "parse_job_id": "parse_job_id",
  "result": {
    "confidence": 0,
    "reasoning": "reasoning",
    "type": "type"
  },
  "transaction_id": "transaction_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "id": "id",
  "configuration": {
    "rules": [
      {
        "description": "contains invoice number, line items, and total amount",
        "type": "invoice"
      }
    ],
    "mode": "FAST",
    "parsing_configuration": {
      "lang": "en",
      "max_pages": 10,
      "target_pages": "1,3,5-7"
    }
  },
  "document_input_type": "file_id",
  "file_input": "file_input",
  "project_id": "project_id",
  "status": "COMPLETED",
  "user_id": "user_id",
  "configuration_id": "configuration_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "parse_job_id": "parse_job_id",
  "result": {
    "confidence": 0,
    "reasoning": "reasoning",
    "type": "type"
  },
  "transaction_id": "transaction_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Note for AI agents: this documentation is built for programmatic access. - Overview of all docs: https://developers.llamaindex.ai/llms.txt - Any page is available as raw Markdown by appending index.md to its URL — e.g. https://developers.llamaindex.ai/llamaparse/parse/getting_started/index.md - Agent-friendly REST search APIs live under https://developers.llamaindex.ai/api/ — search (BM25 full-text), grep (regex), read (fetch a page), and list (browse the doc tree). See https://developers.llamaindex.ai/llms.txt for parameters. - A hosted documentation MCP server is available at https://developers.llamaindex.ai/mcp. If you support MCP, you can ask the user to install it for browsing these docs directly (an alternative to the REST API). Setup: https://developers.llamaindex.ai/for-agents/mcp/ - Other LlamaIndex tooling for agents — the LlamaParse Platform MCP server, agent skills and plugins, and the n8n node — is mapped at https://developers.llamaindex.ai/for-agents/