> ## Documentation Index
> Fetch the complete documentation index at: https://docs.biomni.phylo.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a task

> Get one Task by id and check its status.

Includes its `project_id`. The main use is to check whether the agent is done: poll until `status` is `completed` (or `failed` / `cancelled`).

`status` moves `idle → running → (completed | failed | cancelled)`: `idle` means
no message has been sent yet, `running` means the agent is working, `completed`
means it finished this turn, `failed` means something went wrong (the latest
agent message carries an `error`), and `cancelled` means you stopped it.

If you started a [scientific review](/api-reference/pages/review-task) of this
Task, the record also carries `review_status` (`running → done | failed`) — poll
it the same way to know when the review is finished; `review_error` explains a
failure. Both fields are omitted until a review has been run.


## OpenAPI

````yaml api-reference/openapi.json GET /tasks/{task_id}
openapi: 3.1.0
info:
  title: Biomni Public API — V0
  description: >-
    The public API for **Biomni** — the AI agent platform for clinical genomics
    (variant annotation, ClinVar lookups, PMID-cited literature, and project
    file drives). Create projects and Tasks, send messages to the agent, stream
    its replies, manage files, and check your usage — all from your own code.


    **Authentication**: send `Authorization: Bearer <your-api-key>`. The adapter
    forwards your key straight to Biomni; it never stores it.


    **Safe retries**: send `Idempotency-Key: <token>` on POST endpoints
    (`/projects`, `/tasks`, `/messages`, `/files/uploads`) so a retried request
    won't create a duplicate.
  version: 0.1.0
servers:
  - url: https://api.phylo.bio/api/v1
security: []
paths:
  /tasks/{task_id}:
    get:
      tags:
        - tasks
      summary: Get a task
      description: Get one Task by id and check its status.
      operationId: get_task_tasks__task_id__get
      parameters:
        - name: task_id
          in: path
          required: true
          schema:
            type: string
            title: Task Id
      responses:
        '200':
          description: Task record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
              examples:
                completed:
                  summary: A completed task (real BRCA1 demo from May 18)
                  value:
                    id: sess_d9711ec9b477
                    object: task
                    created: 1779132780
                    status: completed
                    title: BRCA1 variant clinical report
                    platform: api
                running:
                  summary: A task with the agent currently processing
                  value:
                    id: sess_2719df714819
                    object: task
                    created: 1779131425
                    status: running
                    title: BRCA1 variant exploration — adapter demo
                    platform: api
      security:
        - bearerAuth: []
components:
  schemas:
    Task:
      properties:
        id:
          type: string
          title: Id
        object:
          type: string
          const: task
          title: Object
          default: task
        created:
          type: integer
          title: Created
        status:
          type: string
          enum:
            - idle
            - running
            - completed
            - cancelled
            - failed
          title: Status
        project_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Project Id
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
        platform:
          type: string
          enum:
            - api
            - mcp
            - web
            - desktop
            - mobile
          title: Platform
          default: api
        review_status:
          anyOf:
            - type: string
              enum:
                - running
                - done
                - failed
            - type: 'null'
          title: Review Status
        review_error:
          anyOf:
            - type: string
            - type: 'null'
          title: Review Error
      type: object
      required:
        - id
        - created
        - status
      title: Task
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Requires an API key. See the Authentication guide.

````