OpenAPI Specification
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.