Prosci Projects API

Manage change management projects

OpenAPI Specification

prosci-projects-api-openapi.yml Raw ↑
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.