Skip to content

Review endpoints

This page is generated from the OpenAPI document of the API (src/Vellum.Web/openapi.json) when the documentation is built.

GET /api/projects/{projectId}/review/rules

Section titled “GET /api/projects/{projectId}/review/rules”
Status Meaning Body
200 OK array of RuleDto

GET /api/projects/{projectId}/review/findings

Section titled “GET /api/projects/{projectId}/review/findings”
Parameter In Type Required
projectId path string (uuid) yes
revisionId query string (uuid) no
branchId query string (uuid) no
Status Meaning Body
200 OK FindingsResponse
400 Bad Request ErrorResponse
413 Payload Too Large ErrorResponse

GET /api/projects/{projectId}/review/snapshots

Section titled “GET /api/projects/{projectId}/review/snapshots”
Parameter In Type Required
projectId path string (uuid) yes
Status Meaning Body
200 OK PageOfSnapshotSummary

POST /api/projects/{projectId}/review/snapshots

Section titled “POST /api/projects/{projectId}/review/snapshots”
Parameter In Type Required
projectId path string (uuid) yes

Request body (application/json): SaveSnapshotRequest

Field Type Required Notes
revisionId string (uuid) or null no
branchId string (uuid) or null no
note string or null no
Status Meaning Body
201 Created SnapshotDto
409 Conflict ErrorResponse

GET /api/projects/{projectId}/review/snapshots/{snapshotId}

Section titled “GET /api/projects/{projectId}/review/snapshots/{snapshotId}”
Parameter In Type Required
projectId path string (uuid) yes
snapshotId path string (uuid) yes
Status Meaning Body
200 OK SnapshotDto
404 Not Found ErrorResponse

DELETE /api/projects/{projectId}/review/snapshots/{snapshotId}

Section titled “DELETE /api/projects/{projectId}/review/snapshots/{snapshotId}”
Parameter In Type Required
projectId path string (uuid) yes
snapshotId path string (uuid) yes
Status Meaning Body
204 No Content none
404 Not Found ErrorResponse

PUT /api/projects/{projectId}/review/dispositions

Section titled “PUT /api/projects/{projectId}/review/dispositions”
Parameter In Type Required
projectId path string (uuid) yes

Request body (application/json): SetDispositionRequest

Field Type Required Notes
ruleId string yes
subjectId string (uuid) yes
status string yes
decisionId string (uuid) or null no
reason string or null no
revisionId string (uuid) or null no
branchId string (uuid) or null no
Status Meaning Body
200 OK FindingView
400 Bad Request ErrorResponse
403 Forbidden ErrorResponse
404 Not Found ErrorResponse
409 Conflict ErrorResponse

GET /api/projects/{projectId}/review/critiques

Section titled “GET /api/projects/{projectId}/review/critiques”
Parameter In Type Required
projectId path string (uuid) yes
Status Meaning Body
200 OK PageOfCritiqueSummary

POST /api/projects/{projectId}/review/critiques

Section titled “POST /api/projects/{projectId}/review/critiques”
Parameter In Type Required
projectId path string (uuid) yes

Request body (application/json): CritiqueRequest

Field Type Required Notes
question string or null no
focus array of string (uuid) or null no
branchId string (uuid) or null no
Status Meaning Body
200 OK AiUnavailable
201 Created CritiqueDto
400 Bad Request ErrorResponse
429 Too Many Requests ErrorResponse

GET /api/projects/{projectId}/review/critiques/{critiqueId}

Section titled “GET /api/projects/{projectId}/review/critiques/{critiqueId}”
Parameter In Type Required
projectId path string (uuid) yes
critiqueId path string (uuid) yes
Status Meaning Body
200 OK CritiqueDto
404 Not Found ErrorResponse

DELETE /api/projects/{projectId}/review/critiques/{critiqueId}

Section titled “DELETE /api/projects/{projectId}/review/critiques/{critiqueId}”
Parameter In Type Required
projectId path string (uuid) yes
critiqueId path string (uuid) yes
Status Meaning Body
204 No Content none
404 Not Found ErrorResponse

POST /api/projects/{projectId}/review/critiques/{critiqueId}/proposed-decisions/{index}/keep

Section titled “POST /api/projects/{projectId}/review/critiques/{critiqueId}/proposed-decisions/{index}/keep”
Parameter In Type Required
projectId path string (uuid) yes
critiqueId path string (uuid) yes
index path integer (int32) yes
Status Meaning Body
201 Created DecisionDto
404 Not Found ErrorResponse
409 Conflict ErrorResponse

POST /api/projects/{projectId}/review/critiques/{critiqueId}/questions/{index}/keep

Section titled “POST /api/projects/{projectId}/review/critiques/{critiqueId}/questions/{index}/keep”
Parameter In Type Required
projectId path string (uuid) yes
critiqueId path string (uuid) yes
index path integer (int32) yes
Status Meaning Body
201 Created QuestionDto
404 Not Found ErrorResponse
409 Conflict ErrorResponse