---
title: "Get Review"
method: GET
path: "/v1/reviews/{id}"
tags: ["v1", "Reviews"]
---

# Get Review

`GET /v1/reviews/{id}`

## Request

- Base URL: `https://api.ellipsis.dev`
- URL: `https://api.ellipsis.dev/v1/reviews/{id}`
- Auth: HTTP bearer

Get a code review: its reviewers and every comment they returned, posted or held back.

## Path parameters

- `id` string, required

## Headers

- `user-agent` string, nullable

## Response `200`

Successful Response

- Review
  - `base_sha` string, required
  - `blocking` integer, required: Blocking comments posted to GitHub.
  - `budget` integer, required: The reviewer sessions' spend budgets together, in millicents.
  - `comments` ReviewComment[], required
    - `blocking` boolean, required: The reviewer's call: true when the pull request must not merge until this is fixed. A review with any blocking comment fails.
    - `body` string, required
    - `id` string, required
    - `line` integer, required
    - `path` string, required
    - `reviewer` string, required: The reviewer that returned this comment.
    - `side` string, required
    - `start_line` integer, nullable
    - `start_side` string, nullable
    - `status` 'eligible' | 'posted' | 'outside_range' | 'not_in_diff', required
  - `cost` Cost, required: What something cost, in millicents.
    - `charged` integer, required: What Ellipsis charged to credit, in millicents. It is everything except subscription tokens.
    - `cpu` integer, required: CPU spend in millicents.
    - `fee` integer, required: Platform fee in millicents.
    - `llm` LlmCost, required: What LLM tokens cost, in total and by model.
      - `all` LlmCostSplit, required: What LLM tokens cost, in millicents, split by who paid (Ellipsis credit or the user's own subscription).
        - `claude_subscription` integer, required: Token cost paid by a Claude subscription, at Ellipsis rates, in millicents.
        - `codex_subscription` integer, required: Token cost paid by a Codex subscription, at Ellipsis rates, in millicents.
        - `platform` integer, required: Token cost charged to Ellipsis credit, in millicents.
        - `total` integer, required: All token cost, in millicents. It is the sum of platform, claude_subscription, and codex_subscription.
      - `by_model` ModelLlmCostSplit[], required: Token cost for each model that used tokens.
        - `claude_subscription` integer, required: Token cost paid by a Claude subscription, at Ellipsis rates, in millicents.
        - `codex_subscription` integer, required: Token cost paid by a Codex subscription, at Ellipsis rates, in millicents.
        - `model` string, required: The model that used these tokens.
        - `platform` integer, required: Token cost charged to Ellipsis credit, in millicents.
        - `total` integer, required: All token cost, in millicents. It is the sum of platform, claude_subscription, and codex_subscription.
    - `memory` integer, required: Memory spend in millicents.
    - `total` integer, required: Everything it cost, whoever paid, in millicents. It is the sum of llm.all.total, cpu, memory, and fee, and it is what the budget caps.
  - `created_at` string, date-time, required
  - `error` string, nullable
  - `event` 'COMMENT' | 'APPROVE' | 'REQUEST_CHANGES': The GitHub review event the platform submitted, as GitHub names it.
  - `finalized_at` string, date-time, nullable
  - `github_review_id` integer, nullable: The GitHub review id once posted.
  - `head_sha` string, required: The commit the review is anchored at.
  - `id` string, required
  - `non_blocking` integer, required: Comments posted to GitHub that do not block.
  - `pull_request` PullRequest, required: A GitHub pull request. A session's pull requests are read live. A review's is kept as it was when the review ran.
    - `additions` integer, nullable: Lines added, null until GitHub reports them.
    - `author` GithubAccountSnippet, required: Sometimes the GitHub API returns a user of github (can include bots) using this snippet instead of the full GithubAccount model. One example, is when the API returns a pull request. This is the least amount of info we need to represent a GitHub account.
      - `avatar_url` string, required
      - `id` integer, required
      - `login` string, required
      - `name` string, nullable, required
      - `type` 'User' | 'Organization' | 'Bot' | 'Mannequin', required
    - `base` PullRequestBranch, required: One side of a pull request, a branch and the commit it pointed at.
      - `ref` string, required: The branch name.
      - `sha` string, required: The commit the branch pointed at.
    - `changed_files` integer, nullable: Files changed, null until GitHub reports them.
    - `commits` integer, nullable: Commits, null until GitHub reports them.
    - `created_at` string, date-time, required
    - `deletions` integer, nullable: Lines deleted, null until GitHub reports them.
    - `head` PullRequestBranch, required: One side of a pull request, a branch and the commit it pointed at.
      - `ref` string, required: The branch name.
      - `sha` string, required: The commit the branch pointed at.
    - `id` integer, required: The pull request's GitHub id.
    - `merged_at` string, date-time, nullable
    - `number` integer, required
    - `repository` GithubRepositorySnippet, required: A GitHub repository, named by its owner and name.
      - `id` integer, required: The GitHub repository id.
      - `name` string, required: The repository name.
      - `owner` string, required: The repository owner's login.
    - `status` 'open' | 'draft' | 'merged' | 'closed', required
    - `title` string, required
    - `updated_at` string, date-time, required
    - `url` string, required: The pull request on GitHub.
  - `repository` GithubRepositorySnippet, required: A GitHub repository, named by its owner and name.
    - `id` integer, required: The GitHub repository id.
    - `name` string, required: The repository name.
    - `owner` string, required: The repository owner's login.
  - `reviewers` ReviewReviewer[], required
    - `error` string, nullable: Why the reviewer produced nothing.
    - `finished_at` string, date-time, nullable
    - `name` string, required: The reviewer's name from the code review file.
    - `range_base_sha` string, required: The commit this reviewer's range started from: its watermark, or the pull request base on a first review.
    - `reviewed_files` integer, nullable: Files in the reviewer's range diff; null until the reviewer finished.
    - `reviewed_lines` integer, nullable: Changed lines in the reviewer's range diff, on the new side; null until the reviewer finished.
    - `session_id` string, required: The session that ran this reviewer.
    - `status` 'running' | 'completed' | 'failed', required
    - `summary` string, nullable: The text this reviewer wrote for the review body, when the config's output.summary asks for one; null otherwise.
  - `status` 'running' | 'posting' | 'posted' | 'empty' | 'failed', required
  - `tokens` Tokens, required: Tokens used, in total and by model.
    - `all` TokenCounts, required: Token counts.
      - `cache_creation` integer, required: Tokens written to the prompt cache.
      - `cache_read` integer, required: Tokens read from the prompt cache.
      - `input` integer, required: Input tokens used.
      - `output` integer, required: Output tokens used.
      - `total` integer, required: All tokens used, including prompt cache reads and writes. Token cost is priced on this.
    - `by_model` ModelTokenCounts[], required: Token counts for each model that used tokens.
      - `cache_creation` integer, required: Tokens written to the prompt cache.
      - `cache_read` integer, required: Tokens read from the prompt cache.
      - `input` integer, required: Input tokens used.
      - `model` string, required: The model that used these tokens.
      - `output` integer, required: Output tokens used.
      - `total` integer, required: All tokens used, including prompt cache reads and writes. Token cost is priced on this.

## Other responses

- `401`: The bearer token is missing, invalid, or revoked.
- `403`: The credential may not perform this action, or the account is blocked.
- `404`: No such review.
- `422`: Validation Error

---

[API](https://skmtc.dev/ellipsis/apis/ellipsis-rest-api.md) - [All operations](https://skmtc.dev/ellipsis/apis/ellipsis-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ellipsis/apis/ellipsis-rest-api/revisions/344b16df9a1a?raw)
