CaptivateIQ Employees API

The Employees API from CaptivateIQ — 4 operation(s) for employees.

OpenAPI Specification

captivateiq-employees-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: CaptivateIQ Attribute Worksheets Employees API
  version: v1
  description: The CaptivateIQ REST API (ciq/v1) for managing employees, hierarchies, data worksheets, commission plans, payouts, reports, and related sales-compensation resources. Harvested from the public developer reference (developers.captivateiq.com).
  x-apievangelist-provenance:
    generated: '2026-07-18'
    method: searched
    source: https://developers.captivateiq.com/reference (per-operation OpenAPI defs merged)
servers:
- url: https://api.captivateiq.com
  description: Production
security:
- tokenAuth: []
tags:
- name: Employees
paths:
  /ciq/v1/employee-visibilities/:
    post:
      operationId: employee_visibilities_create
      summary: Create Employee Visibility
      tags:
      - Employees
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployeeVisibilityCreateUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EmployeeVisibilityCreateUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EmployeeVisibilityCreateUpdate'
        required: true
      security:
      - tokenAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeVisibility'
          description: ''
    get:
      operationId: employee_visibilities_list
      description: Hierarchy visibilities include an extra field, `managing_employee` which contains the UUID of the managing employee.
      summary: List Employee Visibilities
      parameters:
      - in: query
        name: hierarchy_group_name
        schema:
          type: string
        description: Filter visibilities by a hierarchy group name.
      - in: query
        name: hierarchy_id
        schema:
          type: string
          format: uuid
        description: Filter visibilities by hierarchy id.
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: ordering
        schema:
          type: string
        description: Use `start_date` or `end_date` to order by start or end date, and `-start_date` or `-end_date` to reverse them respectively. Defaults to `start_date`.
      - in: query
        name: user_id
        schema:
          type: string
          format: uuid
        description: Filter visibilities by user_id.
      - in: query
        name: visible_employee_id
        schema:
          type: string
          format: uuid
        description: Filter visibilities by an employee_id.
      tags:
      - Employees
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEmployeeVisibilityList'
          description: ''
  /ciq/v1/employee-visibilities/{id}/:
    delete:
      operationId: employee_visibilities_destroy
      summary: Delete Employee Visibility
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: Primary key, a UUID.
        required: true
      tags:
      - Employees
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAPIDelete'
          description: ''
    get:
      operationId: employee_visibilities_retrieve
      description: 'Retrieves Employee Visibilities with the `object: "employee visibility"` field. To retrieve Hierarchies, see the Hierarchies documentation.'
      summary: Get Employee Visibility
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: Primary key, a UUID.
        required: true
      tags:
      - Employees
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeVisibility'
          description: ''
    put:
      operationId: employee_visibilities_update
      summary: Update Employee Visibility
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: Primary key, a UUID.
        required: true
      tags:
      - Employees
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployeeVisibilityCreateUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EmployeeVisibilityCreateUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EmployeeVisibilityCreateUpdate'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeVisibility'
          description: ''
  /ciq/v1/employees/:
    post:
      operationId: employees_create
      summary: Create Employee
      tags:
      - Employees
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployeeCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EmployeeCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EmployeeCreate'
        required: true
      security:
      - tokenAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee'
          description: ''
    get:
      operationId: employees_list
      summary: List Employees
      parameters:
      - in: query
        name: employee_id
        schema:
          type: string
        description: Filter by employee id
      - in: query
        name: first_name
        schema:
          type: string
        description: Filter by first name
      - in: query
        name: last_name
        schema:
          type: string
        description: Filter by last name
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: 'Optional. Which field to use when ordering the results. By default we assume [`employee_id`]. Available fields for ordering: [`(-)employee_id`, `(-)first_name`, `(-)last_name`]. See the [FAQs](https://developers.captivateiq.com/docs/faqs) page for tips.'
        schema:
          type: string
      tags:
      - Employees
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEmployeeList'
          description: ''
  /ciq/v1/employees/{id}/:
    delete:
      operationId: employees_destroy
      summary: Delete Employee
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: Primary key, a UUID.
        required: true
      tags:
      - Employees
      security:
      - tokenAuth: []
      responses:
        '204':
          description: No response body
    get:
      operationId: employees_retrieve
      summary: Get Employee
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: Primary key, a UUID.
        required: true
      tags:
      - Employees
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee'
          description: ''
    put:
      operationId: employees_update
      summary: Update Employee
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: Primary key, a UUID.
        required: true
      tags:
      - Employees
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployeeUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EmployeeUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EmployeeUpdate'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee'
          description: ''
