Reviews
Reviews endpoints of the Ellipsis REST API.
`findings` is omitted (counters only). Webhook-created reviews appear here too, so this answers "show me every review on this PR".
curl "https://api.ellipsis.dev/reviews" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"reviews": [
{
"budget_millicents": 0,
"completed_at": "string",
"configuration": {
"config_id": "string",
"effective_yaml": "string",
"raw_yaml": "string"
},
"cost_millicents": 0,
"counters": {
"n_anchor_valid": 0,
"n_coerced": 0,
"n_dropped": 0,
"n_not_commentable": 0,
"n_parsed": 0,
"n_raw_lines": 0,
"n_snapped": 0,
"parser_version": "string"
},
"created_at": "string",
"description_error": "string",
"description_outcome": "string",
"findings": [],
"id": "string",
"post": true,
"post_error": "string",
"posted_review_id": 0,
"pull_request": {
"number": 0,
"url": "string"
},
"repository": {
"id": 0,
"name": "string",
"owner": "string"
},
"requested_by": {
"attribution_id": "string",
"attribution_type": "string"
},
"review_body": "string",
"reviewed_commits": [],
"scope": {
"empty": false,
"head": "string",
"kind": "incremental",
"watermark": "string"
},
"skip_reason": "string",
"stages": [],
"status": "string",
"trigger": "string"
}
]
}{
"properties": {
"reviews": {
"items": {
"properties": {
"budget_millicents": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"completed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"configuration": {
"anyOf": [
{
"properties": {
"config_id": {
"type": "string"
},
"effective_yaml": {
"type": "string"
},
"raw_yaml": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"config_id",
"effective_yaml"
],
"type": "object"
},
{
"type": "null"
}
]
},
"cost_millicents": {
"default": 0,
"type": "integer"
},
"counters": {
"anyOf": [
{
"properties": {
"n_anchor_valid": {
"default": 0,
"type": "integer"
},
"n_coerced": {
"default": 0,
"type": "integer"
},
"n_dropped": {
"default": 0,
"type": "integer"
},
"n_not_commentable": {
"default": 0,
"type": "integer"
},
"n_parsed": {
"default": 0,
"type": "integer"
},
"n_raw_lines": {
"default": 0,
"type": "integer"
},
"n_snapped": {
"default": 0,
"type": "integer"
},
"parser_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
{
"type": "null"
}
]
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description_outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"findings": {
"default": [],
"items": {
"properties": {
"agent_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"anchor": {
"enum": [
"valid",
"snapped",
"not_commentable"
],
"type": "string"
},
"category": {
"default": "other",
"type": "string"
},
"claim": {
"type": "string"
},
"confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"disposition": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end_line": {
"type": "integer"
},
"evidence": {
"default": "",
"type": "string"
},
"extra": {
"additionalProperties": true,
"default": {},
"type": "object"
},
"filter_verdict_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"in_scope": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"merged_into_finding_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"path": {
"type": "string"
},
"posted_comment_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"severity": {
"default": 3,
"type": "integer"
},
"side": {
"default": "RIGHT",
"type": "string"
},
"snapped_from": {
"anyOf": [
{
"maxItems": 2,
"minItems": 2,
"prefixItems": [
{
"type": "integer"
},
{
"type": "integer"
}
],
"type": "array"
},
{
"type": "null"
}
]
},
"stage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"start_line": {
"type": "integer"
},
"suggested_fix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"path",
"start_line",
"end_line",
"claim"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"post": {
"default": true,
"type": "boolean"
},
"post_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"posted_review_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"pull_request": {
"properties": {
"number": {
"type": "integer"
},
"url": {
"type": "string"
}
},
"required": [
"number",
"url"
],
"type": "object"
},
"repository": {
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"owner": {
"type": "string"
}
},
"required": [
"id",
"owner",
"name"
],
"type": "object"
},
"requested_by": {
"anyOf": [
{
"properties": {
"attribution_id": {
"type": "string"
},
"attribution_type": {
"type": "string"
}
},
"required": [
"attribution_type",
"attribution_id"
],
"type": "object"
},
{
"type": "null"
}
]
},
"review_body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"reviewed_commits": {
"default": [],
"items": {
"properties": {
"author_avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"author_login": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"authored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message": {
"type": "string"
},
"sha": {
"type": "string"
}
},
"required": [
"sha",
"message"
],
"type": "object"
},
"type": "array"
},
"scope": {
"properties": {
"empty": {
"type": "boolean"
},
"head": {
"type": "string"
},
"kind": {
"enum": [
"incremental",
"full"
],
"type": "string"
},
"watermark": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"watermark",
"head",
"empty"
],
"type": "object"
},
"skip_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"stages": {
"default": [],
"items": {
"properties": {
"agent_name": {
"type": "string"
},
"cost_millicents": {
"default": 0,
"type": "integer"
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"finalized_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"n_findings": {
"default": 0,
"type": "integer"
},
"session_id": {
"type": "string"
},
"stage": {
"type": "string"
},
"status": {
"type": "string"
},
"status_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"stage",
"agent_name",
"session_id",
"status"
],
"type": "object"
},
"type": "array"
},
"status": {
"type": "string"
},
"trigger": {
"type": "string"
}
},
"required": [
"id",
"status",
"trigger",
"repository",
"pull_request",
"scope"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"reviews"
],
"type": "object"
}Request
scheduledrunningpostingcompletedskippederrorcancelled50integerResponses
Reviews an existing PR or a pushed branch (for a branch, the platform finds or creates a draft PR for it, since a code review is structurally about a PR). A review is one pipeline run over one commit range, with one agent session per stage: `review.id` is the run id, and `stages[].session_id` is where a client streams (/sessions/{id}/stream on a stage session), since the review itself is a pipeline rather than one process.
curl -X POST "https://api.ellipsis.dev/reviews" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"owner": "...",
"pull_request_number": 0,
"repo": "..."
}'{
"budget_millicents": 0,
"completed_at": "string",
"configuration": {
"config_id": "string",
"effective_yaml": "string",
"raw_yaml": "string"
},
"cost_millicents": 0,
"counters": {
"n_anchor_valid": 0,
"n_coerced": 0,
"n_dropped": 0,
"n_not_commentable": 0,
"n_parsed": 0,
"n_raw_lines": 0,
"n_snapped": 0,
"parser_version": "string"
},
"created_at": "string",
"description_error": "string",
"description_outcome": "string",
"findings": [],
"id": "string",
"post": true,
"post_error": "string",
"posted_review_id": 0,
"pull_request": {
"number": 0,
"url": "string"
},
"repository": {
"id": 0,
"name": "string",
"owner": "string"
},
"requested_by": {
"attribution_id": "string",
"attribution_type": "string"
},
"review_body": "string",
"reviewed_commits": [],
"scope": {
"empty": false,
"head": "string",
"kind": "incremental",
"watermark": "string"
},
"skip_reason": "string",
"stages": [],
"status": "string",
"trigger": "string"
}{
"properties": {
"owner": {
"type": "string"
},
"post": {
"default": true,
"type": "boolean"
},
"pull_request_number": {
"type": "integer"
},
"repo": {
"type": "string"
},
"scope": {
"properties": {
"head": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"kind": {
"enum": [
"incremental",
"full"
],
"type": "string"
},
"watermark": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
}
},
"required": [
"owner",
"repo",
"pull_request_number"
],
"type": "object"
}{
"properties": {
"budget_millicents": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"completed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"configuration": {
"anyOf": [
{
"properties": {
"config_id": {
"type": "string"
},
"effective_yaml": {
"type": "string"
},
"raw_yaml": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"config_id",
"effective_yaml"
],
"type": "object"
},
{
"type": "null"
}
]
},
"cost_millicents": {
"default": 0,
"type": "integer"
},
"counters": {
"anyOf": [
{
"properties": {
"n_anchor_valid": {
"default": 0,
"type": "integer"
},
"n_coerced": {
"default": 0,
"type": "integer"
},
"n_dropped": {
"default": 0,
"type": "integer"
},
"n_not_commentable": {
"default": 0,
"type": "integer"
},
"n_parsed": {
"default": 0,
"type": "integer"
},
"n_raw_lines": {
"default": 0,
"type": "integer"
},
"n_snapped": {
"default": 0,
"type": "integer"
},
"parser_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
{
"type": "null"
}
]
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description_outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"findings": {
"default": [],
"items": {
"properties": {
"agent_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"anchor": {
"enum": [
"valid",
"snapped",
"not_commentable"
],
"type": "string"
},
"category": {
"default": "other",
"type": "string"
},
"claim": {
"type": "string"
},
"confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"disposition": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end_line": {
"type": "integer"
},
"evidence": {
"default": "",
"type": "string"
},
"extra": {
"additionalProperties": true,
"default": {},
"type": "object"
},
"filter_verdict_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"in_scope": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"merged_into_finding_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"path": {
"type": "string"
},
"posted_comment_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"severity": {
"default": 3,
"type": "integer"
},
"side": {
"default": "RIGHT",
"type": "string"
},
"snapped_from": {
"anyOf": [
{
"maxItems": 2,
"minItems": 2,
"prefixItems": [
{
"type": "integer"
},
{
"type": "integer"
}
],
"type": "array"
},
{
"type": "null"
}
]
},
"stage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"start_line": {
"type": "integer"
},
"suggested_fix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"path",
"start_line",
"end_line",
"claim"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"post": {
"default": true,
"type": "boolean"
},
"post_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"posted_review_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"pull_request": {
"properties": {
"number": {
"type": "integer"
},
"url": {
"type": "string"
}
},
"required": [
"number",
"url"
],
"type": "object"
},
"repository": {
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"owner": {
"type": "string"
}
},
"required": [
"id",
"owner",
"name"
],
"type": "object"
},
"requested_by": {
"anyOf": [
{
"properties": {
"attribution_id": {
"type": "string"
},
"attribution_type": {
"type": "string"
}
},
"required": [
"attribution_type",
"attribution_id"
],
"type": "object"
},
{
"type": "null"
}
]
},
"review_body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"reviewed_commits": {
"default": [],
"items": {
"properties": {
"author_avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"author_login": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"authored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message": {
"type": "string"
},
"sha": {
"type": "string"
}
},
"required": [
"sha",
"message"
],
"type": "object"
},
"type": "array"
},
"scope": {
"properties": {
"empty": {
"type": "boolean"
},
"head": {
"type": "string"
},
"kind": {
"enum": [
"incremental",
"full"
],
"type": "string"
},
"watermark": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"watermark",
"head",
"empty"
],
"type": "object"
},
"skip_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"stages": {
"default": [],
"items": {
"properties": {
"agent_name": {
"type": "string"
},
"cost_millicents": {
"default": 0,
"type": "integer"
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"finalized_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"n_findings": {
"default": 0,
"type": "integer"
},
"session_id": {
"type": "string"
},
"stage": {
"type": "string"
},
"status": {
"type": "string"
},
"status_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"stage",
"agent_name",
"session_id",
"status"
],
"type": "object"
},
"type": "array"
},
"status": {
"type": "string"
},
"trigger": {
"type": "string"
}
},
"required": [
"id",
"status",
"trigger",
"repository",
"pull_request",
"scope"
],
"type": "object"
}Request
The repository owner's login.
truebooleanWhether the review is posted to GitHub. Setting this false keeps the review API-only; it cannot force posting where posting is otherwise disabled.
The pull request to review.
The repository name, without the owner.
What range to review. Defaults to an incremental review of everything since the last review.
Responses
Includes its scope, the per-stage sessions, the parsed findings, the finding counters, and the posting outcome. Findings only exist after a stage session finalizes — a running review honestly reports [] / null, which is why a client streams a stage session and then re-fetches the review.
curl "https://api.ellipsis.dev/reviews/{review_id}" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"budget_millicents": 0,
"completed_at": "string",
"configuration": {
"config_id": "string",
"effective_yaml": "string",
"raw_yaml": "string"
},
"cost_millicents": 0,
"counters": {
"n_anchor_valid": 0,
"n_coerced": 0,
"n_dropped": 0,
"n_not_commentable": 0,
"n_parsed": 0,
"n_raw_lines": 0,
"n_snapped": 0,
"parser_version": "string"
},
"created_at": "string",
"description_error": "string",
"description_outcome": "string",
"findings": [],
"id": "string",
"post": true,
"post_error": "string",
"posted_review_id": 0,
"pull_request": {
"number": 0,
"url": "string"
},
"repository": {
"id": 0,
"name": "string",
"owner": "string"
},
"requested_by": {
"attribution_id": "string",
"attribution_type": "string"
},
"review_body": "string",
"reviewed_commits": [],
"scope": {
"empty": false,
"head": "string",
"kind": "incremental",
"watermark": "string"
},
"skip_reason": "string",
"stages": [],
"status": "string",
"trigger": "string"
}{
"properties": {
"budget_millicents": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"completed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"configuration": {
"anyOf": [
{
"properties": {
"config_id": {
"type": "string"
},
"effective_yaml": {
"type": "string"
},
"raw_yaml": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"config_id",
"effective_yaml"
],
"type": "object"
},
{
"type": "null"
}
]
},
"cost_millicents": {
"default": 0,
"type": "integer"
},
"counters": {
"anyOf": [
{
"properties": {
"n_anchor_valid": {
"default": 0,
"type": "integer"
},
"n_coerced": {
"default": 0,
"type": "integer"
},
"n_dropped": {
"default": 0,
"type": "integer"
},
"n_not_commentable": {
"default": 0,
"type": "integer"
},
"n_parsed": {
"default": 0,
"type": "integer"
},
"n_raw_lines": {
"default": 0,
"type": "integer"
},
"n_snapped": {
"default": 0,
"type": "integer"
},
"parser_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
{
"type": "null"
}
]
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description_outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"findings": {
"default": [],
"items": {
"properties": {
"agent_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"anchor": {
"enum": [
"valid",
"snapped",
"not_commentable"
],
"type": "string"
},
"category": {
"default": "other",
"type": "string"
},
"claim": {
"type": "string"
},
"confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"disposition": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end_line": {
"type": "integer"
},
"evidence": {
"default": "",
"type": "string"
},
"extra": {
"additionalProperties": true,
"default": {},
"type": "object"
},
"filter_verdict_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"in_scope": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"merged_into_finding_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"path": {
"type": "string"
},
"posted_comment_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"severity": {
"default": 3,
"type": "integer"
},
"side": {
"default": "RIGHT",
"type": "string"
},
"snapped_from": {
"anyOf": [
{
"maxItems": 2,
"minItems": 2,
"prefixItems": [
{
"type": "integer"
},
{
"type": "integer"
}
],
"type": "array"
},
{
"type": "null"
}
]
},
"stage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"start_line": {
"type": "integer"
},
"suggested_fix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"path",
"start_line",
"end_line",
"claim"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"post": {
"default": true,
"type": "boolean"
},
"post_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"posted_review_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"pull_request": {
"properties": {
"number": {
"type": "integer"
},
"url": {
"type": "string"
}
},
"required": [
"number",
"url"
],
"type": "object"
},
"repository": {
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"owner": {
"type": "string"
}
},
"required": [
"id",
"owner",
"name"
],
"type": "object"
},
"requested_by": {
"anyOf": [
{
"properties": {
"attribution_id": {
"type": "string"
},
"attribution_type": {
"type": "string"
}
},
"required": [
"attribution_type",
"attribution_id"
],
"type": "object"
},
{
"type": "null"
}
]
},
"review_body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"reviewed_commits": {
"default": [],
"items": {
"properties": {
"author_avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"author_login": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"authored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message": {
"type": "string"
},
"sha": {
"type": "string"
}
},
"required": [
"sha",
"message"
],
"type": "object"
},
"type": "array"
},
"scope": {
"properties": {
"empty": {
"type": "boolean"
},
"head": {
"type": "string"
},
"kind": {
"enum": [
"incremental",
"full"
],
"type": "string"
},
"watermark": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"watermark",
"head",
"empty"
],
"type": "object"
},
"skip_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"stages": {
"default": [],
"items": {
"properties": {
"agent_name": {
"type": "string"
},
"cost_millicents": {
"default": 0,
"type": "integer"
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"finalized_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"n_findings": {
"default": 0,
"type": "integer"
},
"session_id": {
"type": "string"
},
"stage": {
"type": "string"
},
"status": {
"type": "string"
},
"status_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"stage",
"agent_name",
"session_id",
"status"
],
"type": "object"
},
"type": "array"
},
"status": {
"type": "string"
},
"trigger": {
"type": "string"
}
},
"required": [
"id",
"status",
"trigger",
"repository",
"pull_request",
"scope"
],
"type": "object"
}