Charthop comp-review API

The comp-review API from Charthop — 25 operation(s) for comp-review.

OpenAPI Specification

charthop-comp-review-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: REST API for ChartHop
  version: V1.0.0
  title: ChartHop access comp-review API
  contact:
    name: ChartHop
    url: https://www.charthop.com
    email: support@charthop.com
host: localhost
schemes:
- https
- http
consumes:
- application/json
produces:
- application/json
tags:
- name: comp-review
paths:
  /v1/org/{orgId}/comp-review:
    get:
      tags:
      - comp-review
      summary: Find comp reviews in the organization
      operationId: findCompReviews
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: from
        in: query
        description: Comp review ID to start paginating from
        required: false
        type: string
      - name: limit
        in: query
        description: Number of results to return
        required: false
        type: integer
        format: int32
      - name: returnAccess
        in: query
        description: 'Return access information -- pass a list of actions to check, for example: create,update,delete'
        required: false
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/ResultsCompReview'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
    post:
      tags:
      - comp-review
      summary: Create a comp review
      operationId: createCompReview
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: Comp review data to create
        required: true
        schema:
          $ref: '#/definitions/CreateCompReview'
      responses:
        '201':
          description: created
          schema:
            $ref: '#/definitions/CompReview'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/bulk/delete:
    post:
      tags:
      - comp-review
      summary: Delete a set of comp reviews
      operationId: bulkDelete
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: List of comp review ids to delete
        required: true
        schema:
          type: array
          items:
            type: string
            example: 588f7ee98f138b19220041a7
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid data
        '403':
          description: permission denied
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/bulk/duplicate:
    post:
      tags:
      - comp-review
      summary: Duplicate a set of comp reviews
      operationId: bulkDuplicate
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: body
        in: body
        description: List of comp review ids to duplicate
        required: true
        schema:
          type: array
          items:
            type: string
            example: 588f7ee98f138b19220041a7
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid data
        '403':
          description: permission denied
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}:
    get:
      tags:
      - comp-review
      summary: Return a particular comp review by ID
      operationId: getCompReviewById
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/CompReview'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
    patch:
      tags:
      - comp-review
      summary: Update a comp review
      operationId: updateCompReview
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Review id
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/UpdateCompReview'
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/CompReview'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
    delete:
      tags:
      - comp-review
      summary: Delete a comp review
      operationId: deleteCompReview
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      responses:
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/approval-requests:
    get:
      tags:
      - comp-review
      summary: Get a list of approval request responses for a given comp review
      operationId: getApprovalRequestsForCompReview
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: isPreview
        in: query
        required: false
        type: boolean
      responses:
        '200':
          description: successful operation
          schema:
            type: array
            items:
              $ref: '#/definitions/ApprovalRequestCompReviewResponse'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/approval-requests/{approvalRequestId}:
    patch:
      tags:
      - comp-review
      summary: Update approval request status, including any rollups
      operationId: updateApprovalRequestStatus
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: approvalRequestId
        in: path
        description: Approval request id
        required: true
        type: string
      - name: previewJobId
        in: query
        description: Preview-as job id
        required: false
        type: string
      - name: isFinalApproval
        in: query
        description: Updating the final stage status
        required: false
        type: boolean
      - name: collaboratorSelectedReviewerJobId
        in: query
        description: Reviewer job id a collaborator is working on
        required: false
        type: string
      - name: body
        in: body
        description: Approval request data to update
        required: true
        schema:
          $ref: '#/definitions/ApprovalRequestPatchBody'
      responses:
        '204':
          description: No Content
  /v1/org/{orgId}/comp-review/{compReviewId}/associated-entities:
    get:
      tags:
      - comp-review
      summary: Get the necessary caches on a specific date for a compensation review
      operationId: getAssociatedEntities
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/PartialAppEntities'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/audit-log:
    get:
      tags:
      - comp-review
      summary: Return past events, paginated, without payloads present
      operationId: getAuditLog
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: currentUserJobId
        in: query
        description: The jobId of the current user
        required: false
        type: string
      - name: isPreview
        in: query
        description: Is the audit log for a preview
        required: false
        type: boolean
      - name: limit
        in: query
        description: Number of results to return
        required: false
        type: integer
        format: int32
      - name: from
        in: query
        description: Timestamp to start search at
        required: false
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/ResultsEvent'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/conclude:
    post:
      tags:
      - comp-review
      summary: Concludes (or closes) the compensation review
      operationId: concludeReview
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: isFullyApproved
        in: query
        description: Whether is review fully approved on conclude (default false)
        required: false
        type: boolean
      responses:
        '200':
          description: successful operation
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/dry-run:
    post:
      tags:
      - comp-review
      summary: Preview changes that will occur when resuming a paused comp review
      operationId: dryRunUnpause
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/CompReviewDryRunResponse'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/duplicate:
    post:
      tags:
      - comp-review
      summary: Duplicate a comp review
      operationId: duplicate
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: body
        in: body
        description: Duplicate options
        required: true
        schema:
          $ref: '#/definitions/DuplicateCompReviewOptions'
      responses:
        '201':
          description: successful operation
          schema:
            $ref: '#/definitions/CompReview'
        '400':
          description: invalid data
        '403':
          description: permission denied
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/eligible-employees:
    get:
      tags:
      - comp-review
      summary: Get a list of employees eligible for a given comp review
      operationId: getEligibleEmployees
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: filterScenarioIds
        in: query
        description: Find ineligible employees under specific comp scenario managers
        required: false
        type: string
      - name: ineligible
        in: query
        description: Whether to get eligible or ineligible employees (defaults to eligible)
        required: false
        type: boolean
      - name: from
        in: query
        description: Job id to start paginating from
        required: false
        type: string
      - name: limit
        in: query
        description: Number of results to return
        required: false
        type: integer
        format: int32
      - name: fields
        in: query
        description: Table fields
        required: true
        type: string
      - name: format
        in: query
        description: Data format to use; default is json, can also use json-extended or json-readable
        required: false
        type: string
      - name: filter
        in: query
        description: Optional CQL filter to apply to employees
        required: false
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/ResultsData'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/export:
    post:
      tags:
      - comp-review
      summary: Export a comp review's changes
      operationId: exportChanges
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: body
        in: body
        description: Export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '201':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid data
        '403':
          description: permission denied
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/export/audit:
    post:
      tags:
      - comp-review
      summary: Export a comp review's audit log
      operationId: exportAuditLog
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: body
        in: body
        description: Export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '201':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid data
        '403':
          description: permission denied
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/export/comments:
    post:
      tags:
      - comp-review
      summary: Export a comp review's comments
      operationId: exportComments
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: body
        in: body
        description: Export options
        required: true
        schema:
          type: object
          additionalProperties:
            type: object
      responses:
        '201':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: invalid data
        '403':
          description: permission denied
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/generate:
    post:
      tags:
      - comp-review
      summary: Generate a compensation review
      operationId: generateCompReview
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: body
        in: body
        description: Whether this should be generated as a preview
        required: true
        schema:
          $ref: '#/definitions/GenerateCompReviewOptions'
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Process'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/in-cycle:
    get:
      tags:
      - comp-review
      summary: Get an overview for a given user in an in-cycle comp-review
      operationId: getInCycleView
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: scenariosOnly
        in: query
        required: false
        type: boolean
      - name: proposalOnly
        in: query
        required: false
        type: boolean
      - name: reviewsOnly
        in: query
        required: false
        type: boolean
      - name: columnsOnly
        in: query
        required: false
        type: boolean
      - name: isPreview
        in: query
        required: false
        type: boolean
      - name: jobId
        in: query
        required: false
        type: string
      - name: includeAllRequests
        in: query
        description: Allows users with multiple roles to request full access for owner or final approver roles
        required: false
        type: boolean
      - name: includeFeatures
        in: query
        required: false
        type: boolean
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/InCycleViewResponse'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/in-cycle/changes:
    get:
      tags:
      - comp-review
      summary: Get the changes for a set of scenarios in an in-cycle comp-review
      operationId: getInCycleChanges
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: approvalRequestId
        in: query
        description: Approval request id
        required: false
        type: string
      - name: isPreview
        in: query
        required: false
        type: boolean
      - name: jobId
        in: query
        required: false
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/InCycleViewChanges'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/in-cycle/changes/{changeId}:
    get:
      tags:
      - comp-review
      summary: Get the change data and guideline flags associated with an in-cycle change
      operationId: getInCycleChange
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: changeId
        in: path
        description: Change id
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/InCycleChange'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/in-cycle/collabicient:
    get:
      tags:
      - comp-review
      summary: Get a collaborator participant reviewer in-cycle comp-review
      operationId: getInCycleCollabicientView
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: scenariosOnly
        in: query
        required: false
        type: boolean
      - name: proposalOnly
        in: query
        required: false
        type: boolean
      - name: reviewsOnly
        in: query
        required: false
        type: boolean
      - name: columnsOnly
        in: query
        required: false
        type: boolean
      - name: isPreview
        in: query
        required: false
        type: boolean
      - name: collabicientJobId
        in: query
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/InCycleViewResponse'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/metadata:
    get:
      tags:
      - comp-review
      summary: Return metadata for a particular comp review by ID
      operationId: getCompReviewMetadata
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/CompReviewMetadata'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/pause:
    post:
      tags:
      - comp-review
      summary: Pauses the compensation review to allow for editing by an admin
      operationId: pauseReview
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      responses:
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/preview:
    post:
      tags:
      - comp-review
      summary: Generate tiering & preview for a compensation review
      operationId: previewCompReview
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/TiersResponse'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/send-reminder-email:
    post:
      tags:
      - comp-review
      summary: 'Send a reminder email to someone participating in a comp review '
      operationId: sendCompReviewReminderEmail
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: body
        in: body
        description: Approval request ID
        required: true
        schema:
          $ref: '#/definitions/SendReminderEmailOptions'
      responses:
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
  /v1/org/{orgId}/comp-review/{compReviewId}/visualizations:
    post:
      tags:
      - comp-review
      summary: Get data for visualizations for a comp review
      operationId: getVisualizations
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: orgId
        in: path
        description: Org identifier (either id or slug)
        required: true
        type: string
      - name: compReviewId
        in: path
        description: Comp review id
        required: true
        type: string
      - name: viewJobId
        in: query
        description: The job you would like to view as
        required: false
        type: string
      - name: preview
        in: query
        description: Are the visualizations for a preview
        required: false
        type: boolean
      - name: includeAllRequests
        in: query
        description: Allows users with multiple roles to request full access for owner or final approver roles
        required: false
        type: boolean
      - name: body
        in: body
        description: Options for visualizations
        required: true
        schema:
          $ref: '#/definitions/GetVisualizationsOptions'
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/CompReviewVisualizations'
        '400':
          description: bad request
        '401':
          description: not authorized
        '404':
          description: not found
