Practice Catalog

Place a practice in the catalog

Moves the practice and sets its exact position in one atomic write; omit groupSlug for Unassigned

put/workspaces/{workspaceSlug}/practices/{practiceSlug}/placement

Request

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

Path parameters

workspaceSlugstring required

Workspace slug

practiceSlugstring required

Request body

groupSlugstring

Destination group slug; omit to place the practice in Unassigned

positioninteger required

Zero-based position in the destination

Example request

{
  "groupSlug": "review-ready-work",
  "position": 1
}

Response

Practice placed; the full updated practice list is returned

artifactKindstring required

Kind of work this practice reviews, read off its signals

createdAtstring date-time required

Timestamp when the practice was created

criteriastring required

Practice review criteria

displayOrderinteger required

Position within its group (lowest first); ties broken by name

groupSlugstring

Slug of the practice group this practice is bound to, if any

idinteger required

Practice ID

namestring required

Human-readable name

precomputeScriptstring

TypeScript/Node precompute script for static analysis before AI review

reviewWhenobject required

Automatic review state selections. An empty object imposes no state restrictions. Each selected dimension requires a nonempty set of non-null values offered by the work type descriptor. Values within a dimension are alternatives; all selected dimensions must match.

signalsstring[] required

Signals that start a practice review

slugstring required

URL-safe identifier unique within workspace

subject'AUTHOR' | 'ASSIGNEE' | 'REVIEWER' | 'MERGER' required
updatedAtstring date-time required

Timestamp when the practice was last updated

whatGoodLooksLikestring

Developer-facing exemplar (developer layer)

whyItMattersstring

Developer-facing rationale (developer layer)

Example response

[
  {
    "artifactKind": "scm.pull_request",
    "automatedReviewPolicy": {
      "insufficiencyReason": {
        "code": "RUNTIME_BEHAVIOR_NOT_OBSERVED"
      },
      "knownLimitations": [
        {
          "code": "RUNTIME_BEHAVIOR_NOT_OBSERVED"
        }
      ]
    },
    "automatedReviewWithdrawal": {
      "code": "RUNTIME_BEHAVIOR_NOT_OBSERVED"
    }
  }
]

Changes

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