Reviews
Run a review
Review an open pull request using its resolved pipeline.
TypeScript SDKThe npm client, generated from the API spec.Python SDKThe PyPI client, sync and async.
| Method | Path | Required permissions |
|---|---|---|
| POST | /v1/reviews | write:reviews |
Token access
- API key
- Supported.
- CLI user token
- Supported.
- Sandbox token
- Requires the ellipsis:api scope and the required grants in the token's permissions.ellipsis configuration.
Higher permission levels include lower levels: read < write < delete.
Set post to false to inspect findings without posting to GitHub.
curl -X POST "https://api.ellipsis.dev/v1/reviews" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"owner": "your-org",
"repo": "api-repo",
"pull_request_number": 42,
"post": false
}'import os
from ellipsis import Ellipsis
from ellipsis import models
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
request = models.CreateReviewRequest.model_validate(
{
"owner": "your-org",
"repo": "api-repo",
"pull_request_number": 42,
"post": False
}
)
result = client.reviews.create(
request.owner,
request.pull_request_number,
request.repo,
post=request.post,
)
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const request: Parameters<typeof client.reviews.create>[0] = {
"owner": "your-org",
"repo": "api-repo",
"pull_request_number": 42,
"post": false
};
const result = await client.reviews.create(request);
console.log(result);Request
Example request body
{
"owner": "your-org",
"repo": "api-repo",
"pull_request_number": 42,
"post": false
}
Body parameters
ownerstringrequired
The repository owner's login.
postdefault
truebooleanWhether the review is posted to GitHub. Setting this false keeps the review API-only; it cannot force posting where posting is otherwise disabled.
pull_request_numberintegerrequired
The pull request to review.
repostringrequired
The repository name, without the owner.
scopeReviewScope
What range to review. Defaults to an incremental review of everything since the last review.
Response
Example response, 201
{
"budget_millicents": 0,
"completed_at": "string",
"cost_millicents": 0,
"created_at": "string",
"description_error": "string",
"description_outcome": "string",
"findings": [],
"id": "string",
"post": true,
"post_error": "string",
"posted_review_id": 0,
"review_body": "string",
"reviewed_commits": [],
"skip_reason": "string",
"stages": [],
"status": "string",
"trigger": "string"
}