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.