Skip to content
Framework Docs

Create Classify Job

ClassifyCreateResponse classify().create(ClassifyCreateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
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 params
Optional<String> organizationId
Optional<String> projectId
ClassifyCreateRequest classifyCreateRequest

Request to create a classify job.

ReturnsExpand Collapse
class ClassifyCreateResponse:

Response for a classify job.

String id

Unique identifier

ClassifyConfiguration configuration

Classify configuration used for this job

List<Rule> rules

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

String description

Natural language criteria for matching this rule

maxLength500
minLength10
String type

Document type to assign when rule matches

maxLength50
minLength1
Optional<Mode> mode

Classify execution mode

Optional<ParsingConfiguration> parsingConfiguration

Parsing configuration for classify jobs.

Optional<String> lang

ISO 639-1 language code for the document

Optional<Long> maxPages

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

minimum1
Optional<String> targetPages

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

DocumentInputType documentInputType

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

One of the following:
URL("url")
FILE_ID("file_id")
PARSE_JOB_ID("parse_job_id")
String fileInput

ID of the input file or parse job

String projectId

Project this job belongs to

Status status

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

One of the following:
PENDING("PENDING")
RUNNING("RUNNING")
COMPLETED("COMPLETED")
FAILED("FAILED")
String userId

User who created this job

Optional<String> configurationId

Product configuration ID

Optional<LocalDateTime> createdAt

Creation datetime

formatdate-time
Optional<String> errorMessage

Error message if job failed

Optional<String> parseJobId

Associated parse job ID

Optional<ClassifyResult> result

Result of classifying a document.

double confidence

Confidence score between 0.0 and 1.0

maximum1
minimum0
String reasoning

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

Optional<String> type

Matched rule type, or null if no rule matched

Optional<String> transactionId

Idempotency key

Optional<LocalDateTime> updatedAt

Update datetime

formatdate-time

Create Classify Job

package com.llamacloud_prod.api.example;

import com.llamacloud_prod.api.client.LlamaCloudClient;
import com.llamacloud_prod.api.client.okhttp.LlamaCloudOkHttpClient;
import com.llamacloud_prod.api.models.classify.ClassifyCreateParams;
import com.llamacloud_prod.api.models.classify.ClassifyCreateRequest;
import com.llamacloud_prod.api.models.classify.ClassifyCreateResponse;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        LlamaCloudClient client = LlamaCloudOkHttpClient.fromEnv();

        ClassifyCreateRequest params = ClassifyCreateRequest.builder().build();
        ClassifyCreateResponse classify = client.classify().create(params);
    }
}
{
  "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": "url",
  "file_input": "file_input",
  "project_id": "project_id",
  "status": "PENDING",
  "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": "url",
  "file_input": "file_input",
  "project_id": "project_id",
  "status": "PENDING",
  "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"
}