// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../core/resource'; import { APIPromise } from '../core/api-promise'; import { RequestOptions } from '../internal/request-options'; /** * A request for a job to be filled by a candidate */ export class JobRequisitionsWrite extends APIResource { /** * Create a new job requisition */ create( body: JobRequisitionsWriteCreateParams, options?: RequestOptions, ): APIPromise { return this._client.post('/job-requisitions-write/', { body, ...options }); } } /** * DTO for creating JobRequisitions via the Platform API. * Maps to the existing ATS JobRequisitionDTO for use with create_from_DTO service. */ export interface JobRequisitionsWriteCreateResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * Title/name of the job requisition */ name: string; /** * Record update date */ updated_at: string; /** * Whether this requisition is confidential */ confidential?: boolean; /** * List of role IDs allowed to view confidential requisition */ confidential_whitelist?: Array; /** * Coordinator role ID */ coordinator_id?: string; /** * Whether to default to private invites */ default_private_invites?: boolean; /** * List of department IDs */ departments?: Array; /** * Job description */ description?: string; /** * Company employment type ID */ employment_type_id?: string; /** * Hiring manager role ID */ hiring_manager_id?: string; /** * Whether this is an evergreen requisition */ is_evergreen?: boolean; /** * List of level IDs */ levels?: Array; /** * Pipeline plan ID to use for this requisition */ pipeline_plan_id?: string; /** * Primary recruiter role ID */ recruiter_id?: string; /** * Customer-defined requisition ID. Auto-generated if not provided. */ requisition_id?: string; /** * Salary currency code */ salary_currency?: string; /** * Salary amount per unit */ salary_per_unit?: number; /** * Salary range upper bound */ salary_per_unit_high?: number; /** * Salary range lower bound */ salary_per_unit_low?: number; /** * Salary type */ salary_type?: string; /** * Salary unit (HOUR, DAY, WEEK, MONTH, YEAR, PAY_PERIOD) */ salary_unit?: string; /** * List of secondary recruiter role IDs */ secondary_recruiters?: Array; /** * Sourcer role ID */ sourcer_id?: string; /** * Job requisition status (e.g., DRAFT, OPEN, CLOSED) */ status?: string; /** * Target close date */ target_close?: string; /** * Target employee start date */ target_employee_start_date?: string; /** * List of team IDs */ teams?: Array; /** * Internal employee title */ title?: string; /** * List of work location IDs */ work_locations?: Array; } export interface JobRequisitionsWriteCreateParams { /** * Title/name of the job requisition */ name: string; /** * Whether this requisition is confidential */ confidential?: boolean; /** * List of role IDs allowed to view confidential requisition */ confidential_whitelist?: Array; /** * Coordinator role ID */ coordinator_id?: string; /** * Whether to default to private invites */ default_private_invites?: boolean; /** * List of department IDs */ departments?: Array; /** * Job description */ description?: string; /** * Company employment type ID */ employment_type_id?: string; /** * Hiring manager role ID */ hiring_manager_id?: string; /** * Whether this is an evergreen requisition */ is_evergreen?: boolean; /** * List of level IDs */ levels?: Array; /** * Pipeline plan ID to use for this requisition */ pipeline_plan_id?: string; /** * Primary recruiter role ID */ recruiter_id?: string; /** * Customer-defined requisition ID. Auto-generated if not provided. */ requisition_id?: string; /** * Salary currency code */ salary_currency?: string; /** * Salary amount per unit */ salary_per_unit?: number; /** * Salary range upper bound */ salary_per_unit_high?: number; /** * Salary range lower bound */ salary_per_unit_low?: number; /** * Salary type */ salary_type?: string; /** * Salary unit (HOUR, DAY, WEEK, MONTH, YEAR, PAY_PERIOD) */ salary_unit?: string; /** * List of secondary recruiter role IDs */ secondary_recruiters?: Array; /** * Sourcer role ID */ sourcer_id?: string; /** * Job requisition status (e.g., DRAFT, OPEN, CLOSED) */ status?: string; /** * Target close date */ target_close?: string; /** * Target employee start date */ target_employee_start_date?: string; /** * List of team IDs */ teams?: Array; /** * Internal employee title */ title?: string; /** * List of work location IDs */ work_locations?: Array; } export declare namespace JobRequisitionsWrite { export { type JobRequisitionsWriteCreateResponse as JobRequisitionsWriteCreateResponse, type JobRequisitionsWriteCreateParams as JobRequisitionsWriteCreateParams, }; }