# Job Data Points

## Query project job data points

`client.JobDataPoints.List(ctx, query) (*PaginatedCursor[JobDataPoint], error)`

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

Returns paginated job data points for the current project.

### Parameters

- `query JobDataPointListParams`

  - `JobType param.Field[JobDataPointListParamsJobType]`

    Job type to query.

    - `const JobDataPointListParamsJobTypeClassify JobDataPointListParamsJobType = "classify"`

    - `const JobDataPointListParamsJobTypeExtract JobDataPointListParamsJobType = "extract"`

    - `const JobDataPointListParamsJobTypeParse JobDataPointListParamsJobType = "parse"`

  - `CreatedAtOnOrAfter param.Field[Time]`

    Include items created at or after this timestamp (inclusive)

  - `CreatedAtOnOrBefore param.Field[Time]`

    Include items created at or before this timestamp (inclusive)

  - `Hours param.Field[int64]`

    Hours of history to include.

  - `OrganizationID param.Field[string]`

  - `PageSize param.Field[int64]`

    Number of items per page.

  - `PageToken param.Field[string]`

    Cursor token for the next page.

  - `ProjectID param.Field[string]`

  - `Status param.Field[[]string]`

    Filter by status.

### Returns

- `type JobDataPoint struct{…}`

  A job data point.

  - `ID string`

    Job ID.

  - `CreatedAt Time`

    Created timestamp.

  - `CustomTag string`

    Custom tag.

  - `ProjectID string`

    Project ID.

  - `Status string`

    Job status.

  - `UpdatedAt Time`

    Updated timestamp.

  - `ErrorMessage string`

    Error message, if any.

  - `StateTransitions JobDataPointStateTransitions`

    Job state transition timestamps.

    - `CancelledAt Time`

    - `CompletedAt Time`

    - `FailedAt Time`

    - `PendingAt Time`

    - `RunningAt Time`

    - `ThrottledAt Time`

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/run-llama/llama-parse-go"
  "github.com/run-llama/llama-parse-go/option"
)

func main() {
  client := llamacloud.NewClient(
    option.WithAPIKey("My API Key"),
  )
  page, err := client.JobDataPoints.List(context.TODO(), llamacloud.JobDataPointListParams{
    JobType: llamacloud.JobDataPointListParamsJobTypeParse,
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
```

#### 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

- `type JobDataPoint struct{…}`

  A job data point.

  - `ID string`

    Job ID.

  - `CreatedAt Time`

    Created timestamp.

  - `CustomTag string`

    Custom tag.

  - `ProjectID string`

    Project ID.

  - `Status string`

    Job status.

  - `UpdatedAt Time`

    Updated timestamp.

  - `ErrorMessage string`

    Error message, if any.

  - `StateTransitions JobDataPointStateTransitions`

    Job state transition timestamps.

    - `CancelledAt Time`

    - `CompletedAt Time`

    - `FailedAt Time`

    - `PendingAt Time`

    - `RunningAt Time`

    - `ThrottledAt Time`
