Skip to main content
All review endpoints are under /api/reviews and require authentication.

List reviews

GET /api/reviews Returns a paginated list of review history records, optionally filtered by project, status, or date range.
curl -X GET "https://your-domain.com/api/reviews?page=1&pageSize=20" \
  -H "Authorization: Bearer <api-key>"
Query parameters
page
number
Page number (1-indexed). Default: 1.
pageSize
number
Items per page. Default: 20.
projectId
string
Filter by project UUID.
status
string
Filter by review status. Values: pending, completed, failed.
startDate
string
ISO 8601 start date for date range filter.
endDate
string
ISO 8601 end date for date range filter.
Response 200
data.items
array
List of review history objects.
data.stats
object
Aggregate statistics for the filtered result set.
meta.pagination
object
Standard pagination metadata.

Trigger a manual review

POST /api/reviews/trigger-manual-review Manually queues an AI review for a specific merge request or pull request. Returns 202 Accepted with a task ID you can poll for status. Requires the review:create permission.
curl -X POST https://your-domain.com/api/reviews/trigger-manual-review \
  -H "Authorization: Bearer <api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "<project-uuid>",
    "mrIid": 42,
    "sendToPlatform": true,
    "templateId": "<template-uuid>"
  }'
Request body
projectId
string
required
UUID of the project to review.
mrIid
number
required
Internal MR / PR number on the platform (the !42 or #42 number).
sendToPlatform
boolean
Whether to post review comments back to GitLab / GitHub. Defaults to the project setting.
templateId
string
UUID of the review template to use. Defaults to the project or global default.
Response 202
data.queued
boolean
true when the task was successfully queued.
data.task
object

Get review details

GET /api/reviews/:reviewId Returns full details for a single review.
curl -X GET https://your-domain.com/api/reviews/<review-uuid> \
  -H "Authorization: Bearer <api-key>"
reviewId
string
required
UUID of the review.
Response 200
data.review
object
Full review record. Same fields as the list response items, plus baseCommitSha, headCommitSha, roundNumber, appliedRuleIds, and reviewedLines.

List review comments

GET /api/reviews/:reviewId/comments Returns AI-generated comments for a review with optional filtering.
curl -X GET "https://your-domain.com/api/reviews/<review-uuid>/comments?severity=error" \
  -H "Authorization: Bearer <api-key>"
reviewId
string
required
UUID of the review.
filePath
string
Filter comments to a specific file path.
severity
string
Filter by severity. Values: info, warning, error.
limit
number
Maximum number of comments to return. Default: 20.
offset
number
Number of comments to skip for pagination. Default: 0.
Response 200
data.items
array

List review files

GET /api/reviews/:reviewId/files Returns the files that were reviewed.
reviewId
string
required
UUID of the review.
Response 200
data.files
array

Get file review progress

GET /api/reviews/:reviewId/files/progress Returns per-file processing progress and prompt summary for an in-progress or completed review.
reviewId
string
required
UUID of the review.
Response 200
data.files
array
Array of file progress objects, each containing the file path and current processing status.

Retry a single file review

POST /api/reviews/:reviewId/files/:fileId/retry Re-runs the AI review for a single file within an existing review. Requires review:create permission.
reviewId
string
required
UUID of the review.
fileId
string
required
UUID of the review file record to retry.

List review rounds

GET /api/reviews/:reviewId/rounds Returns all review rounds. Multi-round reviews are used for differential re-reviews after new commits.
reviewId
string
required
UUID of the review.
Response 200
data.rounds
array

List review feedbacks

GET /api/reviews/:reviewId/feedbacks Returns user feedback records (positive / negative) for a review’s comments.
reviewId
string
required
UUID of the review.
Response 200
data.feedbacks
array

Get AI call logs

GET /api/reviews/:reviewId/ai-logs Returns a log of every AI API call made during the review, including token usage and response times.
reviewId
string
required
UUID of the review.
limit
number
Maximum number of log entries to return. Default: 50, max: 200.
offset
number
Number of entries to skip. Default: 0.
provider
string
Filter by AI provider name.
status
string
Filter by call status (e.g., success, failed).
Response 200
data.items
array

Get execution logs

GET /api/reviews/:reviewId/logs Returns runner / executor execution logs for a review.
reviewId
string
required
UUID of the review.
Response 200
data
object
Execution log data for the review’s runner task.

List all review tasks

GET /api/reviews/tasks Returns a paginated list of all review queue tasks (both automatic and manual).
page
number
Page number. Default: 1.
pageSize
number
Items per page. Default: 20.
status
string
Filter by task status (e.g., pending, completed, failed).

Manual review helper endpoints

Get projects available for manual review

GET /api/reviews/manual/projects Returns projects that are enabled and can have a manual review triggered.

Get manual review history

GET /api/reviews/manual/history
limit
number
Number of recent entries to return. Min: 1, max: 20, default: 5.

Get merge requests for a project

GET /api/reviews/manual/merge-requests Fetches open MRs / PRs from the platform for use in the manual review dialog.
projectId
string
required
UUID of the project.
state
string
MR state filter: all | opened | merged | closed. Default: opened.
Search term to filter MRs by title.

Get recent manual tasks

GET /api/reviews/manual/tasks/recent
limit
number
Number of tasks to return. Default: 5.

Get manual task status

GET /api/reviews/manual/tasks/:taskId Poll the status of a specific manual review task.
taskId
string
required
Task ID returned by the trigger endpoint.
Response 200
data.task
object
Task record including id, status, reviewId, and timestamps.

List review templates

GET /api/reviews/templates/all Returns all available review prompt templates. Response 200
data.templates
array

List review rules

GET /api/reviews/rules/all Returns all configured review rules (file pattern matching, severity filters, etc.). Response 200
data.rules
array

Build docs developers (and LLMs) love