---
title: "List task versions"
method: GET
path: "/api/v1/task-versions"
tags: ["Practice"]
---

# List task versions

`GET /api/v1/task-versions`

## Request

- Base URL: `https://ailawframework.com`
- URL: `https://ailawframework.com/api/v1/task-versions`
- Auth: HTTP bearer

Every jurisdiction version of a task (for example the New South Wales version), flat.

## Query parameters

- `page` integer
- `per_page` integer
- `task` string
- `area` string
- `jurisdiction` string
- `level` 'green' | 'yellow' | 'red'
- `updated_since` string, date-time

## Response `200`

A page of versions.

- object
  - `data` TaskVersion[], required
    - `id` string
    - `task_id` string
    - `area_id` string
    - `jurisdiction_id` string
    - `jurisdiction_name` string, nullable: Name.
    - `title` string
    - `url` string, uri, nullable
    - `ai_use` string, nullable: How AI is used.
    - `level` 'green' | 'yellow' | 'red' | 'manual': Involvement level. Green: AI drafts, lawyer checks. Yellow: lawyer and AI draft together. Red: lawyer writes; AI may only check, clarify or collect data. Manual: no AI.
    - `lawyer_review` string: What the lawyer must review.
    - `checking_plan` object: Who does what at each stage and what the lawyer checks.
      - `key` string, nullable: Plan key.
      - `label` string
      - `summary` string
      - `ai_role` string: What the AI does.
      - `lawyer_role` string: What the lawyer does.
      - `reviewer` string
      - `basis` string
      - `rationale` string
      - `restriction` string, nullable: A restriction on AI use, if any.
      - `checkpoints` string[]: Checks the lawyer makes.
      - `notes` string[]: Notes.
      - `sources` object[]
        - `title` string
        - `url` string, uri
        - `checked` string, nullable: Date the source was last read.
      - `practical_guide` object, nullable: A practical guide for the task.
        - `jurisdiction` string
        - `deliverable` string
        - `inputs` string[]: Inputs.
        - `example` string
        - `stop_when` string[]: Stop and escalate when.
        - `checked` string
      - `related_task_ids` string[]: Related task ids.
      - `written_for` string, nullable: Jurisdiction the plan was written for.
      - `source_basis` string: How the task was sourced.
    - `updated_at` string, nullable: ISO 8601.
  - `links` Links, required: Page links, as a Laravel LengthAwarePaginator renders them. Follow next until it is null.
    - `first` string, uri
    - `last` string, uri
    - `prev` string, uri, nullable
    - `next` string, uri, nullable
  - `meta` ListMeta, required: Paging details and the notice.
    - `current_page` integer
    - `from` integer, nullable
    - `last_page` integer
    - `path` string, uri
    - `per_page` integer
    - `to` integer, nullable
    - `total` integer
    - `notice` string: The planning-guidance disclaimer. Show it wherever you show the guidance.

## Other responses

- `304`: The If-None-Match you sent matches: nothing has changed.
- `401`: No key, or not a configured key.
- `422`: A parameter has a bad value.
- `503`: The database could not be read. Retry. Nothing partial is ever returned.

---

[API](https://skmtc.dev/ailawframework/apis/ai-law-framework-data-api.md) · [All operations](https://skmtc.dev/ailawframework/apis/ai-law-framework-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ailawframework/apis/ai-law-framework-data-api/revisions/34dac450f68c?raw)
