import { APIResource } from "../core/resource.js"; import { APIPromise } from "../core/api-promise.js"; import { RequestOptions } from "../internal/request-options.js"; /** * Baseline required fields for submitting hires by country and hire type */ export declare class HireRequirements extends APIResource { /** * Return required fields for a country and hire type. Colombia and Philippines * also resolve company schedule and transfer-tenure configuration. * requires_web_hiring is true when the hire must be completed in Rippling. For * Brazil, Colombia, and Philippines direct hire, supply legal_entity_id from GET * /company-legal-entities/ to resolve payroll-field requiredness and currency; * omit it for a baseline catalog. Brazil resolves CBO, union, and BRL * requirements. The caller must have read access to the selected entity. Other * country and hire-type combinations reject legal_entity_id. For Colombia and * Philippines, supply employment_type_id and contract_type to resolve * incentive_plan and relocation availability; direct hire also requires * legal_entity_id for this lookup. An omitted field available value is unresolved. * requirements_version identifies the baseline catalog snapshot and is not * accepted by POST /hires/. Configuration-dependent responses use a content-based * ETag and Cache-Control: private, no-cache. POST /hires/ still validates the * selected configuration at submission time. * * @example HTTP * Representative request and response shapes. * ``` * GET /hire-requirements/?country_code=country_code&hire_type=direct_hire&legal_entity_id=legal_entity_id&employment_type_id=employment_type_id&contract_type=INDEFINITE HTTP/1.1 * Host: rest.ripplingapis.com * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "resolved_context": { * "legal_entity_id": "string", * "employment_type_id": "string", * "contract_type": "FIXED" * }, * "requires_web_hiring": false, * "requirements_version": "string", * "country_code": "string", * "hire_type": "string", * "legal_entity_id": "string", * "required_groups": [ * "string" * ], * "fields_by_group": [ * null * ], * "unsupported_fields": [ * "string" * ], * "warnings": [ * "string" * ] * } * ``` */ list(query: HireRequirementListParams, options?: RequestOptions): APIPromise; } /** * Public GET /hire-requirements/ body. Shape matches hiring's catalog JSON. */ export interface HireRequirementListResponse { /** * ISO 3166-1 alpha-2 country code used for the lookup. */ country_code: string; /** * Hiring-owned field catalog grouped by request section. */ fields_by_group: Array; /** * Hire type for this catalog. POST /hires/ uses the same value. An omitted POST * value defaults to direct_hire. */ hire_type: string; /** * Groups you must send for this country. */ required_groups: Array; /** * Baseline requirement contract version for this country and hire type. * Entity-specific requirements can change independently; use the ETag to identify * a resolved response. */ requirements_version: string; /** * Company legal entity ID used to resolve this Brazil direct-hire catalog. Omitted * for baseline catalogs. An underlying legal entity ID supplied in the query is * normalized to the corresponding ID from GET /company-legal-entities/. */ legal_entity_id?: string; /** * Whether work-pattern auto-assignment requires completing a Colombia or * Philippines hire in Rippling. When true, POST /hires/ fails with invalid_request * before creation regardless of schedule input. False means this restriction does * not apply; other hire validation still applies. Omitted for other countries. */ requires_web_hiring?: boolean; /** * Validated query selectors used for Colombia or Philippines configuration * discovery. Omitted selectors leave dependent field availability unresolved. */ resolved_context?: HireRequirementListResponse.ResolvedContext; /** * Public field paths that are not writable for this selector tuple. */ unsupported_fields?: Array; /** * Non-fatal warnings for this lookup. */ warnings?: Array; } export declare namespace HireRequirementListResponse { /** * Validated query selectors used for Colombia or Philippines configuration * discovery. Omitted selectors leave dependent field availability unresolved. */ interface ResolvedContext { /** * Proposed employment.contract.type used to resolve compensation availability: * INDEFINITE or FIXED. */ contract_type?: 'FIXED' | 'INDEFINITE'; /** * Employment type id used to resolve compensation availability. Obtain it from GET * /employment-types/. */ employment_type_id?: string; /** * Canonical company legal entity id used to resolve direct-hire requirements. * Obtain it from GET /company-legal-entities/. An underlying legal entity id is * accepted as a query selector and normalized to this company legal entity id. */ legal_entity_id?: string; } } export interface HireRequirementListParams { /** * ISO 3166-1 alpha-2 country code. Direct hire and EOR are supported in AU, BR, * CA, CH, CN, CO, DE, ES, FR, GB, HK, IE, IN, MX, NL, NZ, PH, TW, US, and UY. */ country_code: string; /** * Hire type: direct_hire or eor. */ hire_type: 'direct_hire' | 'eor'; /** * For Colombia and Philippines: proposed employment.contract.type. Requires * employment_type_id. Supply all compensation selectors described on * employment_type_id to resolve availability. Other values, including an empty * value, return 400. */ contract_type?: 'INDEFINITE' | 'FIXED'; /** * For Colombia and Philippines: employment type id from GET /employment-types/. * Must be readable and available for this company, country, and hire type. Supply * with contract_type and, for direct hire, legal_entity_id to resolve * incentive_plan and relocation availability. Omitted selectors leave dependent * available values unresolved; empty, invalid, inaccessible, or ineligible ids * return 400. */ employment_type_id?: string; /** * For Brazil, Colombia, and Philippines direct_hire only: the legal entity id from * GET /company-legal-entities/. Resolves entity-specific payroll-field * requirements and base-pay currency. An underlying legal entity id is also * accepted and normalized to its company legal entity id in the response. The * entity must be readable and eligible for this company and country. Omit for a * baseline catalog or EOR. Empty, invalid, inaccessible, or ineligible ids * return 400. */ legal_entity_id?: string; } export declare namespace HireRequirements { export { type HireRequirementListResponse as HireRequirementListResponse, type HireRequirementListParams as HireRequirementListParams, }; } //# sourceMappingURL=hire-requirements.d.ts.map