Prosci Change Plans API

Create and manage change plans including communications, sponsorship, coaching, training, and resistance management

OpenAPI Specification

prosci-change-plans-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Prosci Change Management ADKAR Assessments Change Plans API
  description: API for managing organizational change initiatives using Prosci's research-based change management methodology. Provides access to change projects, ADKAR assessments, PCT (Prosci Change Triangle) assessments, stakeholder analyses, change plans, and training resources.
  version: 1.0.0
  contact:
    name: Prosci Support
    email: support@prosci.com
    url: https://www.prosci.com/contact
  license:
    name: Proprietary
    url: https://www.prosci.com/terms
  termsOfService: https://www.prosci.com/terms
servers:
- url: https://api.prosci.com/v1
  description: Production server
security:
- bearerAuth: []
- apiKeyAuth: []
tags:
- name: Change Plans
  description: Create and manage change plans including communications, sponsorship, coaching, training, and resistance management
paths:
  /projects/{projectId}/change-plans:
    get:
      operationId: listChangePlans
      summary: Prosci List change plans
      description: Retrieves change management plans for a project, including communications, sponsorship, coaching, training, and resistance management plans.
      tags:
      - Change Plans
      parameters:
      - $ref: '#/components/parameters/projectIdParam'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - name: planType
        in: query
        description: Filter by plan type
        schema:
          type: string
          enum:
          - communications
          - sponsorship
          - coaching
          - training
          - resistance-management
      responses:
        '200':
          description: A paginated list of change plans
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ChangePlan'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createChangePlan
      summary: Prosci Create a change plan
      description: Creates a new change management plan for a project.
      tags:
      - Change Plans
      parameters:
      - $ref: '#/components/parameters/projectIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangePlanCreate'
      responses:
        '201':
          description: Change plan created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangePlan'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /projects/{projectId}/change-plans/{planId}:
    get:
      operationId: getChangePlan
      summary: Prosci Get a change plan
      description: Retrieves a specific change management plan by identifier.
      tags:
      - Change Plans
      parameters:
      - $ref: '#/components/parameters/projectIdParam'
      - $ref: '#/components/parameters/planIdParam'
      responses:
        '200':
          description: The requested change plan
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangePlan'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateChangePlan
      summary: Prosci Update a change plan
      description: Updates an existing change management plan.
      tags:
      - Change Plans
      parameters:
      - $ref: '#/components/parameters/projectIdParam'
      - $ref: '#/components/parameters/planIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangePlanCreate'
      responses:
        '200':
          description: Change plan updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangePlan'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    ChangePlan:
      type: object
      description: A change management plan aligned with Prosci's methodology, covering key plan types for successful change adoption.
      properties:
        id:
          type: string
          description: Unique identifier for the plan
        projectId:
          type: string
          description: Identifier of the associated project
        planType:
          type: string
          enum:
          - communications
          - sponsorship
          - coaching
          - training
          - resistance-management
          description: Type of change management plan
        title:
          type: string
          description: Title of the plan
        description:
          type: string
          description: Description and objectives of the plan
        status:
          type: string
          enum:
          - draft
          - approved
          - in-progress
          - completed
          description: Current status of the plan
        targetAudience:
          type: array
          items:
            type: string
          description: Target audience groups for this plan
        activities:
          type: array
          items:
            $ref: '#/components/schemas/PlanActivity'
          description: Planned activities and milestones
        owner:
          type: string
          description: Person responsible for executing the plan
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
      - id
      - projectId
      - planType
      - title
      - status
    PlanActivityInput:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        dueDate:
          type: string
          format: date
        assignee:
          type: string
      required:
      - title
    ChangePlanCreate:
      type: object
      properties:
        planType:
          type: string
          enum:
          - communications
          - sponsorship
          - coaching
          - training
          - resistance-management
        title:
          type: string
        description:
          type: string
        targetAudience:
          type: array
          items:
            type: string
        activities:
          type: array
          items:
            $ref: '#/components/schemas/PlanActivityInput'
        owner:
          type: string
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
      required:
      - planType
      - title
    PlanActivity:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the activity
        title:
          type: string
          description: Title of the activity
        description:
          type: string
          description: Description of the activity
        dueDate:
          type: string
          format: date
          description: Due date for the activity
        status:
          type: string
          enum:
          - pending
          - in-progress
          - completed
          - cancelled
          description: Current status
        assignee:
          type: string
          description: Person assigned to this activity
      required:
      - id
      - title
      - status
    Pagination:
      type: object
      properties:
        total:
          type: integer
          description: Total number of items
        limit:
          type: integer
          description: Number of items per page
        offset:
          type: integer
          description: Current offset
        hasMore:
          type: boolean
          description: Whether more items are available
      required:
      - total
      - limit
      - offset
      - hasMore
    Error:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
          description: Detailed validation errors
      required:
      - code
      - message
  parameters:
    limitParam:
      name: limit
      in: query
      description: Maximum number of items to return
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    planIdParam:
      name: planId
      in: path
      required: true
      description: Unique identifier for the change plan
      schema:
        type: string
    offsetParam:
      name: offset
      in: query
      description: Number of items to skip for pagination
      schema:
        type: integer
        minimum: 0
        default: 0
    projectIdParam:
      name: projectId
      in: path
      required: true
      description: Unique identifier for the change project
      schema:
        type: string
  responses:
    BadRequest:
      description: The request was invalid or malformed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication credentials are missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtained from the Prosci authentication endpoint.
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key provided by Prosci for application access.