Prosci Stakeholders API

Manage stakeholders and impacted groups

OpenAPI Specification

prosci-stakeholders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Prosci Change Management ADKAR Assessments Stakeholders 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: Stakeholders
  description: Manage stakeholders and impacted groups
paths:
  /projects/{projectId}/stakeholders:
    get:
      operationId: listStakeholders
      summary: Prosci List stakeholders
      description: Retrieves stakeholders and impacted groups associated with a change project.
      tags:
      - Stakeholders
      parameters:
      - $ref: '#/components/parameters/projectIdParam'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - name: role
        in: query
        description: Filter stakeholders by role
        schema:
          type: string
          enum:
          - sponsor
          - manager
          - impacted-employee
          - change-practitioner
          - project-team
      responses:
        '200':
          description: A paginated list of stakeholders
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Stakeholder'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createStakeholder
      summary: Prosci Add a stakeholder
      description: Adds a new stakeholder or impacted group to a change project.
      tags:
      - Stakeholders
      parameters:
      - $ref: '#/components/parameters/projectIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StakeholderCreate'
      responses:
        '201':
          description: Stakeholder added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stakeholder'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    limitParam:
      name: limit
      in: query
      description: Maximum number of items to return
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    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'
  schemas:
    StakeholderCreate:
      type: object
      properties:
        name:
          type: string
        role:
          type: string
          enum:
          - sponsor
          - manager
          - impacted-employee
          - change-practitioner
          - project-team
        email:
          type: string
          format: email
        department:
          type: string
        impactLevel:
          type: string
          enum:
          - low
          - moderate
          - high
          - critical
        influenceLevel:
          type: string
          enum:
          - low
          - moderate
          - high
          - critical
        supportLevel:
          type: string
          enum:
          - resistant
          - neutral
          - supportive
          - champion
        isGroup:
          type: boolean
          default: false
        groupSize:
          type: integer
        notes:
          type: string
      required:
      - name
      - role
    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
    Stakeholder:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the stakeholder
        projectId:
          type: string
          description: Identifier of the associated project
        name:
          type: string
          description: Name of the stakeholder or group
        role:
          type: string
          enum:
          - sponsor
          - manager
          - impacted-employee
          - change-practitioner
          - project-team
          description: Role in the change initiative
        email:
          type: string
          format: email
          description: Email address
        department:
          type: string
          description: Department or business unit
        impactLevel:
          type: string
          enum:
          - low
          - moderate
          - high
          - critical
          description: Level of impact from the change
        influenceLevel:
          type: string
          enum:
          - low
          - moderate
          - high
          - critical
          description: Level of influence on the change outcome
        supportLevel:
          type: string
          enum:
          - resistant
          - neutral
          - supportive
          - champion
          description: Current level of support for the change
        isGroup:
          type: boolean
          description: Whether this represents a group rather than an individual
        groupSize:
          type: integer
          description: Number of people in the group if isGroup is true
        notes:
          type: string
          description: Additional notes
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
      - id
      - projectId
      - name
      - role
  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.