Read the existing CodeRabbit review status for a pull request
curl --request GET \
--url https://api.coderabbit.ai/v1/repositories/{repository_id}/pull-requests/{pull_request_number}/review \
--header 'x-coderabbitai-api-key: <api-key>'import requests
url = "https://api.coderabbit.ai/v1/repositories/{repository_id}/pull-requests/{pull_request_number}/review"
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/repositories/{repository_id}/pull-requests/{pull_request_number}/review', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"head_sha": "<string>",
"review": {
"status": "reviewing",
"reason": "<string>",
"request_id": "<string>",
"target_commit_sha": "<string>",
"requested_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "forbidden",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "not_found",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "head_changed",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "precondition_failed",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "payload_too_large",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "internal_error",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "unavailable",
"message": "<string>",
"retry_after": 1
}
}Read the existing CodeRabbit review status for a pull request
Reads the existing Triage observation after checking current repository and pull-request access. Null means no usable observation is available, not proof that no review ran. The observed target commit can differ from the current provider head. Unconfirmed means progress has not been confirmed recently, not that execution stopped. This does not create or track a new review execution.
GET
/
v1
/
repositories
/
{repository_id}
/
pull-requests
/
{pull_request_number}
/
review
Read the existing CodeRabbit review status for a pull request
curl --request GET \
--url https://api.coderabbit.ai/v1/repositories/{repository_id}/pull-requests/{pull_request_number}/review \
--header 'x-coderabbitai-api-key: <api-key>'import requests
url = "https://api.coderabbit.ai/v1/repositories/{repository_id}/pull-requests/{pull_request_number}/review"
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/repositories/{repository_id}/pull-requests/{pull_request_number}/review', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"head_sha": "<string>",
"review": {
"status": "reviewing",
"reason": "<string>",
"request_id": "<string>",
"target_commit_sha": "<string>",
"requested_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "unauthenticated",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "forbidden",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "not_found",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "head_changed",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "precondition_failed",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "payload_too_large",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "internal_error",
"message": "<string>",
"retry_after": 1
}
}{
"error": {
"code": "unavailable",
"message": "<string>",
"retry_after": 1
}
}- CLI Tool
- MCP Server
coderabbit api request "/repositories/$REPOSITORY_ID/pull-requests/$PULL_REQUEST_NUMBER/review"
An agent connected to the CodeRabbit MCP server runs this operation as the
get_pull_request_review tool. The connection selects the organization, so the arguments have no org_id or org_name.{
"method": "tools/call",
"params": {
"name": "get_pull_request_review",
"arguments": {
"repository_id": "<repository_id>",
"pull_request_number": 1
}
}
}
Authorizations
See Authentication for the key types and where to create a key.
Path Parameters
Query Parameters
Organization for a workspace key: the Git-provider organization ID (scope.provider_organization_id) or the CodeRabbit organization ID (scope.id, or id from list organizations). Supply either org_id or org_name, never both. Omit for organization keys and MCP connections.
Minimum string length:
1Response
OK
Was this page helpful?