Charthop comp-review API
The comp-review API from Charthop — 25 operation(s) for comp-review.
The comp-review API from Charthop — 25 operation(s) for comp-review.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/charthop-comp-review-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.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
servers:
- url: https://localhost
- url: http://localhost
tags:
- name: comp-review
paths:
/v1/org/{orgId}/comp-review:
get:
tags:
- comp-review
summary: Find comp reviews in the organization
operationId: findCompReviews
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: from
in: query
description: Comp review ID to start paginating from
required: false
schema:
type: string
- name: limit
in: query
description: Number of results to return
required: false
schema:
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
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ResultsCompReview'
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
post:
tags:
- comp-review
summary: Create a comp review
operationId: createCompReview
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
responses:
'201':
description: created
content:
application/json:
schema:
$ref: '#/components/schemas/CompReview'
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCompReview'
description: Comp review data to create
required: true
/v1/org/{orgId}/comp-review/bulk/delete:
post:
tags:
- comp-review
summary: Delete a set of comp reviews
operationId: bulkDelete
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Process'
'400':
description: invalid data
'403':
description: permission denied
'404':
description: not found
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
example: 588f7ee98f138b19220041a7
description: List of comp review ids to delete
required: true
/v1/org/{orgId}/comp-review/bulk/duplicate:
post:
tags:
- comp-review
summary: Duplicate a set of comp reviews
operationId: bulkDuplicate
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Process'
'400':
description: invalid data
'403':
description: permission denied
'404':
description: not found
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
example: 588f7ee98f138b19220041a7
description: List of comp review ids to duplicate
required: true
/v1/org/{orgId}/comp-review/{compReviewId}:
get:
tags:
- comp-review
summary: Return a particular comp review by ID
operationId: getCompReviewById
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CompReview'
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
patch:
tags:
- comp-review
summary: Update a comp review
operationId: updateCompReview
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Review id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CompReview'
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCompReview'
required: true
delete:
tags:
- comp-review
summary: Delete a comp review
operationId: deleteCompReview
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: isPreview
in: query
required: false
schema:
type: boolean
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: approvalRequestId
in: path
description: Approval request id
required: true
schema:
type: string
- name: previewJobId
in: query
description: Preview-as job id
required: false
schema:
type: string
- name: isFinalApproval
in: query
description: Updating the final stage status
required: false
schema:
type: boolean
- name: collaboratorSelectedReviewerJobId
in: query
description: Reviewer job id a collaborator is working on
required: false
schema:
type: string
responses:
'204':
description: No Content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApprovalRequestPatchBody'
description: Approval request data to update
required: true
/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: currentUserJobId
in: query
description: The jobId of the current user
required: false
schema:
type: string
- name: isPreview
in: query
description: Is the audit log for a preview
required: false
schema:
type: boolean
- name: limit
in: query
description: Number of results to return
required: false
schema:
type: integer
format: int32
- name: from
in: query
description: Timestamp to start search at
required: false
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: isFullyApproved
in: query
description: Whether is review fully approved on conclude (default false)
required: false
schema:
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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'201':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CompReview'
'400':
description: invalid data
'403':
description: permission denied
'404':
description: not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DuplicateCompReviewOptions'
description: Duplicate options
required: true
/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: filterScenarioIds
in: query
description: Find ineligible employees under specific comp scenario managers
required: false
schema:
type: string
- name: ineligible
in: query
description: Whether to get eligible or ineligible employees (defaults to eligible)
required: false
schema:
type: boolean
- name: from
in: query
description: Job id to start paginating from
required: false
schema:
type: string
- name: limit
in: query
description: Number of results to return
required: false
schema:
type: integer
format: int32
- name: fields
in: query
description: Table fields
required: true
schema:
type: string
- name: format
in: query
description: Data format to use; default is json, can also use json-extended or json-readable
required: false
schema:
type: string
- name: filter
in: query
description: Optional CQL filter to apply to employees
required: false
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'201':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Process'
'400':
description: invalid data
'403':
description: permission denied
'404':
description: not found
requestBody:
content:
application/json:
schema:
type: object
additionalProperties:
type: object
description: Export options
required: true
/v1/org/{orgId}/comp-review/{compReviewId}/export/audit:
post:
tags:
- comp-review
summary: Export a comp review's audit log
operationId: exportAuditLog
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'201':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Process'
'400':
description: invalid data
'403':
description: permission denied
'404':
description: not found
requestBody:
content:
application/json:
schema:
type: object
additionalProperties:
type: object
description: Export options
required: true
/v1/org/{orgId}/comp-review/{compReviewId}/export/comments:
post:
tags:
- comp-review
summary: Export a comp review's comments
operationId: exportComments
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'201':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Process'
'400':
description: invalid data
'403':
description: permission denied
'404':
description: not found
requestBody:
content:
application/json:
schema:
type: object
additionalProperties:
type: object
description: Export options
required: true
/v1/org/{orgId}/comp-review/{compReviewId}/generate:
post:
tags:
- comp-review
summary: Generate a compensation review
operationId: generateCompReview
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Process'
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateCompReviewOptions'
description: Whether this should be generated as a preview
required: true
/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: scenariosOnly
in: query
required: false
schema:
type: boolean
- name: proposalOnly
in: query
required: false
schema:
type: boolean
- name: reviewsOnly
in: query
required: false
schema:
type: boolean
- name: columnsOnly
in: query
required: false
schema:
type: boolean
- name: isPreview
in: query
required: false
schema:
type: boolean
- name: jobId
in: query
required: false
schema:
type: string
- name: includeAllRequests
in: query
description: Allows users with multiple roles to request full access for owner or final approver roles
required: false
schema:
type: boolean
- name: includeFeatures
in: query
required: false
schema:
type: boolean
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: approvalRequestId
in: query
description: Approval request id
required: false
schema:
type: string
- name: isPreview
in: query
required: false
schema:
type: boolean
- name: jobId
in: query
required: false
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: changeId
in: path
description: Change id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: scenariosOnly
in: query
required: false
schema:
type: boolean
- name: proposalOnly
in: query
required: false
schema:
type: boolean
- name: reviewsOnly
in: query
required: false
schema:
type: boolean
- name: columnsOnly
in: query
required: false
schema:
type: boolean
- name: isPreview
in: query
required: false
schema:
type: boolean
- name: collabicientJobId
in: query
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/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
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
responses:
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SendReminderEmailOptions'
description: Approval request ID
required: true
/v1/org/{orgId}/comp-review/{compReviewId}/visualizations:
post:
tags:
- comp-review
summary: Get data for visualizations for a comp review
operationId: getVisualizations
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: compReviewId
in: path
description: Comp review id
required: true
schema:
type: string
- name: viewJobId
in: query
description: The job you would like to view as
required: false
schema:
type: string
- name: preview
in: query
description: Are the visualizations for a preview
required: false
schema:
type: boolean
- name: includeAllRequests
in: query
description: Allows users with multiple roles to request full access for owner or final approver roles
required: false
schema:
type: boolean
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CompReviewVisualizations'
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetVisualizationsOptions'
description: Options for visualizations
required: true
components:
schemas:
OwnershipChange:
type: object
required:
- scenarioId
- oldOwnerJobId
- newOwnerJobId
properties:
scenarioId:
type: string
example: 588f7ee98f138b19220041a7
oldOwnerJobId:
type: string
example: 588f7ee98f138b19220041a7
oldOwnerPersonId:
type: string
example: 588f7ee98f138b19220041a7
newOwnerJobId:
type: string
example: 588f7ee98f138b19220041a7
newOwnerPersonId:
type: string
example: 588f7ee98f138b19220041a7
CollaboratorMatrix:
type: object
required:
- includedFields
- conditions
properties:
includedFields:
type: array
items:
type: string
conditions:
type: array
items:
# --- truncated at 32 KB (142 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/charthop/refs/heads/main/openapi/charthop-comp-review-api-openapi.yml