## List Batch Jobs

`BatchListPage beta().batch().list(BatchListParamsparams = BatchListParams.none(), RequestOptionsrequestOptions = RequestOptions.none())`

**get** `/api/v1/beta/batch-processing`

List batch processing jobs with optional filtering.

Filter by `directory_id`, `job_type`, or `status`. Results
are paginated with configurable `limit` and `offset`.

### Parameters

- `BatchListParams params`

  - `Optional<String> directoryId`

    Filter by directory ID

  - `Optional<JobType> jobType`

    Filter by job type (PARSE, EXTRACT, CLASSIFY)

    - `PARSE("parse")`

    - `EXTRACT("extract")`

    - `CLASSIFY("classify")`

  - `Optional<Long> limit`

    Maximum number of jobs to return

  - `Optional<Long> offset`

    Number of jobs to skip for pagination

  - `Optional<String> organizationId`

  - `Optional<String> projectId`

  - `Optional<Status> status`

    Filter by job status (PENDING, RUNNING, COMPLETED, FAILED, CANCELLED)

    - `PENDING("pending")`

    - `RUNNING("running")`

    - `DISPATCHED("dispatched")`

    - `COMPLETED("completed")`

    - `FAILED("failed")`

    - `CANCELLED("cancelled")`

### Returns

- `class BatchListResponse:`

  Response schema for a batch processing job.

  - `String id`

    Unique identifier for the batch job

  - `JobType jobType`

    Type of processing operation (parse or classify)

    - `PARSE("parse")`

    - `EXTRACT("extract")`

    - `CLASSIFY("classify")`

  - `String projectId`

    Project this job belongs to

  - `Status status`

    Current job status

    - `PENDING("pending")`

    - `RUNNING("running")`

    - `DISPATCHED("dispatched")`

    - `COMPLETED("completed")`

    - `FAILED("failed")`

    - `CANCELLED("cancelled")`

  - `long totalItems`

    Total number of items in the job

  - `Optional<LocalDateTime> completedAt`

    Timestamp when job completed

  - `Optional<LocalDateTime> createdAt`

    Creation datetime

  - `Optional<String> directoryId`

    Directory being processed

  - `Optional<LocalDateTime> effectiveAt`

  - `Optional<String> errorMessage`

    Error message for the latest job attempt, if any.

  - `Optional<Long> failedItems`

    Number of items that failed processing

  - `Optional<String> jobRecordId`

    The job record ID associated with this status, if any.

  - `Optional<Long> processedItems`

    Number of items processed so far

  - `Optional<Long> skippedItems`

    Number of items skipped (already processed or size limit)

  - `Optional<LocalDateTime> startedAt`

    Timestamp when job processing started

  - `Optional<LocalDateTime> updatedAt`

    Update datetime

  - `Optional<String> workflowId`

    Async job tracking ID

### 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.beta.batch.BatchListPage;
import com.llamacloud_prod.api.models.beta.batch.BatchListParams;

public final class Main {
    private Main() {}

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

        BatchListPage page = client.beta().batch().list();
    }
}
```

#### Response

```json
{
  "items": [
    {
      "id": "bjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "job_type": "parse",
      "project_id": "proj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "status": "pending",
      "total_items": 0,
      "completed_at": "2019-12-27T18:11:19.117Z",
      "created_at": "2019-12-27T18:11:19.117Z",
      "directory_id": "dir-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "effective_at": "2019-12-27T18:11:19.117Z",
      "error_message": "error_message",
      "failed_items": 0,
      "job_record_id": "job_record_id",
      "processed_items": 0,
      "skipped_items": 0,
      "started_at": "2019-12-27T18:11:19.117Z",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "workflow_id": "workflow_id"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```