components:
  schemas:
    NullEnum:
      enum:
      - null
    EmployeeVisibility:
      type: object
      properties:
        object:
          type: string
          readOnly: true
          default: employee visibility
          description: Optional. Object type name.
        id:
          type: string
          readOnly: true
          description: Primary key, a UUID.
        user:
          type: string
          format: uuid
          description: Required. The uuid of the user.
        visible_employee:
          type: string
          format: uuid
          description: Required. The uuid of the visible employee.
        start_date:
          type: string
          format: date
          nullable: true
          description: Required. The visibility start date.
        end_date:
          type: string
          format: date
          nullable: true
          description: Required. The visibility end date.
        source:
          type: object
          additionalProperties: {}
          description: Nested object containing the id and name of the hierarchy group if the visibility originated from a hierarchy. Otherwise values default to null and 'Manual'.
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Date and time of creation.
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: Date and time of last update.
      required:
      - user
      - visible_employee
    EmployeeUpdate:
      type: object
      properties:
        id:
          type: string
          readOnly: true
          description: Primary key, a UUID.
        employee_id:
          type: string
          description: Required, must be unique. Your unique identifier for the employee within your organization.
        email:
          type: string
          format: email
          nullable: true
          description: Required, can be `null`. The employee's email address.
        login_id:
          type: string
          nullable: true
          description: Optional. Only used when an organization uses freeform login_id type as the user's unique identifier (all organizations use email as a unique identifier by default) and the employee has a linked_user value. If linked_user has a value, then login_id will be used to update the login_id of the linked_user.
        first_name:
          type: string
          nullable: true
          description: Required, can be `null`. The employee's first name.
        last_name:
          type: string
          nullable: true
          description: Required, can be `null`. The employee's last name.
        final_process_date:
          type: string
          format: date
          nullable: true
          description: Required, can be `null`. YYYY-MM-DD format. Payouts will no longer be processed for this employee after this date.
        employee_license_automated_deactivation_date:
          type: string
          format: date
          nullable: true
          description: Optional, can be `null`. YYYY-MM-DD format. The employee will be automatically deactivated on this date.
        is_active:
          type: boolean
          description: Required. Active employees count towards your seat count.
        linked_user:
          type: string
          format: uuid
          readOnly: true
          description: Employee's linked User, which they may use to access the system.
      required:
      - email
      - employee_id
      - final_process_date
      - first_name
      - is_active
      - last_name
    PaginatedEmployeeVisibilityList:
      type: object
      properties:
        object:
          type: string
          example: list
        total_count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeVisibility'
    EmployeeOptionalUserSettings:
      type: object
      properties:
        enable_inquiry_notifications:
          type: boolean
          default: false
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `false`.
        enable_statement_notifications:
          type: boolean
          default: true
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `true`.
        eligible_to_receive_inquiries:
          type: boolean
          default: true
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `true`.
        eligible_to_submit_inquiries:
          type: boolean
          default: true
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `true`. Enable user to submit inquiries.
        enable_payout_processing_notifications:
          type: boolean
          default: false
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `false`.
        enable_connector_sync_email_notifications:
          type: boolean
          default: true
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `true`.
        enable_scim_email_notifications:
          type: boolean
          default: false
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `false`.
        enable_audit_log_export_notifications:
          type: boolean
          default: false
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `false`.
        is_organization_admin:
          type: boolean
          default: false
          description: Optional, defaults to `false`.
        send_initial_email:
          type: boolean
          default: false
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `false`. Send the user a welcome email.
        login_access:
          type: boolean
          default: false
          description: Optional, defaults to `false`.
        role:
          type: string
          description: Name of the role to apply to the user.
          maxLength: 255
    Employee:
      type: object
      properties:
        object:
          type: string
          readOnly: true
          default: employee
          description: Optional. Object type name.
        id:
          type: string
          readOnly: true
          description: Primary key, a UUID.
        employee_id:
          type: string
          description: Required, must be unique. Your unique identifier for the employee within your organization.
        email:
          type: string
          format: email
          nullable: true
          description: Required if `linked_user` not provided, otherwise optional. The employee's email address.
        first_name:
          type: string
          nullable: true
          description: Required if `linked_user` not provided, otherwise optional. The employee's first name.
        last_name:
          type: string
          nullable: true
          description: Required if `linked_user` not provided, otherwise optional. The employee's last name.
        final_process_date:
          type: string
          format: date
          nullable: true
          description: Optional. YYYY-MM-DD format. Payouts will no longer be processed for this employee after this date.
        is_active:
          type: boolean
          description: Active employees count towards your seat count.
        linked_user:
          type: string
          format: uuid
          readOnly: true
          description: Employee's linked User, which they may use to access the system.
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Date and time of creation.
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: Date and time of last update.
      required:
      - employee_id
      - is_active
    PaginatedEmployeeList:
      type: object
      properties:
        object:
          type: string
          example: list
        total_count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        data:
          type: array
          items:
            $ref: '#/components/schemas/Employee'
    EmployeeCreate:
      type: object
      properties:
        employee_id:
          type: string
          description: Required, must be unique. Your unique identifier for the employee within your organization.
        email:
          type: string
          format: email
          nullable: true
          description: Required if `linked_user` not provided, otherwise optional. The employee's email address.
        first_name:
          type: string
          nullable: true
          description: Required if `linked_user` not provided, otherwise optional. The employee's first name.
        last_name:
          type: string
          nullable: true
          description: Required if `linked_user` not provided, otherwise optional. The employee's last name.
        final_process_date:
          type: string
          format: date
          nullable: true
          description: Optional. YYYY-MM-DD format. Payouts will no longer be processed for this employee after this date.
        is_active:
          type: boolean
          default: true
          description: Optional, defaults to `true`. Active employees count towards your seat count.
        linked_user:
          type: string
          format: uuid
          nullable: true
          description: Optional. Pass in a UUID to link to an existing User, otherwise a new User will be automatically created for this employee.
        user_settings:
          allOf:
          - $ref: '#/components/schemas/EmployeeOptionalUserSettings'
          nullable: true
          description: Optional. Values to be passed through if creating a new user
        timezone:
          type: string
          nullable: true
          default: America/Los_Angeles
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `America/Los_Angeles`. Used only if creating a new linked user. User timezone name. Accepts [tz database names](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g. `America/Los_Angeles`.
        locale:
          nullable: true
          description: Optional, default to your "Organization User Settings" value. If an "Organization User Settings" value is not set will fallback to `None`. The employee's locale. Accepts [locale names](https://support.captivateiq.com/hc/en-us/articles/4418762747796-User-locale-settings-beta-), e.g. `en_US`.
          oneOf:
          - $ref: '#/components/schemas/LocaleEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        login_id:
          type: string
          nullable: true
          description: Optional. This field is only used if an organization uses freeform login_id type as the user's unique identifier (all organizations use email as a unique identifier by default) and if linked_user does not have a value. If this is the case then login_id value will be used in creating the linked_user. If login_id is blank, the linked user will be created as a placeholder user.
      required:
      - employee_id
    OpenAPIDelete:
      type: object
      properties:
        object:
          type: string
          readOnly: true
          description: Type of the object.
        id:
          type: string
          format: uuid
          readOnly: true
          description: UUID of the object deleted.
        deleted:
          type: boolean
          readOnly: true
          description: Has the object been deleted.
    EmployeeVisibilityCreateUpdate:
      type: object
      properties:
        object:
          type: string
          readOnly: true
          default: employee visibility
          description: Optional. Object type name.
        id:
          type: string
          readOnly: true
          description: Primary key, a UUID.
        user:
          type: string
          format: uuid
          description: Required. The uuid of the user.
        visible_employee:
          type: string
          format: uuid
          description: Required. The uuid of the visible employee.
        start_date:
          type: string
          format: date
          nullable: true
          description: Required. The visibility start date.
        end_date:
          type: string
          format: date
          nullable: true
          description: Required. The visibility end date.
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Date and time of creation.
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: Date and time of last update.
      required:
      - user
      - visible_employee
    LocaleEnum:
      enum:
      - cs_CZ
      - de_DE
      - en_AU
      - en_CA
      - en_GB
      - en_SG
      - en_US
      - es_ES
      - es_US
      - fr_CA
      - fr_FR
      - hu_HU
      - it_IT
      - ja_JP
      - ms_MY
      - pl_PL
      - pt_PT
      - ru_RU
      - sk_SK
      - zh_CN
      - zh_SG
      type: string
    BlankEnum:
      enum:
      - ''
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"