definitions:
  ApprovalGroup:
    type: object
    required:
    - type
    - approvers
    properties:
      groupId:
        type: string
        description: globally unique id
        example: 588f7ee98f138b19220041a7
      type:
        type: string
        description: What type of group this is
        enum:
        - REVIEWER
        - COLLABORATOR
        - FINAL_APPROVER
      approvers:
        type: array
        description: approvers that make up the group
        items:
          $ref: '#/definitions/ApprovalGroupApprover'
      expandExpression:
        type: string
        description: optional custom expression to determine approval request tree
      minApproversNeeded:
        type: integer
        format: int32
        description: minimum number of approvers required in this group for approval (null means all approvers required)
  LogData:
    type: object
    required:
    - level
    - at
    - data
    properties:
      level:
        type: string
        enum:
        - INFO
        - WARN
        - ERROR
      at:
        type: string
        description: created timestamp
        example: '2017-01-24T13:57:52Z'
      message:
        type: string
      data:
        type: object
        additionalProperties:
          type: object
  CompReviewReviewerWorkbook:
    type: object
    required:
    - columns
    properties:
      columns:
        type: array
        description: ordering and settings of columns in workbook
        items:
          $ref: '#/definitions/CompReviewWorkbookColumn'
      numFrozenColumns:
        type: integer
        format: int32
        description: number of frozen columns at start of workbook
      moreInfoUrl:
        type: string
        description: optional link to see additional customer documentation
      moreInfoLabel:
        type: string
        description: optional label for additional customer documentation
      isEdited:
        type: boolean
        description: whether the default config has been modified
      allowReviewerApproverAuditLog:
        type: boolean
        description: allows all reviewers and approvers to view the audit log
  OwnershipChange:
    type: object
    required:
    - scenarioId
    - oldOwnerJobI

# --- truncated at 32 KB (132 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/charthop/refs/heads/main/openapi/charthop-comp-review-api-openapi.yml