Practice review requests

Ask for a review of a piece of work now

Answers 200 both when a review starts and when one deliberately does not; the body says which, and why. 403 only when the caller has no standing on the artifact.

post/workspaces/{workspaceSlug}/practices/review-requests

Request

  • Base URL: / (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /workspaces/{workspaceSlug}/practices/review-requests
  • Auth: HTTP bearer

Path parameters

workspaceSlugstring required

Workspace slug

Request body

artifactIdinteger required

The artifact's internal id, as the trace and review listings report it

artifactKindstring required

The artifact kind's wire id, e.g. scm.pull_request. A raw string rather than a closed enum because kinds are an open vocabulary: a build that has never heard of a kind should refuse it by name, not fail to parse the request.

Example request

{
  "artifactKind": "scm.pull_request"
}

Response

The ask was understood: a review is running, or the body names what stopped it

jobIdstring uuid

The review that is now running; absent when none was started

reason'GATE_SKIPPED' | 'COOLDOWN_ACTIVE' | 'REQUEST_COOLDOWN_ACTIVE' | 'REQUESTER_QUOTA_EXHAUSTED' | 'CONCURRENT_DUPLICATE' | 'COALESCED' | 'OUT_OF_REVIEW_SCOPE' | 'BOT_AUTHOR' | 'BOT_REVIEWER' | 'STALE_ROLLOUT_REVISION' | 'WORKSPACE_INACTIVE' | 'PRACTICES_DISABLED' | 'NO_ACTIVE_PRACTICE' | 'REVIEW_MODEL_UNBOUND' | 'MEMBER_AI_DECLINED' | 'PERSON_DATA_ERASED' | 'PRACTICE_AUTONOMY_OFF' | 'BUDGET_EXHAUSTED' | 'SUBJECT_UNLINKED' | 'MERGE_ACTOR_UNAVAILABLE' | 'MODEL_UNAVAILABLE' | 'ARTIFACT_NOT_VISIBLE' | 'PENDING_DEADLINE_EXCEEDED' | 'ARTIFACT_GONE'

The controlled-vocabulary reason nothing was started; absent when a review was started

reasonDescriptionstring

The reason as one sentence for the person who asked. Render it verbatim: it is written next to the reason it explains so that every surface says the same thing, and a re-worded copy is how a screen and a support answer come to disagree.

status'SUBMITTED' | 'REFUSED' required

Whether a review is now running, or nothing was started

Changes

No recorded changes to this operation across all 1 revision of this API.