Perforce · Capability

Perforce Helix Swarm API — Reviews

Perforce Helix Swarm API — Reviews. 12 operations. Lead operation: Perforce Get Action Dashboard Reviews. Self-contained Naftiko capability covering one Perforce business surface.

Run with Naftiko PerforceReviews

What You Can Do

GET
Getactiondashboard — Perforce Get Action Dashboard Reviews
/v1/dashboards/action
GET
Listreviews — Perforce List Reviews
/v1/reviews
POST
Createreview — Perforce Create a Review
/v1/reviews
POST
Archiveinactivereviews — Perforce Archive Inactive Reviews
/v1/reviews/archive
GET
Getreview — Perforce Get Review Details
/v1/reviews/{id}
PATCH
Updatereview — Perforce Update Review Description
/v1/reviews/{id}
POST
Addchangetoreview — Perforce Add Change to Review
/v1/reviews/{id}/changes
POST
Cleanupreview — Perforce Clean up a Review
/v1/reviews/{id}/cleanup
POST
Obliteratereview — Perforce Obliterate a Review
/v1/reviews/{id}/obliterate
PATCH
Transitionreviewstate — Perforce Transition Review State
/v1/reviews/{id}/state
GET
Getreviewtransitions — Perforce Get Review Transitions
/v1/reviews/{id}/transitions
POST
Setreviewvote — Perforce Set Vote on Review
/v1/reviews/{id}/vote

MCP Tools

perforce-get-action-dashboard-reviews

Perforce Get Action Dashboard Reviews

read-only idempotent
perforce-list-reviews

Perforce List Reviews

read-only idempotent
perforce-create-review

Perforce Create a Review

perforce-archive-inactive-reviews

Perforce Archive Inactive Reviews

perforce-get-review-details

Perforce Get Review Details

read-only idempotent
perforce-update-review-description

Perforce Update Review Description

idempotent
perforce-add-change-review

Perforce Add Change to Review

perforce-clean-up-review

Perforce Clean up a Review

perforce-obliterate-review

Perforce Obliterate a Review

perforce-transition-review-state

Perforce Transition Review State

idempotent
perforce-get-review-transitions

Perforce Get Review Transitions

read-only idempotent
perforce-set-vote-review

Perforce Set Vote on Review

Capability Spec

