OpenAPI Specification
openapi: 3.1.0
info:
title: Prosci Change Management ADKAR Assessments Projects 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: Projects
description: Manage change management projects
paths:
/projects:
get:
operationId: listProjects
summary: Prosci List change projects
description: Retrieves a paginated list of change management projects for the authenticated organization.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- name: status
in: query
description: Filter projects by status
schema:
type: string
enum:
- planning
- active
- completed
- on-hold
- cancelled
- name: sponsorId
in: query
description: Filter projects by executive sponsor identifier
schema:
type: string
responses:
'200':
description: A paginated list of change projects
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Project'
pagination:
$ref: '#/components/schemas/Pagination'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
post:
operationId: createProject
summary: Prosci Create a change project
description: Creates a new change management project.
tags:
- Projects
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectCreate'
responses:
'201':
description: Project created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
/projects/{projectId}:
get:
operationId: getProject
summary: Prosci Get a change project
description: Retrieves a specific change management project by identifier.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/projectIdParam'
responses:
'200':
description: The requested change project
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateProject
summary: Prosci Update a change project
description: Updates an existing change management project.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/projectIdParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectUpdate'
responses:
'200':
description: Project updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteProject
summary: Prosci Delete a change project
description: Deletes a change management project and associated data.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/projectIdParam'
responses:
'204':
description: Project deleted successfully
'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:
RateLimited:
description: Too many requests - rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
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'
UnprocessableEntity:
description: The request was well-formed but contained semantic errors
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
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
ProjectCreate:
type: object
properties:
name:
type: string
description: Name of the change project
description:
type: string
description: Detailed description of the change initiative
changeType:
type: string
enum:
- process
- technology
- organizational
- cultural
- merger-acquisition
- strategic
scope:
type: string
enum:
- department
- division
- organization
- enterprise
sponsorId:
type: string
changeManagerId:
type: string
impactedEmployeeCount:
type: integer
startDate:
type: string
format: date
targetCompletionDate:
type: string
format: date
required:
- name
- changeType
ProjectUpdate:
type: object
properties:
name:
type: string
description:
type: string
status:
type: string
enum:
- planning
- active
- completed
- on-hold
- cancelled
scope:
type: string
enum:
- department
- division
- organization
- enterprise
sponsorId:
type: string
changeManagerId:
type: string
impactedEmployeeCount:
type: integer
targetCompletionDate:
type: string
format: date
Project:
type: object
properties:
id:
type: string
description: Unique identifier for the project
name:
type: string
description: Name of the change project
description:
type: string
description: Detailed description of the change initiative
status:
type: string
enum:
- planning
- active
- completed
- on-hold
- cancelled
description: Current status of the project
changeType:
type: string
enum:
- process
- technology
- organizational
- cultural
- merger-acquisition
- strategic
description: Type of organizational change
scope:
type: string
enum:
- department
- division
- organization
- enterprise
description: Scope of the change initiative
sponsorId:
type: string
description: Identifier of the executive sponsor
sponsorName:
type: string
description: Name of the executive sponsor
changeManagerId:
type: string
description: Identifier of the change manager
changeManagerName:
type: string
description: Name of the assigned change manager
impactedEmployeeCount:
type: integer
description: Number of employees impacted by the change
startDate:
type: string
format: date
description: Project start date
targetCompletionDate:
type: string
format: date
description: Target completion date
organizationId:
type: string
description: Identifier of the parent organization
riskLevel:
type: string
enum:
- low
- moderate
- high
- critical
description: Overall risk level of the change
createdAt:
type: string
format: date-time
description: Timestamp when the project was created
updatedAt:
type: string
format: date-time
description: Timestamp when the project was last updated
required:
- id
- name
- status
- changeType
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
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.