---
title: "interviewerPool.addUser"
method: POST
path: "/interviewerPool.addUser"
tags: ["Interviewer Pool"]
---

# interviewerPool.addUser

`POST /interviewerPool.addUser`

Add a user to an interviewer pool.

**Requires the [`hiringProcessMetadataWrite`](authentication#permissions-interviewerpooladduser) permission.**

## Request body

- InterviewerPoolAddUserRequest
  - `interviewerPoolId` string, uuid, required — The id of the interviewer pool
  - `userId` string, uuid, required — The id of the user to add to the interviewer pool
  - `interviewerPoolTrainingPathStageId` string, uuid, nullable — The id of the training path stage to add the user to. If this is not provided, the user will be added as a fully qualified member of the pool.

## Response `200`

Responses from the interviewerPool.addUser endpoint

- union
  - InterviewerPoolAddUserSuccessResponse
    - `success` true, required
    - `results` InterviewerPool, required
      - `id` string, uuid, required — The pool's id
      - `title` string, required — The pool's title
      - `isArchived` boolean, required — Whether the pool is archived
      - `trainingPath` InterviewerPoolTrainingPath, required
        - `id` string, uuid, required — The training path's id
        - `enabled` boolean, required — Whether the training path is enabled
        - `trainingStages` InterviewerPoolTrainingPathStage[], required — The training stages in this path
          - `id` string, uuid, required — The training stage's id
          - `interviewerRole` 'Shadow' | 'ReverseShadow', required — The role of the interviewer for this stage
          - `interviewsRequired` integer, required — The number of interviews required for this stage
          - `isArchived` boolean, required — Whether the training stage is archived
          - `approvalRequired` boolean, required — Whether approval is required for this stage
          - `approvers` User[], nullable, required — The users who can approve this stage
            - `id` string, uuid, required — The unique identifier for the user
            - `firstName` string, required — The user's first name
            - `lastName` string, required — The user's last name
            - `email` string, email, nullable, required — The user's email address
            - `globalRole` 'Organization Admin' | 'Elevated Access' | 'Limited Access' | 'External Recruiter', required — The user's global role in the organization
            - `isEnabled` boolean, required — Whether the user is enabled (not deactivated)
            - `updatedAt` string, required — The timestamp when the user was last updated (ISO 8601 format)
            - `managerId` string, uuid — The unique identifier for the user's manager
            - `customFields` CustomField[] — Custom fields associated with the user (only included when requested)
              - …
      - `qualifiedMembers` InterviewerPoolMember[] — Qualified members of the interviewer pool
        - `id` string, uuid, required — The unique identifier for the user
        - `firstName` string, required — The user's first name
        - `lastName` string, required — The user's last name
        - `email` string, email, nullable, required — The user's email address
        - `globalRole` 'Organization Admin' | 'Elevated Access' | 'Limited Access' | 'External Recruiter', required — The user's global role in the organization
        - `isEnabled` boolean, required — Whether the user is enabled (not deactivated)
        - `updatedAt` string, required — The timestamp when the user was last updated (ISO 8601 format)
        - `managerId` string, uuid — The unique identifier for the user's manager
        - `customFields` CustomField[] — Custom fields associated with the user (only included when requested)
          - `id` string, uuid, required — The unique identifier for the custom field definition
          - `isPrivate` boolean, required — Whether the custom field is private
          - `title` string, required — The title of the custom field
          - `value` union, required — The value of the custom field
            - boolean
            - number
            - string
            - string[]
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `valueLabel` union — The label of the custom field value. This is only present for value select custom fields.
            - string
            - string[]
        - `isPaused` boolean, required — Whether the user is currently paused in this pool
      - `trainees` InterviewerPoolTrainingUser[] — Trainees in the interviewer pool
        - `id` string, uuid, required — The unique identifier for the user
        - `firstName` string, required — The user's first name
        - `lastName` string, required — The user's last name
        - `email` string, email, nullable, required — The user's email address
        - `globalRole` 'Organization Admin' | 'Elevated Access' | 'Limited Access' | 'External Recruiter', required — The user's global role in the organization
        - `isEnabled` boolean, required — Whether the user is enabled (not deactivated)
        - `updatedAt` string, required — The timestamp when the user was last updated (ISO 8601 format)
        - `managerId` string, uuid — The unique identifier for the user's manager
        - `customFields` CustomField[] — Custom fields associated with the user (only included when requested)
          - `id` string, uuid, required — The unique identifier for the custom field definition
          - `isPrivate` boolean, required — Whether the custom field is private
          - `title` string, required — The title of the custom field
          - `value` union, required — The value of the custom field
            - boolean
            - number
            - string
            - string[]
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `valueLabel` union — The label of the custom field value. This is only present for value select custom fields.
            - string
            - string[]
        - `isPaused` boolean, required — Whether the user is currently paused in this pool
        - `currentProgress` InterviewerPoolTrainingProgress, required
          - `trainingPathId` string, uuid, required — The id of the training path the user is currently on
          - `trainingPathStageId` string, uuid, required — The id of the training stage the user is currently in
          - `interviewsCompleted` integer, required — The number of interviews the user has completed in the current stage
  - ErrorResponse
    - `success` false, required
    - `errors` ErrorDetail[], required
      - `message` string, required
      - `parameter` string

---

[API](https://skmtc.net/ashbyhq/apis/ashby-api.md) · [All operations](https://skmtc.net/ashbyhq/apis/ashby-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ashbyhq/ashby-api/revisions/778b919dc743/schema)