helix-swarm-reviews.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Perforce Helix Swarm API — Reviews
  description: 'Perforce Helix Swarm API — Reviews. 12 operations. Lead operation: Perforce Get Action Dashboard Reviews.
    Self-contained Naftiko capability covering one Perforce business surface.'
  tags:
  - Perforce
  - Reviews
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PERFORCE_API_KEY: PERFORCE_API_KEY
capability:
  consumes:
  - type: http
    namespace: helix-swarm-reviews
    baseUri: ''
    description: Perforce Helix Swarm API — Reviews business capability. Self-contained, no shared references.
    resources:
    - name: dashboards-action
      path: /dashboards/action
      operations:
      - name: getactiondashboard
        method: GET
        description: Perforce Get Action Dashboard Reviews
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: reviews
      path: /reviews/
      operations:
      - name: listreviews
        method: GET
        description: Perforce List Reviews
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: after
          in: query
          type: integer
          description: A review ID to seek past for pagination.
        - name: max
          in: query
          type: integer
          description: Maximum number of reviews to return. Defaults to 1000.
        - name: fields
          in: query
          type: string
          description: Comma-separated list of fields to include in the response.
        - name: author[]
          in: query
          type: array
          description: Filter reviews by one or more authors.
        - name: change[]
          in: query
          type: array
          description: Filter reviews by one or more changelist IDs.
        - name: hasReviewers
          in: query
          type: boolean
          description: Filter by whether reviewers are assigned.
        - name: ids[]
          in: query
          type: array
          description: Fetch specific reviews by their IDs.
        - name: keywords
          in: query
          type: string
          description: Keywords to search for in reviews.
        - name: participants[]
          in: query
          type: array
          description: Filter reviews by one or more participants.
        - name: project[]
          in: query
          type: array
          description: Filter reviews by one or more projects.
        - name: state[]
          in: query
          type: array
          description: Filter reviews by state. Valid values include needsReview, needsRevision, approved, archived, and rejected.
        - name: passesTests
          in: query
          type: boolean
          description: Filter reviews by whether tests have passed.
        - name: notUpdatedSince
          in: query
          type: string
          description: Filter reviews not updated since the given date (YYYY-mm-dd).
        - name: hasVoted
          in: query
          type: string
          description: Filter reviews by vote direction.
        - name: myComments
          in: query
          type: boolean
          description: Filter reviews that the authenticated user has commented on.
      - name: createreview
        method: POST
        description: Perforce Create a Review
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: reviews-archive
      path: /reviews/archive/
      operations:
      - name: archiveinactivereviews
        method: POST
        description: Perforce Archive Inactive Reviews
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: reviews-id
      path: /reviews/{id}
      operations:
      - name: getreview
        method: GET
        description: Perforce Get Review Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The review ID.
          required: true
        - name: fields
          in: query
          type: string
          description: Comma-separated list of fields to include in the response.
      - name: updatereview
        method: PATCH
        description: Perforce Update Review Description
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The review ID.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: reviews-id-changes
      path: /reviews/{id}/changes/
      operations:
      - name: addchangetoreview
        method: POST
        description: Perforce Add Change to Review
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The review ID.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: reviews-id-cleanup
      path: /reviews/{id}/cleanup
      operations:
      - name: cleanupreview
        method: POST
        description: Perforce Clean up a Review
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The review ID.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: reviews-id-obliterate
      path: /reviews/{id}/obliterate
      operations:
      - name: obliteratereview
        method: POST
        description: Perforce Obliterate a Review
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The review ID.
          required: true
    - name: reviews-id-state
      path: /reviews/{id}/state/
      operations:
      - name: transitionreviewstate
        method: PATCH
        description: Perforce Transition Review State
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The review ID.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: reviews-id-transitions
      path: /reviews/{id}/transitions
      operations:
      - name: getreviewtransitions
        method: GET
        description: Perforce Get Review Transitions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The review ID.
          required: true
        - name: upVoters
          in: query
          type: string
          description: Comma-separated list of users assumed to have voted up.
    - name: reviews-id-vote
      path: /reviews/{id}/vote/
      operations:
      - name: setreviewvote
        method: POST
        description: Perforce Set Vote on Review
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: The review ID.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: basic
      username: '{{env.PERFORCE_USER}}'
      password: '{{env.PERFORCE_PASS}}'
  exposes:
  - type: rest
    namespace: helix-swarm-reviews-rest
    port: 8080
    description: REST adapter for Perforce Helix Swarm API — Reviews. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/dashboards/action
      name: dashboards-action
      description: REST surface for dashboards-action.
      operations:
      - method: GET
        name: getactiondashboard
        description: Perforce Get Action Dashboard Reviews
        call: helix-swarm-reviews.getactiondashboard
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews
      name: reviews
      description: REST surface for reviews.
      operations:
      - method: GET
        name: listreviews
        description: Perforce List Reviews
        call: helix-swarm-reviews.listreviews
        with:
          after: rest.after
          max: rest.max
          fields: rest.fields
          author[]: rest.author[]
          change[]: rest.change[]
          hasReviewers: rest.hasReviewers
          ids[]: rest.ids[]
          keywords: rest.keywords
          participants[]: rest.participants[]
          project[]: rest.project[]
          state[]: rest.state[]
          passesTests: rest.passesTests
          notUpdatedSince: rest.notUpdatedSince
          hasVoted: rest.hasVoted
          myComments: rest.myComments
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createreview
        description: Perforce Create a Review
        call: helix-swarm-reviews.createreview
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews/archive
      name: reviews-archive
      description: REST surface for reviews-archive.
      operations:
      - method: POST
        name: archiveinactivereviews
        description: Perforce Archive Inactive Reviews
        call: helix-swarm-reviews.archiveinactivereviews
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews/{id}
      name: reviews-id
      description: REST surface for reviews-id.
      operations:
      - method: GET
        name: getreview
        description: Perforce Get Review Details
        call: helix-swarm-reviews.getreview
        with:
          id: rest.id
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatereview
        description: Perforce Update Review Description
        call: helix-swarm-reviews.updatereview
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews/{id}/changes
      name: reviews-id-changes
      description: REST surface for reviews-id-changes.
      operations:
      - method: POST
        name: addchangetoreview
        description: Perforce Add Change to Review
        call: helix-swarm-reviews.addchangetoreview
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews/{id}/cleanup
      name: reviews-id-cleanup
      description: REST surface for reviews-id-cleanup.
      operations:
      - method: POST
        name: cleanupreview
        description: Perforce Clean up a Review
        call: helix-swarm-reviews.cleanupreview
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews/{id}/obliterate
      name: reviews-id-obliterate
      description: REST surface for reviews-id-obliterate.
      operations:
      - method: POST
        name: obliteratereview
        description: Perforce Obliterate a Review
        call: helix-swarm-reviews.obliteratereview
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews/{id}/state
      name: reviews-id-state
      description: REST surface for reviews-id-state.
      operations:
      - method: PATCH
        name: transitionreviewstate
        description: Perforce Transition Review State
        call: helix-swarm-reviews.transitionreviewstate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews/{id}/transitions
      name: reviews-id-transitions
      description: REST surface for reviews-id-transitions.
      operations:
      - method: GET
        name: getreviewtransitions
        description: Perforce Get Review Transitions
        call: helix-swarm-reviews.getreviewtransitions
        with:
          id: rest.id
          upVoters: rest.upVoters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews/{id}/vote
      name: reviews-id-vote
      description: REST surface for reviews-id-vote.
      operations:
      - method: POST
        name: setreviewvote
        description: Perforce Set Vote on Review
        call: helix-swarm-reviews.setreviewvote
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: helix-swarm-reviews-mcp
    port: 9090
    transport: http
    description: MCP adapter for Perforce Helix Swarm API — Reviews. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: perforce-get-action-dashboard-reviews
      description: Perforce Get Action Dashboard Reviews
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: helix-swarm-reviews.getactiondashboard
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-list-reviews
      description: Perforce List Reviews
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: helix-swarm-reviews.listreviews
      with:
        after: tools.after
        max: tools.max
        fields: tools.fields
        author[]: tools.author[]
        change[]: tools.change[]
        hasReviewers: tools.hasReviewers
        ids[]: tools.ids[]
        keywords: tools.keywords
        participants[]: tools.participants[]
        project[]: tools.project[]
        state[]: tools.state[]
        passesTests: tools.passesTests
        notUpdatedSince: tools.notUpdatedSince
        hasVoted: tools.hasVoted
        myComments: tools.myComments
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-create-review
      description: Perforce Create a Review
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: helix-swarm-reviews.createreview
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-archive-inactive-reviews
      description: Perforce Archive Inactive Reviews
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: helix-swarm-reviews.archiveinactivereviews
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-get-review-details
      description: Perforce Get Review Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: helix-swarm-reviews.getreview
      with:
        id: tools.id
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-update-review-description
      description: Perforce Update Review Description
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: helix-swarm-reviews.updatereview
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-add-change-review
      description: Perforce Add Change to Review
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: helix-swarm-reviews.addchangetoreview
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-clean-up-review
      description: Perforce Clean up a Review
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: helix-swarm-reviews.cleanupreview
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-obliterate-review
      description: Perforce Obliterate a Review
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: helix-swarm-reviews.obliteratereview
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-transition-review-state
      description: Perforce Transition Review State
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: helix-swarm-reviews.transitionreviewstate
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-get-review-transitions
      description: Perforce Get Review Transitions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: helix-swarm-reviews.getreviewtransitions
      with:
        id: tools.id
        upVoters: tools.upVoters
      outputParameters:
      - type: object
        mapping: $.
    - name: perforce-set-vote-review
      description: Perforce Set Vote on Review
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: helix-swarm-reviews.setreviewvote
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.