OpenAPI Specification
openapi: 3.1.0
info:
title: Prosci Change Management ADKAR Assessments Training 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: Training
description: Training programs and enrollment management
paths:
/training/programs:
get:
operationId: listTrainingPrograms
summary: Prosci List training programs
description: Retrieves available Prosci training and certification programs.
tags:
- Training
parameters:
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- name: format
in: query
description: Filter by delivery format
schema:
type: string
enum:
- in-person
- virtual
- on-demand
- name: programType
in: query
description: Filter by program type
schema:
type: string
enum:
- certification
- practitioner
- executive
- train-the-trainer
responses:
'200':
description: A paginated list of training programs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TrainingProgram'
pagination:
$ref: '#/components/schemas/Pagination'
'401':
$ref: '#/components/responses/Unauthorized'
/training/enrollments:
get:
operationId: listEnrollments
summary: Prosci List training enrollments
description: Retrieves training enrollments for the authenticated organization.
tags:
- Training
parameters:
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- name: status
in: query
description: Filter by enrollment status
schema:
type: string
enum:
- enrolled
- in-progress
- completed
- cancelled
responses:
'200':
description: A paginated list of enrollments
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Enrollment'
pagination:
$ref: '#/components/schemas/Pagination'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createEnrollment
summary: Prosci Enroll in a training program
description: Creates a new enrollment in a Prosci training program.
tags:
- Training
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EnrollmentCreate'
responses:
'201':
description: Enrollment created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Enrollment'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
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
schemas:
TrainingProgram:
type: object
properties:
id:
type: string
description: Unique identifier for the program
name:
type: string
description: Name of the training program
description:
type: string
description: Description of the program
programType:
type: string
enum:
- certification
- practitioner
- executive
- train-the-trainer
description: Type of training program
format:
type: string
enum:
- in-person
- virtual
- on-demand
description: Delivery format
durationDays:
type: integer
description: Duration of the program in days
certificationLevel:
type: string
enum:
- certified-change-practitioner
- certified-change-management-professional
- certified-instructor
description: Certification level awarded upon completion
prerequisites:
type: array
items:
type: string
description: Prerequisites for enrollment
url:
type: string
format: uri
description: URL for more information
required:
- id
- name
- programType
- format
EnrollmentCreate:
type: object
properties:
programId:
type: string
participantId:
type: string
participantName:
type: string
participantEmail:
type: string
format: email
required:
- programId
- participantId
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
Enrollment:
type: object
properties:
id:
type: string
description: Unique identifier for the enrollment
programId:
type: string
description: Identifier of the training program
programName:
type: string
description: Name of the training program
participantId:
type: string
description: Identifier of the participant
participantName:
type: string
description: Name of the participant
participantEmail:
type: string
format: email
description: Email of the participant
status:
type: string
enum:
- enrolled
- in-progress
- completed
- cancelled
description: Enrollment status
enrollmentDate:
type: string
format: date
description: Date of enrollment
completionDate:
type: string
format: date
description: Date of completion
certificationId:
type: string
description: Certification identifier upon successful completion
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- programId
- participantId
- status
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
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'
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.