## 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. ### Parameters - `ClassifyCreateParams params` - `Optional organizationId` - `Optional projectId` - `ClassifyCreateRequest classifyCreateRequest` Request to create a classify job. ### Returns - `class ClassifyCreateResponse:` Response for a classify job. - `String id` Unique identifier - `ClassifyConfiguration configuration` Classify configuration used for this job - `List rules` Classify rules to evaluate against the document (at least one required) - `String description` Natural language criteria for matching this rule - `String type` Document type to assign when rule matches - `Optional mode` Classify execution mode - `FAST("FAST")` - `Optional parsingConfiguration` Parsing configuration for classify jobs. - `Optional lang` ISO 639-1 language code for the document - `Optional maxPages` Maximum number of pages to process. Omit for no limit. - `Optional 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) - `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 - `PENDING("PENDING")` - `RUNNING("RUNNING")` - `COMPLETED("COMPLETED")` - `FAILED("FAILED")` - `String userId` User who created this job - `Optional configurationId` Product configuration ID - `Optional createdAt` Creation datetime - `Optional errorMessage` Error message if job failed - `Optional parseJobId` Associated parse job ID - `Optional result` Result of classifying a document. - `double confidence` Confidence score between 0.0 and 1.0 - `String reasoning` Why the document matched (or didn't match) the returned rule - `Optional type` Matched rule type, or null if no rule matched - `Optional transactionId` Idempotency key - `Optional updatedAt` Update datetime ### Example ```java 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); } } ``` #### Response ```json { "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" } ```