Skip to main content
GET
Error

Authorizations

Authorization
string
header
required

API token obtained from the Tokens endpoint or CLI device login. Include as Authorization: Bearer <token>. Requests made with a managed CLI session also include X-Strix-Workspace: <organization_id> to pin a process to the workspace it started in; recovery endpoints report the current workspace after a concurrent switch.

Path Parameters

prReviewId
string<uuid>
required

PR review id.

Response

PR review details.

One PR review run plus PR-wide reconciled finding counts in findings.

id
string<uuid>
required
organization_id
string
required
user_id
string | null
required
provider
enum<string>
required
Available options:
github,
gitlab,
bitbucket,
azure_repos
installation_id
integer
required
status
enum<string>
required
Available options:
pending,
running,
completed,
posting,
posted,
failed
repository_full_name
string
required
pr_number
integer
required
pr_title
string | null
required
pr_url
string | null
required
head_branch
string
required

Source branch reviewed by this run.

base_branch
string | null
required

Destination branch for the pull request. Null when the provider did not supply it.

head_sha
string
required
base_sha
string | null
required
start_sha
string | null
required
pr_author
string | null
required
trigger
enum<string>
required
Available options:
webhook,
manual
mode
enum<string> | null
required
Available options:
review,
verify_base,
null
pr_state
enum<string> | null
required

The pull request's own lifecycle, stamped when a review starts and kept live by provider webhooks. Null on older reviews.

Available options:
open,
merged,
closed,
null
pr_merged_at
string<date-time> | null
required
summary
string | null
required
verdict
enum<string> | null
required
Available options:
approve,
comment,
request_changes,
null
findings_count
integer
required

Trigger-maintained count for this individual review run. Prefer the nested findings.total field for the PR-wide aggregate shown by list and detail views.

Required range: x >= 0
open_findings_count
integer
required

Trigger-maintained unresolved count for this individual review run. Prefer nested findings.unresolved.total for the PR-wide actionable aggregate.

Required range: x >= 0
max_open_score
number | null
required
duration
string | null
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
posted_at
string<date-time> | null
required
findings
object
required

PR-wide finding counts used by list and detail views. They combine the selected/latest run's reconciled findings with deduplicated fixed findings from earlier runs of the same pull request. The top-level severity totals cover that aggregate; unresolved covers findings still open or in progress, snoozed counts deliberately deferred findings, and fixed includes fixed history across runs.

vulnerabilities
object[]
required
status_detail_code
enum<string> | null

Reason code behind the current status. Set when the launch path or the infrastructure set the status, or when a completed scan ended early near its cost limit (budget_near_limit). null for an ordinary engine-owned status.

Available options:
sandbox_pending,
config_missing,
llm_not_configured,
secrets_missing,
connector_unavailable,
credentials_unreadable,
image_pull_failed,
pod_unschedulable,
pod_rejected,
container_config_failed,
volume_failed,
sandbox_ended,
sandbox_timeout,
docker_unavailable,
sandbox_create_failed,
launch_failed,
retest_already_running,
watchdog_timeout,
launch_no_telemetry,
relaunch_failed,
relaunches_exhausted,
engine_failed,
budget_near_limit
status_detail
string | null

Secret-free explanation of status_detail_code. Self-hosted installs return the exact infrastructure message, for example the Kubernetes scheduler message. The hosted product returns generic wording. For budget_near_limit every install returns the cost figures, for example The run used $96.13 of its $100.00 cost limit (96%)….

live_stage
string | null

What a running review is doing right now: Reading the changes, Investigating or Verifying. Reported every 30 seconds while the review runs and kept after it finishes. null when no status was reported.

live_status
string | null

One line on what the review is doing within live_stage, for example Tracing how partial refund amounts are validated.

live_status_at
string<date-time> | null

When live_stage and live_status were last reported.

requester_login
string | null

GitHub login of the comment author who requested this review; null for automatic, manual and older reviews.

trigger_reason
enum<string> | null

What started a webhook review: the PR was opened, a new commit was pushed (pr_synchronized), or Strix was mentioned. null for reviews started from the dashboard or the API.

Available options:
pr_opened,
pr_synchronized,
mention,
null
pr_summary
string | null

One or two sentences from the reviewing agent on what the pull request changes. Set when the review finishes.

ruled_out
object[] | null

Suspected issues the review checked and rejected, each with the reason it is not a vulnerability. Set when the review finishes.