---
title: "List Performance Feedbacks"
method: GET
path: "/api/v2/careerhub/performance-feedback"
tags: ["Performance Feedback"]
---

# List Performance Feedbacks

`GET /api/v2/careerhub/performance-feedback`

List performance feedbacks. At least one of `profileEncId`, `reviewerEmail`, `requesterEmail` is required so the result set is always scoped. Backed by `PerformanceReviewService.search_performance_reviews`.

## Query parameters

- `limit` integer
- `profileEncId` string
- `reviewerEmail` string
- `requesterEmail` string
- `status` string
- `pendingOnly` boolean
- `exclude` string
- `keyList` string

## Headers

- `Authorization` string, required

## Response `200`

OK

- PerformanceFeedbackSchema
  - `createdAt` string, date-time, nullable — Datetime when this feedback was created
  - `plannedEventId` integer, nullable — Planned event id for candidate source
  - `feedbackResponse` ProfileFeedbackResponse
    - `overallFeedback` ProfileFeedbackQuestionAnswer
      - `answer` string, nullable — Answer
      - `label` string, nullable — Label
      - `questionId` integer, nullable — Question ID
      - `comment` string, nullable — Comment
    - `feedback` ProfileFeedbackQuestionAnswer[], nullable — Ordered list of answers in the feedback (one per question on the form). Frontend should drive form rendering off this typed list rather than parsing the raw `feedbackJson` string.
      - `answer` string, nullable — Answer
      - `label` string, nullable — Label
      - `questionId` integer, nullable — Question ID
      - `comment` string, nullable — Comment
  - `followUpEnabled` boolean, nullable — Denotes if the feedback follow up is enabled or not
  - `profileId` integer, nullable — Profile ID associated with the profile feedback
  - `communityId` integer, nullable — Community Id for candidate source
  - `sharedFeedbackMessageId` integer, nullable — Message Id for shared feedback
  - `viewFeedbackUrl` string, nullable — URL to view feedback
  - `requestedAt` integer, nullable — Timestamp when the feedback was requested
  - `reminderCount` integer, nullable — Number of reminders sent
  - `requester` UserLogin
    - `fullName` string, nullable — Full name of User
    - `redirectEmail` string, nullable — Redirect Email
    - `domain` string, nullable — Domain name for User
    - `email` string, nullable — Email of User
  - `submittedAt` integer, nullable — Timestamp when the feedback was first submitted
  - `reviewerEmail` string, nullable — Email of reviewer of the ProfileFeedback
  - `feedbackType` string, nullable — type of the feedback
  - `feedbackTemplateId` integer, nullable — Feedback template ID
  - `feedbackEncId` string, nullable — Encoded ID of the ProfileFeedback
  - `requesterEmail` string, nullable — Email of requester of the ProfileFeedback
  - `archiveFlag` boolean, nullable — Denotes if the feedback is archived or not
  - `position` PositionSchema
    - `createdAt` integer, nullable — Creation timestamp in epoch format
    - `confidential` boolean, nullable — if the position is confidential or not
    - `hiringManager` Person
      - `email` string, nullable — email
      - `name` string, nullable, required — Name
    - `groupId` string, nullable — group id
    - `name` string, nullable, required — Title of the Position
    - `followers` string[], nullable — all the followers of the position
    - `jobDescription` string, nullable — Detailed Job Description in a text format
    - `systemId` string, nullable — system id
    - `positionDisplayId` string, nullable — display job id
    - `recruiter` Person
      - `email` string, nullable — email
      - `name` string, nullable, required — Name
    - `calibrationConfirmedBy` string, nullable — User who confirmed the calibration
    - `open` boolean, nullable — if the position is open or not
    - `createdBy` string, nullable — source of the job
    - `calibrationConfirmedAt` integer, nullable — Confirmed timestamp for the calibration
    - `atsData` ATSPositionData
      - `createdAt` integer, nullable, required — creation timestamp in epoch format
      - `locationCountry` string, nullable — Country of the location
      - `coordinators` Person[], nullable — all the coordinators related to this position
        - `email` string, nullable — email
        - `name` string, nullable, required — Name
      - `businessUnit` string, nullable — business unit
      - `isPrivate` boolean, nullable — Indicates if a position is a private posting
      - `workLocationOption` string, nullable — Indicates the option for working location e.g. onsite, remote_global, remote_local, hybrid
      - `atsEntityId` string, nullable, required — position_id in the ats system
      - `hiringManager` Person
        - `email` string, nullable — email
        - `name` string, nullable, required — Name
      - `internalPostingUrl` string, nullable — internal posting url
      - `evergreen` boolean, nullable — is evergreen
      - `skills` string[], nullable — skills
      - `company` string, nullable, required — company
      - `locationCity` string, nullable — City of the location
      - `lastUpdated` integer, nullable, required — last modified date time in epoch format
      - `displayJobId` string, nullable — display job id
      - `openings` AtsOpenings
        - `closedAt` integer, nullable — Closing timestamp in epoch format
        - `openingDetails` AtsOpeningDetail[], nullable — Details of the openings
          - `status` string, nullable — Status of the opening
          - `closedAt` integer, nullable — Closing timestamp in epoch format
          - `openingId` string, nullable — Opening ID
          - `openedAt` integer, nullable — Opening timestamp in epoch format
          - `closeReason` string, nullable — Reason for closing the opening
          - `candidateId` string, nullable — List of candidate ID
          - `applicationId` string, nullable — List of application ID
        - `numOpenings` integer, nullable — Number of openings. Set to -1 for unlimited openings
        - `openedAt` integer, nullable — Opening timestamp in epoch format
        - `numOpeningsFilled` integer, nullable — Number of openings filled
      - `hiringTeam` HiringTeamMember[], nullable — Unified hiring team array. Each entry: {role, roleKey, name, email}. Includes primary/secondary HMs, primary/secondary recruiters, and custom roles.
        - `role` string, nullable — Role label (e.g. Hiring Manager, HRBP)
        - `email` string, nullable — Email of the team member
        - `name` string, nullable — Name of the team member
        - `roleKey` string, nullable — Storage key for the role (e.g. hiring_manager, secondary_hiring_managers, cust_hrbp)
      - `followers` Person[], nullable — all the followers of the positions as hiring managers etc.
        - `email` string, nullable — email
        - `name` string, nullable, required — Name
      - `startDate` string, nullable — start date of the position in ISO 8601 format (e.g. 2024-05-01)
      - `requisitionType` string, nullable — Requisition Type
      - `systemId` string, nullable — system id
      - `activities` PositionActivities[], nullable — all the activities related to this positions
        - `activityTime` integer, nullable, required — activity time in epoch format
        - `activityType` string, nullable, required — activity type
        - `changeLogs` ChangeLog[], nullable — all the change logs for the activity
          - `newValue` string, nullable, required — new value
          - `fieldName` string, nullable, required — field name
          - `prevValue` string, nullable, required — previous value
        - `message` string, nullable, required — message for the activity
      - `postedFor` string, nullable — internal for internal jobs, external for external jobs, or all for both. Can be omitted for unposted positions.Input values must be one of these: internal, external, all, None
      - `questionnaires` Questionnaire[], nullable — questionnaires
        - `questionDependencies` QuestionDependencies[], nullable — question dependencies
          - `questionId` string, nullable, required — question id
          - `questionSource` string, nullable — question source
          - `choiceValue` string, nullable, required — choice value
          - `dependencyType` string, nullable — dependency type
          - `childQuestionIds` string[], nullable — child question ids
        - `questionnaireId` string, nullable, required — questionnaire id
      - `restrictAccess` boolean, nullable — restrict access
      - `title` string, nullable, required — job title
      - `templateId` integer, nullable — Template id of the template used to create the position
      - `recruiter` Person, required
        - `email` string, nullable — email
        - `name` string, nullable, required — Name
      - `jobPosts` JobPost[], nullable — job postings
        - `publishedTime` integer, nullable, required — published time in epoch format
        - `expirationTime` integer, nullable — expiration time in epoch format
        - `postingTitle` string, nullable, required — posting title
        - `postingId` string, nullable, required — posting id
        - `locale` string, nullable — locale of the ats job post
        - `primaryPost` boolean, nullable — is primary post
        - `jobDescription` string, nullable — job description
        - `postedFor` string, nullable, required — internal for internal jobs, external for external jobs, or all for both.
      - `hiringBand` string, nullable — hiring band
      - `postingTitle` string, nullable — posting title
      - `employmentType` string, nullable — Employment Type
      - `posted` boolean, nullable, required — status of the position posted or not
      - `locationFlexibility` string, nullable — Indicates the flexibility on location e.g. not_flexible, flexible_within_country, flexible_global
      - `orgUnits` object, nullable — Org units of the position
      - `companyDescription` string, nullable — Company description
      - `customFields` object, nullable — custom fields
      - `sourcers` Person[], nullable — all the recruiters/sourcers related to this positions
        - `email` string, nullable — email
        - `name` string, nullable, required — Name
      - `workflowTemplateId` string, nullable — Indicates which workflow this position belongs to
      - `status` string, nullable, required — status
      - `jobCode` string, nullable — ATS attribute which identifies the job this jobrequestion is mapped to
      - `open` boolean, nullable, required — status of the position open or not
      - `postingUrl` string, nullable — posting url
      - `atsUserGroups` AtsUserGroups[], nullable — ATS user groups
        - `userGroupId` string, nullable — Ats Group of a user
      - `createdBy` string, nullable — Email of the user who created this position
      - `function` string, nullable — job function
      - `jobStages` string[], nullable — job_stages
      - `requiredSkills` string[], nullable — required skills
      - `questions` Questions[], nullable — questions
        - `choices` QuestionChoice[], nullable — Question choices
          - `label` string, nullable — label
          - `value` string, nullable — value
        - `choicesV2` QuestionLabel[], nullable — Question choices V2. It supports language mapping.
          - `langMappingList` LangMapping[], nullable — lang_mapping_list
            - `locale` string, nullable — locale
            - `label` string, nullable — label
          - `label` string, nullable — label
          - `value` string, nullable — value
        - `questionId` string, nullable, required — question_id
        - `help` string, nullable — help
        - `type` string, nullable — type of the question. e.g.-choice, numeric or text
        - `question` QuestionLabel
          - `langMappingList` LangMapping[], nullable — lang_mapping_list
            - `locale` string, nullable — locale
            - `label` string, nullable — label
          - `label` string, nullable — label
          - `value` string, nullable — value
        - `required` boolean, nullable — required
      - `locationState` string, nullable — State of the location
      - `locations` string[], nullable — location
      - `positionId` integer, nullable — EF Position ID
      - `description` string, nullable — job description
    - `calibrationData` CalibrationData
      - `flags` string[], nullable — flags
      - `graduationYear` string, nullable — graduationYear
      - `workCategories` string[], nullable — workCategories
      - `skills` string[], nullable — skills
      - `diversity` string[], nullable — diversity
      - `idealCandidates` string[], nullable — ideal_candidates
      - `companies` string[], nullable — companies
      - `titles` string[], nullable — titles
      - `educationLevel` string[], nullable — different education levels
      - `relocation` string[], nullable — relocation
      - `seniorities` string[], nullable — seniorities
      - `maxExperience` integer, nullable — maxExperience
      - `schools` string[], nullable — schools
      - `skillProficiencies` SkillProficiency[], nullable — skill proficiencies of the role
        - `proficiency` number, float, nullable — proficiency of the role
        - `skillGroupList` SkillGroupList[], nullable — skill group list of a role
          - `proficiency` number, float, nullable — group proficiency of the skill group
          - `groupName` string, nullable — name of the skill group
          - `level` string, nullable — level of the role
          - `skillCategory` string, nullable — skill category of the skill group
        - `level` string, nullable — level of the role
        - `name` string, nullable — name of the role
      - `idealCandidateUrls` string[], nullable — idealCandidatesUrls
      - `minExperience` integer, nullable — minExperience
      - `notes` string, nullable — notes
      - `locations` string[], nullable — locations
    - `role` Role
      - `templates` CalibrationTemplate[], nullable — all calibration templates associated with the role
        - `id` integer, nullable — id of the calibration template
        - `name` string, nullable — Name of the calibration template
      - `name` string, nullable — name of the role
    - `positionId` integer, nullable — job id
  - `userCalendarEventId` integer, nullable — User calendar event id
  - `feedbackId` integer, nullable — ID of the ProfileFeedback
  - `feedbackTemplateName` string, nullable — Feedback template name
  - `reviewer` UserLogin
    - `fullName` string, nullable — Full name of User
    - `redirectEmail` string, nullable — Redirect Email
    - `domain` string, nullable — Domain name for User
    - `email` string, nullable — Email of User
  - `plannedEvent` PlannedEvent
    - `createdAt` integer, nullable — Timestamp when this event was created
    - `isCancelled` boolean, nullable
    - `eventSpeakers` string[], nullable — List of speakers
    - `activeRegistrations` string, nullable — active registrations
    - `registerButton` RegisterButton
      - `textColor` string, nullable — text color for registration button
      - `backgroundColor` string, nullable — background color of registration button
      - `text` string, nullable — Text of registration button
    - `eventTeamDataJson` object, nullable — Event team data
    - `eventBucket` string, nullable — Bucket of the event
    - `address` string, nullable — Address of venue
    - `eventCustomFieldsJson` object, nullable — Event custom fields
    - `eventType` string, nullable
    - `institution` string, nullable — Institution related to event
    - `selectedTimezone` string, nullable — Selected time zome
    - `name` string, nullable — Name of the event
    - `homePageBanner` HomePageBanner
      - `useImage` boolean, nullable — boolean value for using image
      - `image` string, nullable — image of home page banner
      - `title` string, nullable — title for home page
    - `eventLocationType` string, nullable
    - `id` string, nullable — id
    - `parentId` string, nullable — Parent id of the event
    - `venue` string, nullable — Venue of the event
    - `endTimestamp` integer, nullable — Ending timestamp of event
    - `isPublished` boolean, nullable
    - `eventLandingPage` string, nullable — Event landing page
    - `status` string, nullable
    - `createdBy` string, nullable — User id which created this event
    - `eventCategory` string, nullable — Category of the event
    - `startTimestamp` integer, nullable — Starting time stamp of event
    - `when` string, nullable — When tag of the event
    - `description` string, nullable — Description of event
  - `matchingData` ApplicationMatchScore[], nullable — Application matching information
    - `topMatches` string[], nullable — The top few items driving this score (e.g. the matched skills or title terms), up to 3
    - `indeterminable` integer, nullable — 1 when there wasn't enough data to compute this score (score will be -1), otherwise 0
    - `score` integer, nullable — Match strength for this aspect on a 0-5 scale (higher is a better match); -1 when it could not be determined
    - `relevantScoreTypeVal` integer, nullable — A supporting count eg: matching skills (skill) or relevant years of experience (experience). Null when not applicable
    - `scoreRaw` number, float, nullable — The underlying un-rounded score behind the 0-5 rating (e.g. raw overall stars); may be null when not applicable
    - `scoreType` string, nullable — Which aspect of the match this score describes eg- overall fit, skill, title, or experience
  - `status` string, nullable — status of the feedback
  - `feedbackJson` object, nullable — Feedback JSON
  - `feedbackUrl` string, nullable — URL to provide feedback
  - `positionId` string, nullable — Position ID for which feedback was given

---

[API](https://skmtc.net/eightfold/apis/api-server-v2-service-service.md) · [All operations](https://skmtc.net/eightfold/apis/api-server-v2-service-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eightfold/api-server-v2-service-service/versions/0fb26f4e41bf/schema)
