Perforce Changes API

Endpoints for inspecting changelists and their relationships.

Operations 3

GET /changes/{change}/affectsprojects Perforce Get Projects Affected by Change #
GET /changes/{change}/defaultreviewers Perforce Get Default Reviewers for Change #
GET /changes/{id}/check Perforce Check Change Against Workflow Rules #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/perforce-changes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

perforce-changes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Perforce Helix Swarm Changes API
  version: '9'
  description: 'REST API for Perforce Helix Swarm (P4 Code Review), providing programmatic

    access to code reviews, changelists, comments, activity streams, and project

    management.'
  contact:
    name: Perforce Support
    url: https://www.perforce.com/support
  license:
    name: Proprietary
    url: https://www.perforce.com/terms-use
  termsOfService: https://www.perforce.com/terms-use
servers:
- url: '{scheme}://{host}/api/v9'
  description: Helix Swarm server instance
  variables:
    scheme:
      default: https
      enum:
      - https
      - http
      description: The protocol scheme.
    host:
      default: swarm.example.com
      description: The hostname of your Helix Swarm instance.
security:
- basicAuth: []
tags:
- name: Changes
  description: Endpoints for inspecting changelists and their relationships.
paths:
  /changes/{change}/affectsprojects:
    get:
      operationId: getChangeAffectsProjects
      summary: Perforce Get Projects Affected by Change
      description: Retrieves the projects and branches that are affected by a given changelist.
      tags:
      - Changes
      parameters:
      - name: change
        in: path
        required: true
        description: The changelist number.
        schema:
          type: integer
        example: 10
      responses:
        '200':
          description: Projects and branches affected by the changelist.
          content:
            application/json:
              schema:
                type: object
                properties:
                  change:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: The changelist number.
                      projects:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                        description: Map of project names to arrays of affected branch names.
              examples:
                Getchangeaffectsprojects200Example:
                  summary: Default getChangeAffectsProjects 200 response
                  x-microcks-default: true
                  value:
                    change:
                      id: abc123
                      projects: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /changes/{change}/defaultreviewers:
    get:
      operationId: getChangeDefaultReviewers
      summary: Perforce Get Default Reviewers for Change
      description: Retrieves the default reviewers configured for the branches and projects affected by a changelist.
      tags:
      - Changes
      parameters:
      - name: change
        in: path
        required: true
        description: The changelist number.
        schema:
          type: integer
        example: 10
      responses:
        '200':
          description: Default reviewers for the changelist.
          content:
            application/json:
              schema:
                type: object
                properties:
                  change:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: The changelist number.
                      defaultReviewers:
                        type: object
                        properties:
                          groups:
                            type: array
                            items:
                              type: object
                              properties:
                                name:
                                  type: string
                                required:
                                  type: boolean
                          users:
                            type: array
                            items:
                              type: object
                              properties:
                                name:
                                  type: string
                                required:
                                  type: boolean
              examples:
                Getchangedefaultreviewers200Example:
                  summary: Default getChangeDefaultReviewers 200 response
                  x-microcks-default: true
                  value:
                    change:
                      id: abc123
                      defaultReviewers:
                        groups:
                        - name: Example Title
                          required: true
                        users:
                        - name: Example Title
                          required: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /changes/{id}/check:
    get:
      operationId: checkChange
      summary: Perforce Check Change Against Workflow Rules
      description: Performs configured workflow checks on a changelist, validating it against enforced, strict, or shelve rules.
      tags:
      - Changes
      parameters:
      - name: id
        in: path
        required: true
        description: The changelist number.
        schema:
          type: integer
        example: abc123
      - name: type
        in: query
        required: true
        description: The type of check to perform.
        schema:
          type: string
          enum:
          - enforced
          - strict
          - shelve
        example: enforced
      responses:
        '200':
          description: Check results.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: The overall status of the check.
                  isValid:
                    type: boolean
                    description: Whether the changelist passes the check.
                  messages:
                    type: array
                    items:
                      type: string
                    description: Descriptive messages about check results.
              examples:
                Checkchange200Example:
                  summary: Default checkChange 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    isValid: '500123'
                    messages:
                    - example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                description: A human-readable error message.
    Unauthorized:
      description: Authentication is required or the provided credentials are invalid.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                description: A human-readable error message.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using Perforce username and password or ticket. The password can be a standard Perforce password or a Swarm-generated API ticket.
externalDocs:
  description: Helix Swarm API Documentation
  url: https://help.perforce.com/helix-core/helix-swarm/swarm/current/Content/Swarm/swarm-apidoc_endpoints.html