---
title: "Update a comp review"
method: PATCH
path: "/v1/org/{orgId}/comp-review/{compReviewId}"
tags: ["comp-review"]
---

# Update a comp review

`PATCH /v1/org/{orgId}/comp-review/{compReviewId}`

## Path parameters

- `orgId` string, required
- `compReviewId` string, required

## Request body

- UpdateCompReview
  - `label` string — human-readable label of goal
  - `config` CompReviewConfig
    - `keyDates` CompReviewKeyDates, required
      - `cycleBeginDate` string, date, required — Date on which the comp review cycle begins
      - `levelsSubmitByDate` string, date, required — Date by which all levels should be submitted for approval
      - `finalApprovalDate` string, date, required — Date by which final approval/sign-off will be completed, this is the baseline primary effective date for the comp review
      - `payrollEffectiveDate` string, date — Date on which payroll updates become effective
      - `customEffectiveDate` string, date — A custom date to use for the primary data structure
      - `isSkipAfterSubmitOverdue` boolean — Whether to skip approval stages forward after the submit date
      - `skippedAt` string — Whether to skip approval stages forward after the submit date
      - `isEdited` boolean — whether the default config has been modified
    - `eligibleEmployees` CompReviewEligibleEmployees, required
      - `ineligibilityType` 'NONE' | 'DEPARTMENT' | 'DIVISION' | 'LOCATION' | 'CUSTOM', required — Defines who is ineligible for this cycle
      - `excludedEmploymentStatuses` string[] — Exclude these employment types if specified
      - `excludeGroupIds` string[] — Exclude these groups from the cycle
      - `filter` string — The filter to apply when custom ineligibility rules is selected
      - `lastRaiseDate` string, date — The cutoff date of last raise if specified
      - `startDate` string, date — The cutoff start date if specified
      - `individualExclusions` string[] — List of individuals by personId to exclude from the review
      - `individualInclusions` string[] — List of individuals by personId to include in the review
    - `reviewersAndApprovers` CompReviewReviewersApprovers, required
      - `reviewers` 'ALL_MANAGERS' | 'ONLY_SPECIFIC_LEVEL' | 'ONLY_SPECIFIC_TITLES' | 'CUSTOM', required — Which individuals are included as reviewers
      - `reviewerLevels` integer[] — Levels to be included if reviewers is only specific levels
      - `reviewerTitles` string[] — Titles to be included if reviewers is only specific titles
      - `reviewerFilter` string — Filter to be applied if reviewers is custom
      - `excludedReviewerIds` string[] — Job ids of individuals to exclude from the review
      - `approverIds` string[] — Person ids of employees who will final approve
    - `collaborators` CompReviewCollaborators, required
      - `collaborationType` 'NONE' | 'STATIC' | 'DYNAMIC', required — What type of HRBP collaboration the comp review uses
      - `collaboratorAccess` 'READ' | 'EDIT' | 'SUBMIT', required — What level of access collaborators should have
      - `collaboratorJobIds` string[] — A list of collaborators for all reviewers, used when collaborationType is STATIC
      - `collaboratorMatrix` CollaboratorMatrix
        - `includedFields` string[], required
        - `conditions` CollaboratorMatrixCondition[], required
          - `expression` string, required
          - `collaboratorJobIds` string[], required
      - `jobToCollaboratorsMap` object, required — A map of reviewer job ID to a set of collaborator job IDs indicating which collaborators are collaborating with a given reviewer
    - `reviewerWorkbook` CompReviewReviewerWorkbook, required
      - `columns` CompReviewWorkbookColumn[], required — ordering and settings of columns in workbook
        - `name` string, required — field name
        - `label` string, required — display name in workbook
        - `color` string — color used in the column header
        - `editableFor` string, required — cql evaluated on the reviewee job specifying whether field is editable
        - `visibleTo` string, required — cql specifying who can view
        - `visibleToGroups` string[], required — list of groupIds with viewing permissions
        - `visibleToType` 'EVERYONE' | 'DEPARTMENT' | 'TEAM' | 'LOCATION' | 'CUSTOM', required — type of cql filter used in the visible to
        - `visibleToRoles` InCycleViewFeatures
          - `isFinalApprover` boolean, required
          - `isProposer` boolean, required
          - `isApprover` boolean, required
          - `isOwner` boolean, required
          - `isCollaborator` boolean, required
          - `isRoot` boolean
        - `editableForRoles` InCycleViewFeatures
          - `isFinalApprover` boolean, required
          - `isProposer` boolean, required
          - `isApprover` boolean, required
          - `isOwner` boolean, required
          - `isCollaborator` boolean, required
          - `isRoot` boolean
      - `numFrozenColumns` integer — number of frozen columns at start of workbook
      - `moreInfoUrl` string — optional link to see additional customer documentation
      - `moreInfoLabel` string — optional label for additional customer documentation
      - `isEdited` boolean — whether the default config has been modified
      - `allowReviewerApproverAuditLog` boolean — allows all reviewers and approvers to view the audit log
    - `budgets` CompReviewBudgets
      - `allocationType` 'PROPORTIONAL' | 'SEQUENTIAL', required — How budgets are allocated
      - `visualizationType` 'ALL' | 'ONLY_APPLICABLE', required — Whether all budget visualizations are visible or only those that apply to eligible employees in the reviewer's pod
      - `showTotalBudget` boolean, required — Whether to display the total budget in the cycle
      - `totalBudgetVisibilityType` 'DEFAULT' | 'ROLE_SELECTION' | 'SPECIFIC_PEOPLE' | 'CUSTOM_CQL', required — Controls who can view the total budget
      - `totalBudgetVisibilityExpr` string — CQL expression for total budget visibility (used with totalBudgetVisibilityType=CUSTOM_CQL)
      - `totalBudgetVisibilityPersonIds` string[] — Person IDs who can view total budget (used with totalBudgetVisibilityType=SPECIFIC_PEOPLE)
      - `totalBudgetVisibilityRoles` InCycleViewFeatures
        - `isFinalApprover` boolean, required
        - `isProposer` boolean, required
        - `isApprover` boolean, required
        - `isOwner` boolean, required
        - `isCollaborator` boolean, required
        - `isRoot` boolean
    - `notifications` CompReviewNotifications
      - `announcementDate` string, date, required — Announcement date
    - `reassignments` object — Employees that have been reassigned for this cycle (manager to employee set)
  - `status` 'PENDING' | 'PAUSED' | 'ACTIVE' | 'REJECTED' | 'COMPLETE' | 'COMPLETE_APPROVED' — Whether the compensation review has been approved by the final approvers
  - `shareAccess` ShareAccess[] — users who have been granted access to this comp review
    - `access` 'NONE' | 'LIMITED_READ' | 'LIMITED_WRITE' | 'STANDARD_READ' | 'STANDARD_WRITE' | 'COMPENSATION_READ' | 'FULL_READ' | 'COMP_PLANNING_PARTICIPANT' | 'COMPENSATION_WRITE' | 'WRITE' | 'COMPENSATION_OWNER' | 'OWNER', required — access permission level
    - `userId` string — user id
    - `groupId` string — group id
    - `fields` string — fields
  - `reviewerCount` integer — count of reviewers in the comp review
  - `submittedCount` integer — count of reviews that have been submitted and approved

