curl --request GET \
--url https://api.coderabbit.ai/v1/triage/changes \
--header 'x-coderabbitai-api-key: <api-key>'import requests
url = "https://api.coderabbit.ai/v1/triage/changes"
headers = {"x-coderabbitai-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-coderabbitai-api-key': '<api-key>'}};
fetch('https://api.coderabbit.ai/v1/triage/changes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.coderabbit.ai/v1/triage/changes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-coderabbitai-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.coderabbit.ai/v1/triage/changes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-coderabbitai-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.coderabbit.ai/v1/triage/changes")
.header("x-coderabbitai-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coderabbit.ai/v1/triage/changes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-coderabbitai-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"external_id": "<string>",
"provider": "github",
"provider_host": "<string>",
"url": "<string>",
"repository": {
"id": "<string>",
"owner": "<string>",
"name": "<string>"
},
"title": "<string>",
"state": "open",
"author": {
"id": "<string>",
"username": "<string>",
"name": "<string>"
},
"head_revision": "<string>",
"latest_commit_at": "2023-11-07T05:31:56Z",
"latest_reviewable_observed_at": "2023-11-07T05:31:56Z",
"opened_at": "2023-11-07T05:31:56Z",
"age_seconds": 4503599627370495,
"last_activity_at": "2023-11-07T05:31:56Z",
"last_human_activity_at": "2023-11-07T05:31:56Z",
"change_type": "bugfix",
"focus_state": "now",
"priority": {
"level": "p0",
"source": "calculated",
"reason": "<string>",
"reason_codes": [
"<string>"
],
"score": 50,
"confidence": 0.5,
"override": {
"level": "p0"
}
},
"close_candidate": {
"value": true,
"status": "available",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>",
"source": "manual",
"reason": "<string>"
},
"requires_attention": true,
"attention_reason_codes": [
"<string>"
],
"next_action": {
"kind": "merge",
"responsible_role": "author",
"responsible_users": [
{
"id": "<string>",
"username": "<string>",
"name": "<string>"
}
],
"reason_codes": [
"<string>"
],
"status": "available"
},
"review_status": {
"status": "available",
"value": "reviewed",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"approval_status": {
"status": "available",
"value": "approved",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"blast_radius": {
"status": "available",
"value": "low",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"merge_risk": {
"status": "available",
"value": {
"level": "low",
"score": 0.5,
"basis": "direct",
"reason": "<string>"
},
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"security_risk": {
"status": "available",
"value": {
"level": "minimal",
"reason": "<string>"
},
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"review_effort": {
"status": "available",
"value": 0.5,
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"review_depth": {
"status": "available",
"value": "light",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"group_key": "<string>",
"subgroup_key": "<string>"
}
],
"groups": [
{
"key": "<string>",
"label": "<string>",
"count": 4503599627370495,
"subgroups": [
{
"key": "<string>",
"label": "<string>",
"count": 4503599627370495
}
]
}
],
"next_cursor": "<string>",
"meta": {
"request_id": "<string>",
"org_id": "<string>",
"generated_at": "2023-11-07T05:31:56Z",
"total_count": 4503599627370495,
"limit": 50,
"view": "mine",
"team_id": "<string>",
"group_by": "none",
"subgroup_by": "none",
"order_by": "triage",
"order_direction": "asc"
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}List Triage changes
curl --request GET \
--url https://api.coderabbit.ai/v1/triage/changes \
--header 'x-coderabbitai-api-key: <api-key>'import requests
url = "https://api.coderabbit.ai/v1/triage/changes"
headers = {"x-coderabbitai-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-coderabbitai-api-key': '<api-key>'}};
fetch('https://api.coderabbit.ai/v1/triage/changes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.coderabbit.ai/v1/triage/changes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-coderabbitai-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.coderabbit.ai/v1/triage/changes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-coderabbitai-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.coderabbit.ai/v1/triage/changes")
.header("x-coderabbitai-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coderabbit.ai/v1/triage/changes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-coderabbitai-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"external_id": "<string>",
"provider": "github",
"provider_host": "<string>",
"url": "<string>",
"repository": {
"id": "<string>",
"owner": "<string>",
"name": "<string>"
},
"title": "<string>",
"state": "open",
"author": {
"id": "<string>",
"username": "<string>",
"name": "<string>"
},
"head_revision": "<string>",
"latest_commit_at": "2023-11-07T05:31:56Z",
"latest_reviewable_observed_at": "2023-11-07T05:31:56Z",
"opened_at": "2023-11-07T05:31:56Z",
"age_seconds": 4503599627370495,
"last_activity_at": "2023-11-07T05:31:56Z",
"last_human_activity_at": "2023-11-07T05:31:56Z",
"change_type": "bugfix",
"focus_state": "now",
"priority": {
"level": "p0",
"source": "calculated",
"reason": "<string>",
"reason_codes": [
"<string>"
],
"score": 50,
"confidence": 0.5,
"override": {
"level": "p0"
}
},
"close_candidate": {
"value": true,
"status": "available",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>",
"source": "manual",
"reason": "<string>"
},
"requires_attention": true,
"attention_reason_codes": [
"<string>"
],
"next_action": {
"kind": "merge",
"responsible_role": "author",
"responsible_users": [
{
"id": "<string>",
"username": "<string>",
"name": "<string>"
}
],
"reason_codes": [
"<string>"
],
"status": "available"
},
"review_status": {
"status": "available",
"value": "reviewed",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"approval_status": {
"status": "available",
"value": "approved",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"blast_radius": {
"status": "available",
"value": "low",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"merge_risk": {
"status": "available",
"value": {
"level": "low",
"score": 0.5,
"basis": "direct",
"reason": "<string>"
},
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"security_risk": {
"status": "available",
"value": {
"level": "minimal",
"reason": "<string>"
},
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"review_effort": {
"status": "available",
"value": 0.5,
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"review_depth": {
"status": "available",
"value": "light",
"observed_at": "2023-11-07T05:31:56Z",
"revision": "<string>"
},
"group_key": "<string>",
"subgroup_key": "<string>"
}
],
"groups": [
{
"key": "<string>",
"label": "<string>",
"count": 4503599627370495,
"subgroups": [
{
"key": "<string>",
"label": "<string>",
"count": 4503599627370495
}
]
}
],
"next_cursor": "<string>",
"meta": {
"request_id": "<string>",
"org_id": "<string>",
"generated_at": "2023-11-07T05:31:56Z",
"total_count": 4503599627370495,
"limit": 50,
"view": "mine",
"team_id": "<string>",
"group_by": "none",
"subgroup_by": "none",
"order_by": "triage",
"order_direction": "asc"
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "invalid_parameter",
"request_id": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
]
}priority of none differs from unassigned, and an unknown close recommendation differs from false.Authorizations
API key for authentication. You can create an API key from the CodeRabbit dashboard.
Query Parameters
One native provider organization ID; required for workspace and instance keys. Organization keys default to their bound organization. ALL is rejected. Response meta.org_id uses this same native identifier namespace. Native IDs that identify multiple active organizations in the key's workspace or instance are denied. Workspace keys retain existing consumption rules: the recorded owner must resolve through a unique selected-provider external account to a current workspace admin. Clerk-only owners and native IDs from another provider are not implicitly translated.
1 <= x <= 100Returned opaque cursor. Repeat the same filters, grouping, order, limit, and organization. Expires after 15 minutes; live pages may repeat/skip changes after reranking.
4096mine follows personal Triage eligibility. Use attention=required for the strict action queue. Team scope requires team_id and uses current Triage team matching.
mine, team Required with view=team; forbidden with view=mine.
One comma-separated value. Different filters combine with AND; values within this filter combine with OR.
20One comma-separated value. Different filters combine with AND; values within this filter combine with OR.
20github, gitlab, bitbucket, azure-devops, gerrit One comma-separated value. Different filters combine with AND; values within this filter combine with OR.
20p0, p1, p2, p3, none, unassigned true, false, unknown One comma-separated value. Different filters combine with AND; values within this filter combine with OR.
20bugfix, feature, refactor, unclassified One comma-separated value. Different filters combine with AND; values within this filter combine with OR.
20low, medium, high, unknown One comma-separated value. Different filters combine with AND; values within this filter combine with OR.
20low, medium, high, unknown One comma-separated value. Different filters combine with AND; values within this filter combine with OR.
20now, next, unassigned all, required, waiting, unknown Counts cover the full filtered accessible result. Grouping does not change global pagination.
none, focus_state, priority, repository, author Requires a distinct enabled group_by.
none, focus_state, priority, repository, author last_activity_at is human activity only. Filtering and sorting do not reallocate Now/Next.
triage, priority, last_activity_at, opened_at, external_id, title Omit for triage; otherwise defaults to asc for title and desc for other orders. Unknown values sort last.
asc, desc Response
Successful read, including an empty collection or unknown optional assessments.
Was this page helpful?