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

# Run a scientific review

> Have a reviewer agent double-check a completed Task's analysis for scientific accuracy.

A reviewer agent re-reads a **completed** Task's analysis and checks it for
scientific accuracy, correct use of the data, unsupported claims, and stated
limitations. Reviewing an `idle` or still-`running` Task has nothing to look at
yet.

**It runs in the background.** This call returns immediately with
`review_status: "running"` and does the work off the request path — it does
**not** return the review itself.

**Get the result by polling** `GET /tasks/{task_id}`: watch `review_status` go
`running → done | failed`. When it's `done`, the review is appended to the Task's
conversation as a new message — read it with `GET /messages?task_id=...`. On
`failed`, `review_error` explains why.

**Re-running:** calling this while a review is already `running` is a no-op (you
get the in-flight `running` state back). After a review finishes, calling again
starts a fresh one that overwrites the previous result.


## OpenAPI

````yaml api-reference/openapi.json POST /tasks/{task_id}/review
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}/review:
    post:
      tags:
        - tasks
      summary: Run a Scientific Review of a Task
      description: >-
        Have a reviewer agent double-check a completed Task's analysis for
        scientific accuracy.
      operationId: review_task_tasks__task_id__review_post
      parameters:
        - name: task_id
          in: path
          required: true
          schema:
            type: string
            title: Task Id
      responses:
        '200':
          description: Review accepted and now running in the background.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReviewAck'
              example:
                id: sess_d9711ec9b477
                review_status: running
      security:
        - bearerAuth: []
components:
  schemas:
    ReviewAck:
      properties:
        id:
          type: string
          title: Id
        review_status:
          type: string
          title: Review Status
      type: object
      required:
        - id
        - review_status
      title: ReviewAck
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Requires an API key. See the Authentication guide.

````