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.