## Response `200`

successful operation

- CompReview
  - `id` string, required — globally unique id
  - `orgId` string, required — parent organization id
  - `label` string, required — human-readable label of goal
  - `config` CompReviewConfig, required
    - `keyDates` CompReviewKeyDates, required
      - `cycleBeginDate` string, date, required — Date on which the comp review cycle begins
      - `levelsSubmitByDate` string, date, required — Date by which all levels should be submitted for approval
      - `finalApprovalDate` string, date, required — Date by which final approval/sign-off will be completed, this is the baseline primary effective date for the comp review
      - `payrollEffectiveDate` string, date — Date on which payroll updates become effective
      - `customEffectiveDate` string, date — A custom date to use for the primary data structure
      - `isSkipAfterSubmitOverdue` boolean — Whether to skip approval stages forward after the submit date
      - `skippedAt` string — Whether to skip approval stages forward after the submit date
      - `isEdited` boolean — whether the default config has been modified
    - `eligibleEmployees` CompReviewEligibleEmployees, required
      - `ineligibilityType` 'NONE' | 'DEPARTMENT' | 'DIVISION' | 'LOCATION' | 'CUSTOM', required — Defines who is ineligible for this cycle
      - `excludedEmploymentStatuses` string[] — Exclude these employment types if specified
      - `excludeGroupIds` string[] — Exclude these groups from the cycle
      - `filter` string — The filter to apply when custom ineligibility rules is selected
      - `lastRaiseDate` string, date — The cutoff date of last raise if specified
      - `startDate` string, date — The cutoff start date if specified
      - `individualExclusions` string[] — List of individuals by personId to exclude from the review
      - `individualInclusions` string[] — List of individuals by personId to include in the review
    - `reviewersAndApprovers` CompReviewReviewersApprovers, required
      - `reviewers` 'ALL_MANAGERS' | 'ONLY_SPECIFIC_LEVEL' | 'ONLY_SPECIFIC_TITLES' | 'CUSTOM', required — Which individuals are included as reviewers
      - `reviewerLevels` integer[] — Levels to be included if reviewers is only specific levels
      - `reviewerTitles` string[] — Titles to be included if reviewers is only specific titles
      - `reviewerFilter` string — Filter to be applied if reviewers is custom
      - `excludedReviewerIds` string[] — Job ids of individuals to exclude from the review
      - `approverIds` string[] — Person ids of employees who will final approve
    - `collaborators` CompReviewCollaborators, required
      - `collaborationType` 'NONE' | 'STATIC' | 'DYNAMIC', required — What type of HRBP collaboration the comp review uses
      - `collaboratorAccess` 'READ' | 'EDIT' | 'SUBMIT', required — What level of access collaborators should have
      - `collaboratorJobIds` string[] — A list of collaborators for all reviewers, used when collaborationType is STATIC
      - `collaboratorMatrix` CollaboratorMatrix
        - `includedFields` string[], required
        - `conditions` CollaboratorMatrixCondition[], required
          - `expression` string, required
          - `collaboratorJobIds` string[], required
      - `jobToCollaboratorsMap` object, required — A map of reviewer job ID to a set of collaborator job IDs indicating which collaborators are collaborating with a given reviewer
    - `reviewerWorkbook` CompReviewReviewerWorkbook, required
      - `columns` CompReviewWorkbookColumn[], required — ordering and settings of columns in workbook
        - `name` string, required — field name
        - `label` string, required — display name in workbook
        - `color` string — color used in the column header
        - `editableFor` string, required — cql evaluated on the reviewee job specifying whether field is editable
        - `visibleTo` string, required — cql specifying who can view
        - `visibleToGroups` string[], required — list of groupIds with viewing permissions
        - `visibleToType` 'EVERYONE' | 'DEPARTMENT' | 'TEAM' | 'LOCATION' | 'CUSTOM', required — type of cql filter used in the visible to
        - `visibleToRoles` InCycleViewFeatures
          - `isFinalApprover` boolean, required
          - `isProposer` boolean, required
          - `isApprover` boolean, required
          - `isOwner` boolean, required
          - `isCollaborator` boolean, required
          - `isRoot` boolean
        - `editableForRoles` InCycleViewFeatures
          - `isFinalApprover` boolean, required
          - `isProposer` boolean, required
          - `isApprover` boolean, required
          - `isOwner` boolean, required
          - `isCollaborator` boolean, required
          - `isRoot` boolean
      - `numFrozenColumns` integer — number of frozen columns at start of workbook
      - `moreInfoUrl` string — optional link to see additional customer documentation
      - `moreInfoLabel` string — optional label for additional customer documentation
      - `isEdited` boolean — whether the default config has been modified
      - `allowReviewerApproverAuditLog` boolean — allows all reviewers and approvers to view the audit log
    - `budgets` CompReviewBudgets
      - `allocationType` 'PROPORTIONAL' | 'SEQUENTIAL', required — How budgets are allocated
      - `visualizationType` 'ALL' | 'ONLY_APPLICABLE', required — Whether all budget visualizations are visible or only those that apply to eligible employees in the reviewer's pod
      - `showTotalBudget` boolean, required — Whether to display the total budget in the cycle
      - `totalBudgetVisibilityType` 'DEFAULT' | 'ROLE_SELECTION' | 'SPECIFIC_PEOPLE' | 'CUSTOM_CQL', required — Controls who can view the total budget
      - `totalBudgetVisibilityExpr` string — CQL expression for total budget visibility (used with totalBudgetVisibilityType=CUSTOM_CQL)
      - `totalBudgetVisibilityPersonIds` string[] — Person IDs who can view total budget (used with totalBudgetVisibilityType=SPECIFIC_PEOPLE)
      - `totalBudgetVisibilityRoles` InCycleViewFeatures
        - `isFinalApprover` boolean, required
        - `isProposer` boolean, required
        - `isApprover` boolean, required
        - `isOwner` boolean, required
        - `isCollaborator` boolean, required
        - `isRoot` boolean
    - `notifications` CompReviewNotifications
      - `announcementDate` string, date, required — Announcement date
    - `reassignments` object — Employees that have been reassigned for this cycle (manager to employee set)
  - `status` 'PENDING' | 'PAUSED' | 'ACTIVE' | 'REJECTED' | 'COMPLETE' | 'COMPLETE_APPROVED' — Whether the compensation review has been approved by the final approvers
  - `shareAccess` ShareAccess[], required — users who have been granted access to this comp review
    - `access` 'NONE' | 'LIMITED_READ' | 'LIMITED_WRITE' | 'STANDARD_READ' | 'STANDARD_WRITE' | 'COMPENSATION_READ' | 'FULL_READ' | 'COMP_PLANNING_PARTICIPANT' | 'COMPENSATION_WRITE' | 'WRITE' | 'COMPENSATION_OWNER' | 'OWNER', required — access permission level
    - `userId` string — user id
    - `groupId` string — group id
    - `fields` string — fields
  - `reviewerCount` integer — count of reviewers in the comp review
  - `submittedCount` integer — count of reviews that have been submitted and approved
  - `createId` string — created by user id
  - `createBehalfId` string — created on behalf of user id
  - `createAttribution` Attribution
    - `principalUserId` string
    - `agentUserIds` string[]
    - `eventId` string
    - `aiChatId` string
    - `aiToolUseId` string
    - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `createAt` string — created timestamp
  - `updateId` string — last updated by user id
  - `updateBehalfId` string — last updated on behalf of user id
  - `updateAttribution` Attribution
    - `principalUserId` string
    - `agentUserIds` string[]
    - `eventId` string
    - `aiChatId` string
    - `aiToolUseId` string
    - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `updateAt` string — last updated timestamp
  - `deleteId` string — deleted by user id
  - `deleteBehalfId` string — deleted on behalf of user id
  - `deleteAttribution` Attribution
    - `principalUserId` string
    - `agentUserIds` string[]
    - `eventId` string
    - `aiChatId` string
    - `aiToolUseId` string
    - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `deleteAt` string — deleted timestamp

## Other responses

- `400` — bad request
- `401` — not authorized
- `404` — not found

---

[API](https://skmtc.net/charthop/apis/charthop-api.md) · [All operations](https://skmtc.net/charthop/apis/charthop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/charthop/charthop-api/versions/50a1edd6b27e/schema)
