// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../core/resource'; import * as BusinessPartnersAPI from './business-partners'; import * as DepartmentsAPI from './departments'; import * as EmploymentTypesAPI from './employment-types'; import * as JobRequisitionsAPI from './job-requisitions'; import * as LevelsAPI from './levels'; import * as TeamsAPI from './teams'; import * as WorkLocationsAPI from './work-locations'; import * as WorkersAPI from './workers'; import { APIPromise } from '../core/api-promise'; import { PageCursorURL, PagePromise } from '../core/pagination'; import { RequestOptions } from '../internal/request-options'; import { path } from '../internal/utils/path'; /** * Headcount allocations for the company */ export class HeadcountPositions extends APIResource { /** * A list of headcount positions. * * - Requires: `API Tier 2` * - Filterable fields: `created_at`, `position_id`, `position_type`, * `position_sub_type`, `department_id`, `work_location_id`, `level_id`, * `teams_id`, `job_requisition_id`, `recruiter_id`, `headcount_owner_id`, * `worker_id`, `backfill_for_id`, `employment_type_id`, `in_budget`, * `target_start_date`, `current_start_date`, `job_function_id`, `priority_id` * - Expandable fields: `department`, `work_location`, `level`, `teams`, * `job_requisition`, `recruiter`, `headcount_owner`, `worker`, `backfill_for`, * `employment_type`, `priority`, `job_function`, `location_factor` * - Sortable fields: `id`, `created_at`, `updated_at`, `position_id`, * `position_type`, `position_sub_type`, `department_id`, `work_location_id`, * `level_id`, `job_requisition_id`, `recruiter_id`, `headcount_owner_id`, * `worker_id`, `backfill_for_id`, `employment_type_id`, `in_budget`, * `target_start_date`, `current_start_date`, `priority_id`, `job_function_id` */ list( query: HeadcountPositionListParams | null | undefined = {}, options?: RequestOptions, ): PagePromise { return this._client.getAPIList('/headcount-positions/', PageCursorURL, { query, ...options, }); } /** * Retrieve a specific headcount position */ retrieve( id: string, query: HeadcountPositionRetrieveParams | null | undefined = {}, options?: RequestOptions, ): APIPromise { return this._client.get(path`/headcount-positions/${id}/`, { query, ...options }); } } export type HeadcountPositionListResponsesPageCursorURL = PageCursorURL; export interface HeadcountPositionListResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Compensation data synched from worker compensation */ actual_compensation?: HeadcountPositionListResponse.ActualCompensation; /** * Worker for whom this headcount position was requested as a backfill * * Expandable field */ backfill_for?: WorkersAPI.Worker; /** * ID of the worker for whom this headcount position was requested as a backfill */ backfill_for_id?: string; /** * Compensation data defined through comp band */ comp_band_compensation?: HeadcountPositionListResponse.CompBandCompensation; /** * Most recent start date estimate or the actual hire date if already filled */ current_start_date?: string; /** * Department the headcount belongs to * * Expandable field */ department?: DepartmentsAPI.Department; /** * ID for the department the headcount belongs to */ department_id?: string; /** * Employment type the headcount is assigned to * * Expandable field */ employment_type?: EmploymentTypesAPI.CompanyEmploymentType; /** * ID for the employment type the headcount is assigned to */ employment_type_id?: string; /** * Targeted end date for the headcount */ end_date?: string; /** * Owner of the headcount * * Expandable field */ headcount_owner?: WorkersAPI.Worker; /** * ID for the headcount owner */ headcount_owner_id?: string; /** * Whether the headcount position is in budget */ in_budget?: boolean; /** * Job function assigned to this headcount * * Expandable field */ job_function?: HeadcountPositionListResponse.JobFunction; /** * ID for the job function the headcount is assigned to */ job_function_id?: string; /** * Job requisition the headcount is associated with * * Expandable field */ job_requisition?: JobRequisitionsAPI.JobRequisition; /** * ID for the job requisition the headcount is associated with */ job_requisition_id?: string; /** * Level the headcount is assigned to * * Expandable field */ level?: LevelsAPI.Level; /** * ID for the level the headcount is assigned to */ level_id?: string; /** * Location factor assigned to this headcount * * Expandable field */ location_factor?: HeadcountPositionListResponse.LocationFactor; /** * ID for the location factor the headcount is assigned to */ location_factor_id?: string; /** * Headcount notes */ notes?: string; /** * Position name for the headcount, for ex PID100037 */ position_id?: string; /** * More granular classification of headcount position type. `NEW` New headcount * created, typically paired with the OPEN_HEADCOUNT type. `BACKFILL` Replacement * headcount for someone who left the company. `FORECASTED_ATTRITION` Headcount * that does not count toward the budget, also known as provisional position in the * application, `HIRING_STAGE` Person is going through the hiring process, paired * with the FUTURE_START type. `OFFER_STAGE` Offer has been extended to a * candidate, awaiting their decision. Paired with the FUTURE_START type. * `OFFER_ACCEPTED` Candidate has accepted the offer but has not yet started. * Paired with the FUTURE_START type. `PLAN_CHANGE` Headcount status changed due to * business decision. Paired with CLOSED type. `TERMINATED` Role was filled, but * the employee was separated from the company. Paired with CLOSED type. * `TRANSFERRED` Employee moved internally to another role. Paired with CLOSED * type. */ position_sub_type?: | 'NEW' | 'BACKFILL' | 'FORECASTED_ATTRITION' | 'HIRING_STAGE' | 'OFFER_STAGE' | 'OFFER_ACCEPTED' | 'PLAN_CHANGE' | 'TERMINATED' | 'TRANSFERRED'; /** * Type of headcount position. `OPEN_HEADCOUNT` A headcount position that's not yet * filled. `FUTURE_START` Headcount where a candidate is going through the hiring * process, or an offer has been accepted, but the person has not yet started. * `ACTIVE` Headcount where a candidate has been hired and started. `CLOSED` * Headcount that's no longer available to fill. */ position_type?: 'OPEN_HEADCOUNT' | 'FUTURE_START' | 'ACTIVE' | 'CLOSED'; /** * Priority assigned to this headcount * * Expandable field */ priority?: HeadcountPositionListResponse.Priority; /** * ID for the headcount priority */ priority_id?: string; /** * Recruiter working on filling the position * * Expandable field */ recruiter?: WorkersAPI.Worker; /** * ID for the recruiter working on filling the position */ recruiter_id?: string; /** * The estimated start date when the position was first created */ target_start_date?: string; /** * Teams the headcount belongs to * * Expandable field */ teams?: Array; /** * IDs for the teams the headcount belongs to */ teams_id?: Array; /** * Job title for the position. For a vacant headcount position, this can be defined * on creation. Once the position is occupied, it’s synched from the associated * worker’s job title. */ title?: string; /** * Work location the headcount is assigned to * * Expandable field */ work_location?: WorkLocationsAPI.WorkLocation; /** * ID for the work location the headcount is assigned to */ work_location_id?: string; /** * Worker hired into the headcount * * Expandable field */ worker?: WorkersAPI.Worker; /** * ID for the worker hired into the headcount */ worker_id?: string; } export namespace HeadcountPositionListResponse { /** * Compensation data synched from worker compensation */ export interface ActualCompensation { /** * Annual base pay for the headcount position */ base_pay?: ActualCompensation.BasePay; /** * Annual bonus for the headcount position */ bonus?: ActualCompensation.Bonus; /** * Annual on target commission for the headcount position */ commission?: ActualCompensation.Commission; /** * Annual total taxes and benefits compensation for this headcount position */ tax_and_benefits?: ActualCompensation.TaxAndBenefits; /** * Annual total cash compensation for the headcount position */ total_cash?: ActualCompensation.TotalCash; /** * Annual total equity compensation for the headcount position */ total_equity?: ActualCompensation.TotalEquity; } export namespace ActualCompensation { /** * Annual base pay for the headcount position */ export interface BasePay { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual bonus for the headcount position */ export interface Bonus { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual on target commission for the headcount position */ export interface Commission { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total taxes and benefits compensation for this headcount position */ export interface TaxAndBenefits { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total cash compensation for the headcount position */ export interface TotalCash { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total equity compensation for the headcount position */ export interface TotalEquity { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } } /** * Compensation data defined through comp band */ export interface CompBandCompensation { /** * Annual base pay for the headcount position */ base_pay?: CompBandCompensation.BasePay; /** * Annual bonus for the headcount position */ bonus?: CompBandCompensation.Bonus; /** * Annual on target commission for the headcount position */ commission?: CompBandCompensation.Commission; /** * Annual total taxes and benefits compensation for this headcount position */ tax_and_benefits?: CompBandCompensation.TaxAndBenefits; /** * Annual total cash compensation for the headcount position */ total_cash?: CompBandCompensation.TotalCash; /** * Annual total equity compensation for the headcount position */ total_equity?: CompBandCompensation.TotalEquity; } export namespace CompBandCompensation { /** * Annual base pay for the headcount position */ export interface BasePay { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual bonus for the headcount position */ export interface Bonus { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual on target commission for the headcount position */ export interface Commission { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total taxes and benefits compensation for this headcount position */ export interface TaxAndBenefits { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total cash compensation for the headcount position */ export interface TotalCash { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total equity compensation for the headcount position */ export interface TotalEquity { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } } /** * Job function assigned to this headcount * * Expandable field */ export interface JobFunction { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Displayed name of the job function */ name?: string; } /** * Location factor assigned to this headcount * * Expandable field */ export interface LocationFactor { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Compensation adjustment percentage */ adjustment_factor?: number; /** * Country information set to the country code */ country?: LocationFactor.Country; /** * Human-readable name for the location factor */ display_name?: string; /** * The labor market category (e.g., "Engineering", "Marketing", "Sales") */ labour_bucket?: string; } export namespace LocationFactor { /** * Country information set to the country code */ export interface Country { /** * The code of the country. */ code: | 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'CV' | 'KH' | 'CM' | 'CA' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'SZ' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IQ' | 'IR' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KR' | 'XK' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'AN' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MK' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RO' | 'RU' | 'RW' | 'RE' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SY' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SE' | 'CH' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW'; } } /** * Priority assigned to this headcount * * Expandable field */ export interface Priority { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Display name of the headcount priority */ name?: string; } } /** * Meta information for the response. */ export interface HeadcountPositionRetrieveResponse extends BusinessPartnersAPI.Meta { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Compensation data synched from worker compensation */ actual_compensation?: HeadcountPositionRetrieveResponse.ActualCompensation; /** * Worker for whom this headcount position was requested as a backfill * * Expandable field */ backfill_for?: WorkersAPI.Worker; /** * ID of the worker for whom this headcount position was requested as a backfill */ backfill_for_id?: string; /** * Compensation data defined through comp band */ comp_band_compensation?: HeadcountPositionRetrieveResponse.CompBandCompensation; /** * Most recent start date estimate or the actual hire date if already filled */ current_start_date?: string; /** * Department the headcount belongs to * * Expandable field */ department?: DepartmentsAPI.Department; /** * ID for the department the headcount belongs to */ department_id?: string; /** * Employment type the headcount is assigned to * * Expandable field */ employment_type?: EmploymentTypesAPI.CompanyEmploymentType; /** * ID for the employment type the headcount is assigned to */ employment_type_id?: string; /** * Targeted end date for the headcount */ end_date?: string; /** * Owner of the headcount * * Expandable field */ headcount_owner?: WorkersAPI.Worker; /** * ID for the headcount owner */ headcount_owner_id?: string; /** * Whether the headcount position is in budget */ in_budget?: boolean; /** * Job function assigned to this headcount * * Expandable field */ job_function?: HeadcountPositionRetrieveResponse.JobFunction; /** * ID for the job function the headcount is assigned to */ job_function_id?: string; /** * Job requisition the headcount is associated with * * Expandable field */ job_requisition?: JobRequisitionsAPI.JobRequisition; /** * ID for the job requisition the headcount is associated with */ job_requisition_id?: string; /** * Level the headcount is assigned to * * Expandable field */ level?: LevelsAPI.Level; /** * ID for the level the headcount is assigned to */ level_id?: string; /** * Location factor assigned to this headcount * * Expandable field */ location_factor?: HeadcountPositionRetrieveResponse.LocationFactor; /** * ID for the location factor the headcount is assigned to */ location_factor_id?: string; /** * Headcount notes */ notes?: string; /** * Position name for the headcount, for ex PID100037 */ position_id?: string; /** * More granular classification of headcount position type. `NEW` New headcount * created, typically paired with the OPEN_HEADCOUNT type. `BACKFILL` Replacement * headcount for someone who left the company. `FORECASTED_ATTRITION` Headcount * that does not count toward the budget, also known as provisional position in the * application, `HIRING_STAGE` Person is going through the hiring process, paired * with the FUTURE_START type. `OFFER_STAGE` Offer has been extended to a * candidate, awaiting their decision. Paired with the FUTURE_START type. * `OFFER_ACCEPTED` Candidate has accepted the offer but has not yet started. * Paired with the FUTURE_START type. `PLAN_CHANGE` Headcount status changed due to * business decision. Paired with CLOSED type. `TERMINATED` Role was filled, but * the employee was separated from the company. Paired with CLOSED type. * `TRANSFERRED` Employee moved internally to another role. Paired with CLOSED * type. */ position_sub_type?: | 'NEW' | 'BACKFILL' | 'FORECASTED_ATTRITION' | 'HIRING_STAGE' | 'OFFER_STAGE' | 'OFFER_ACCEPTED' | 'PLAN_CHANGE' | 'TERMINATED' | 'TRANSFERRED'; /** * Type of headcount position. `OPEN_HEADCOUNT` A headcount position that's not yet * filled. `FUTURE_START` Headcount where a candidate is going through the hiring * process, or an offer has been accepted, but the person has not yet started. * `ACTIVE` Headcount where a candidate has been hired and started. `CLOSED` * Headcount that's no longer available to fill. */ position_type?: 'OPEN_HEADCOUNT' | 'FUTURE_START' | 'ACTIVE' | 'CLOSED'; /** * Priority assigned to this headcount * * Expandable field */ priority?: HeadcountPositionRetrieveResponse.Priority; /** * ID for the headcount priority */ priority_id?: string; /** * Recruiter working on filling the position * * Expandable field */ recruiter?: WorkersAPI.Worker; /** * ID for the recruiter working on filling the position */ recruiter_id?: string; /** * The estimated start date when the position was first created */ target_start_date?: string; /** * Teams the headcount belongs to * * Expandable field */ teams?: Array; /** * IDs for the teams the headcount belongs to */ teams_id?: Array; /** * Job title for the position. For a vacant headcount position, this can be defined * on creation. Once the position is occupied, it’s synched from the associated * worker’s job title. */ title?: string; /** * Work location the headcount is assigned to * * Expandable field */ work_location?: WorkLocationsAPI.WorkLocation; /** * ID for the work location the headcount is assigned to */ work_location_id?: string; /** * Worker hired into the headcount * * Expandable field */ worker?: WorkersAPI.Worker; /** * ID for the worker hired into the headcount */ worker_id?: string; } export namespace HeadcountPositionRetrieveResponse { /** * Compensation data synched from worker compensation */ export interface ActualCompensation { /** * Annual base pay for the headcount position */ base_pay?: ActualCompensation.BasePay; /** * Annual bonus for the headcount position */ bonus?: ActualCompensation.Bonus; /** * Annual on target commission for the headcount position */ commission?: ActualCompensation.Commission; /** * Annual total taxes and benefits compensation for this headcount position */ tax_and_benefits?: ActualCompensation.TaxAndBenefits; /** * Annual total cash compensation for the headcount position */ total_cash?: ActualCompensation.TotalCash; /** * Annual total equity compensation for the headcount position */ total_equity?: ActualCompensation.TotalEquity; } export namespace ActualCompensation { /** * Annual base pay for the headcount position */ export interface BasePay { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual bonus for the headcount position */ export interface Bonus { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual on target commission for the headcount position */ export interface Commission { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total taxes and benefits compensation for this headcount position */ export interface TaxAndBenefits { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total cash compensation for the headcount position */ export interface TotalCash { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total equity compensation for the headcount position */ export interface TotalEquity { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } } /** * Compensation data defined through comp band */ export interface CompBandCompensation { /** * Annual base pay for the headcount position */ base_pay?: CompBandCompensation.BasePay; /** * Annual bonus for the headcount position */ bonus?: CompBandCompensation.Bonus; /** * Annual on target commission for the headcount position */ commission?: CompBandCompensation.Commission; /** * Annual total taxes and benefits compensation for this headcount position */ tax_and_benefits?: CompBandCompensation.TaxAndBenefits; /** * Annual total cash compensation for the headcount position */ total_cash?: CompBandCompensation.TotalCash; /** * Annual total equity compensation for the headcount position */ total_equity?: CompBandCompensation.TotalEquity; } export namespace CompBandCompensation { /** * Annual base pay for the headcount position */ export interface BasePay { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual bonus for the headcount position */ export interface Bonus { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual on target commission for the headcount position */ export interface Commission { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total taxes and benefits compensation for this headcount position */ export interface TaxAndBenefits { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total cash compensation for the headcount position */ export interface TotalCash { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } /** * Annual total equity compensation for the headcount position */ export interface TotalEquity { /** * The currency type, ex: USD, EUR, etc. */ currency_type?: string; /** * The decimal amount for the currency. */ value?: number; } } /** * Job function assigned to this headcount * * Expandable field */ export interface JobFunction { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Displayed name of the job function */ name?: string; } /** * Location factor assigned to this headcount * * Expandable field */ export interface LocationFactor { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Compensation adjustment percentage */ adjustment_factor?: number; /** * Country information set to the country code */ country?: LocationFactor.Country; /** * Human-readable name for the location factor */ display_name?: string; /** * The labor market category (e.g., "Engineering", "Marketing", "Sales") */ labour_bucket?: string; } export namespace LocationFactor { /** * Country information set to the country code */ export interface Country { /** * The code of the country. */ code: | 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'CV' | 'KH' | 'CM' | 'CA' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'SZ' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IQ' | 'IR' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KR' | 'XK' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'AN' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MK' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RO' | 'RU' | 'RW' | 'RE' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SY' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SE' | 'CH' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW'; } } /** * Priority assigned to this headcount * * Expandable field */ export interface Priority { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Record update date */ updated_at: string; /** * Display name of the headcount priority */ name?: string; } } export interface HeadcountPositionListParams { cursor?: string; expand?: string; filter?: string; order_by?: string; } export interface HeadcountPositionRetrieveParams { expand?: string; } export declare namespace HeadcountPositions { export { type HeadcountPositionListResponse as HeadcountPositionListResponse, type HeadcountPositionRetrieveResponse as HeadcountPositionRetrieveResponse, type HeadcountPositionListResponsesPageCursorURL as HeadcountPositionListResponsesPageCursorURL, type HeadcountPositionListParams as HeadcountPositionListParams, type HeadcountPositionRetrieveParams as HeadcountPositionRetrieveParams, }; }