## List Extract Review Events

`extract.review.list_events(strjob_id, ReviewListEventsParams**kwargs)  -> SyncPaginatedCursor[ExtractReviewEvent]`

**get** `/api/v2/extract/{job_id}/review/events`

Beta: answers 403 until extract review is enabled for the caller and their organization.

List a review's history, newest first.

### Parameters

- `job_id: str`

- `organization_id: Optional[str]`

- `page_size: Optional[int]`

  Events per page.

- `page_token: Optional[str]`

  Token from the previous page.

- `project_id: Optional[str]`

### Returns

- `class ExtractReviewEvent: …`

  One entry in a review's history.

  - `id: str`

    Unique identifier of the entry.

  - `actor_id: str`

    ID of the user who acted.

  - `created_at: datetime`

    When it happened.

  - `kind: Literal["approved", "created", "field_cleared", 7 more]`

    What happened.

    - `"approved"`

    - `"created"`

    - `"field_cleared"`

    - `"field_confirmed"`

    - `"field_corrected"`

    - `"field_restored"`

    - `"field_undone"`

    - `"flags_signed_off"`

    - `"rejected"`

    - `"reopened"`

  - `detail: Optional[Detail]`

    The settings for `created`, the reason for `rejected`, and the fields for `flags_signed_off`; null for the rest.

    - `class DetailExtractReviewCreatedDetail: …`

      What a `created` entry records: where review was turned on, and its settings.

      - `confidence_threshold: float`

        Fields read below this confidence are flagged.

      - `fields_in_scope: List[str]`

        JSON Pointers of the fields the threshold applies to; empty means all.

      - `origin: Literal["api", "edit", "history", "run"]`

        Turned on as the job ran, from History, by a first edit, or by the API.

        - `"api"`

        - `"edit"`

        - `"history"`

        - `"run"`

      - `required_fields: List[str]`

        JSON Pointers of fields flagged when empty.

    - `class DetailExtractReviewRejectedDetail: …`

      What a `rejected` entry records.

      - `reason: str`

        Why the result was rejected.

    - `class DetailExtractReviewSignedOffDetail: …`

      What a `flags_signed_off` entry records.

      - `paths: List[str]`

        JSON Pointers of the flagged fields confirmed as part of approving.

  - `path: Optional[str]`

    JSON Pointer of the field it changed.

  - `value_after: Optional[object]`

    The field's value after the change.

  - `value_before: Optional[object]`

    The field's value before the change.

### Example

```python
import os
from llama_cloud import LlamaCloud

client = LlamaCloud(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
page = client.extract.review.list_events(
    job_id="job_id",
)
page = page.items[0]
print(page.id)
```

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "actor_id": "actor_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "kind": "approved",
      "detail": {
        "confidence_threshold": 0,
        "fields_in_scope": [
          "string"
        ],
        "origin": "api",
        "required_fields": [
          "string"
        ]
      },
      "path": "path",
      "value_after": {},
      "value_before": {}
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```
