# Job Data Points

## Query project job data points

`$ llp job-data-points list`

**get** `/api/v1/job-data-points`

Returns paginated job data points for the current project.

### Parameters

- `--job-type: "classify" or "extract" or "parse"`

  Job type to query.

- `--created-at-on-or-after: optional string`

  Include items created at or after this timestamp (inclusive)

- `--created-at-on-or-before: optional string`

  Include items created at or before this timestamp (inclusive)

- `--hours: optional number`

  Hours of history to include.

- `--organization-id: optional string`

- `--page-size: optional number`

  Number of items per page.

- `--page-token: optional string`

  Cursor token for the next page.

- `--project-id: optional string`

- `--status: optional array of string`

  Filter by status.

### Returns

- `JobDataPointResponse: object { items, next_page_token, total_size }`

  Paginated list of job data points.

  - `items: array of JobDataPoint`

    The list of items.

    - `id: string`

      Job ID.

    - `created_at: string`

      Created timestamp.

    - `custom_tag: string`

      Custom tag.

    - `project_id: string`

      Project ID.

    - `status: string`

      Job status.

    - `updated_at: string`

      Updated timestamp.

    - `error_message: optional string`

      Error message, if any.

    - `state_transitions: optional object { cancelled_at, completed_at, failed_at, 3 more }`

      Job state transition timestamps.

      - `cancelled_at: optional string`

      - `completed_at: optional string`

      - `failed_at: optional string`

      - `pending_at: optional string`

      - `running_at: optional string`

      - `throttled_at: optional string`

  - `next_page_token: optional string`

    A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

  - `total_size: optional number`

    The total number of items available. This is only populated when specifically requested. The value may be an estimate and can be used for display purposes only.

### Example

```cli
llp job-data-points list \
  --api-key 'My API Key' \
  --job-type parse
```

#### Response

```json
{
  "items": [
    {
      "id": "pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "created_at": "2026-04-29T18:00:00Z",
      "custom_tag": "premium",
      "project_id": "11111111-1111-1111-1111-111111111111",
      "status": "completed",
      "updated_at": "2026-04-29T18:01:00Z",
      "error_message": "Failed to process file.",
      "state_transitions": {
        "cancelled_at": "2026-04-29T18:01:00Z",
        "completed_at": "2026-04-29T18:01:00Z",
        "failed_at": "2026-04-29T18:01:00Z",
        "pending_at": "2026-04-29T18:00:00Z",
        "running_at": "2026-04-29T18:00:05Z",
        "throttled_at": "2026-04-29T18:00:02Z"
      }
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Domain Types

### Job Data Point

- `job_data_point: object { id, created_at, custom_tag, 5 more }`

  A job data point.

  - `id: string`

    Job ID.

  - `created_at: string`

    Created timestamp.

  - `custom_tag: string`

    Custom tag.

  - `project_id: string`

    Project ID.

  - `status: string`

    Job status.

  - `updated_at: string`

    Updated timestamp.

  - `error_message: optional string`

    Error message, if any.

  - `state_transitions: optional object { cancelled_at, completed_at, failed_at, 3 more }`

    Job state transition timestamps.

    - `cancelled_at: optional string`

    - `completed_at: optional string`

    - `failed_at: optional string`

    - `pending_at: optional string`

    - `running_at: optional string`

    - `throttled_at: optional string`
