Skip to content

Rippling: Create hire — request body — body hires item

Create hire: request body, field body / hires / item. Complete fields and constraints for contract 2026-10-28.

API reference · Contract 2026-10-28

SDK schema: Create hire — request body — body hires item

FieldTypePresenceDescription and constraints
$objectRootOne hire on POST /hires/. Country-specific employment fields come from GET /hire-requirements/.
Additional keys: not allowed
client_request_idstringOptionalOptional id echoed on that hire’s result. Not a hire field.
compensationobjectOptionalBase pay and any additional compensation offered for this job. Monetary values contain an ISO 4217 currency code and decimal amount.
Additional keys: not allowed
compensation.base_pay_amountModelOptionalExpand Create hire — request body — body hires item compensation base pay amount
compensation.base_pay_periodstringOptionalUnit of time represented by base_pay_amount: YEAR, MONTH, WEEK, DAY, or HOUR. For example, an annual salary uses YEAR and an hourly rate uses HOUR. Starting with API version 2025-08-01, contractor PAY_AS_YOU_GO compensation requires HOUR, MILESTONE requires YEAR, and FIXED accepts any listed unit.
One of: YEAR, MONTH, WEEK, DAY, HOUR
compensation.commissionModelOptionalExpand Create hire — request body — body hires item compensation commission
compensation.equityModelOptionalExpand Create hire — request body — body hires item compensation equity
compensation.relocationModelOptionalExpand Create hire — request body — body hires item compensation relocation
compensation.remote_working_allowanceobjectOptionalRecurring allowance paid for remote-work expenses. Provide only when listed by GET /hire-requirements/ for the selected country and hire type; use a zero amount when the catalog requires the field but no allowance is offered.
compensation.remote_working_allowance.currency_typestringOptionalThe currency type, ex: USD, EUR, etc.
compensation.remote_working_allowance.valuenumberOptionalThe decimal amount for the currency.
compensation.signing_bonusModelOptionalExpand Create hire — request body — body hires item compensation signing bonus
compensation.target_bonusModelOptionalExpand Create hire — request body — body hires item compensation target bonus
compensation.thirteenth_month_bonusobjectOptionalContractually required thirteenth-month salary payment. Provide only when listed by GET /hire-requirements/ for the selected country and hire type.
compensation.thirteenth_month_bonus.currency_typestringOptionalThe currency type, ex: USD, EUR, etc.
compensation.thirteenth_month_bonus.valuenumberOptionalThe decimal amount for the currency.
custom_fieldsarrayOptionalValues for company-configured custom fields collected during hiring. Use each field’s configured ID and value shape; omit this array when no custom hiring fields are being supplied.
custom_fields[]ModelEach itemExpand Create hire — request body — body hires item custom fields item
employmentobjectRequired within parentThe job: title, hours, and country-specific details.
Additional keys: not allowed
employment.authorized_to_workbooleanOptionalWhether the person is legally authorized to work in the work_location country. Provide only when listed by GET /hire-requirements/; true confirms authorization and false may make the hire ineligible.
employment.collective_bargainingModelOptionalExpand Create hire — request body — body hires item employment collective bargaining
employment.company_uses_digital_currencybooleanOptionalWhether the hiring company conducts business involving cryptocurrency or another digital currency. Required for China EOR hires. A true value may make the hire ineligible for the selected EOR service.
employment.contractModelOptionalExpand Create hire — request body — body hires item employment contract
employment.contractor_paying_entity_typestringOptionalCOMPANY_OWN_ENTITY hires the contractor on the company’s own legal entity. Send that entity in employment.legal_entity_id. Send this when the company is fully migrated to Global Payroll and the work location is in a Contractor of Record state. Omit for non-contractor hires. When the hiring flow requires it and it is omitted, the hire stays incomplete.
One of: COMPANY_OWN_ENTITY
employment.department_idstringOptionalDepartment id from GET /departments/.
employment.dutiesstringOptionalPlain-text summary of the role’s primary responsibilities and day-to-day work.
employment.employment_modelstringOptionalEmployment model for a Germany EOR hire. Use AUG for employee leasing or CONSULTANT for a remote consultant engagement. CONSULTANT is valid only when work_location.is_remote is true.
One of: AUG, CONSULTANT
employment.employment_type_idstringRequired within parentEmployment type id from GET /employment-types/. Starting with API version 2025-08-01, a contractor employment type changes which fields are required or ignored. Call GET /hire-requirements/ for the applicable rules.
employment.engagementobjectOptionalProfessional field and consulting-project details required by the hire context.
Additional keys: not allowed
employment.engagement.consulting_project_descriptionstringRequired within parentDescription of the client project and the work the worker will perform.
employment.engagement.field_of_workstringRequired within parentProfessional field in which the worker will perform the engagement.
employment.eor_costs_acknowledgedbooleanOptionalConfirms that the caller has reviewed and accepts the estimated EOR costs and applicable Rippling EOR terms for this hire. Required for EOR hires and must be true; false means the hire cannot proceed. See https://help.rippling.com/s/article/850659217136 and https://app.rippling.com/legal/eor.
employment.eor_eligibility_terms_acknowledgedbooleanOptionalConfirms that the caller has reviewed and accepts Rippling’s EOR eligibility conditions for this proposed hire, including the EOR screenout guidance. Required for EOR hires and must be true; false means the hire cannot proceed. See https://help.rippling.com/s/article/757822852718.
employment.framework_agreementModelOptionalExpand Create hire — request body — body hires item employment framework agreement
employment.french_occupation_classification_codestringOptionalFrench Professions et Catégories Socioprofessionnelles (PCS) code that classifies the occupation performed by this role, such as 100X. Use a code allowed by GET /hire-requirements/.
employment.hired_due_to_mergerbooleanOptionalRequired for GB and IE EOR. True if this hire is from a merger or acquisition.
employment.is_eor_transferbooleanOptionalWhether the worker’s employment is transferring from another employer-of-record provider. Send true for an EOR-to-EOR transfer and false when this is not an EOR transfer. Required for EOR hires outside the United States.
employment.is_shift_workerbooleanOptionalWhether the role is legally or contractually classified as shift work, rather than merely having hours outside a typical workday. Send true when the applicable employment terms designate the worker as a shift worker; send false when they do not. Required only when listed by GET /hire-requirements/.
employment.is_technology_focused_rolebooleanOptionalWhether the role’s primary work is technology-focused. Required for China EOR hires when social_contribution_city is SHANGHAI or BEIJING; omit it for other cities.
employment.job_classificationstringOptionalUS EEO-1 job category for the role. Use a value returned by GET /hire-requirements/. Omit for contractor hires.
employment.job_function_idstringOptionalJob function that categorizes the type of work performed by this role. Send an id returned by GET /job-functions/.
employment.legal_entity_idstringOptionalSend a candidate entity id from GET /company-legal-entities/. Required for direct_hire; omit for eor. Rippling validates that the selected entity belongs to the company and supports the requested hire.
employment.level_idstringOptionalJob level for the role within the company’s job architecture. Send an id returned by GET /levels/.
employment.manager_idstringOptionalManager worker id from GET /workers/. Omit or null for no manager.
employment.meets_eor_eligibility_criteriabooleanOptionalConfirms that the proposed hire satisfies Rippling’s country-specific EOR eligibility screening criteria. Required for Hong Kong, Switzerland, and New Zealand EOR hires and must be true. Rippling maps this assertion to the applicable country-specific screening response. See https://help.rippling.com/s/article/757822852718.
employment.modern_awardModelOptionalExpand Create hire — request body — body hires item employment modern award
employment.non_competebooleanOptionalWhether the proposed employment terms include a non-compete restriction. Provide only when listed by GET /hire-requirements/.
employment.noticeModelOptionalExpand Create hire — request body — body hires item employment notice
employment.overtime_classificationstringOptionalThe role’s overtime classification under applicable employment law. EXEMPT means overtime requirements do not apply; NON_EXEMPT means the worker may be entitled to overtime pay. Omit for contractor hires.
One of: EXEMPT, NON_EXEMPT
employment.owns_entity_in_countrybooleanOptionalWhether the hiring company owns a legal entity in the worker’s country. Required only when listed by GET /hire-requirements/; for Netherlands EOR hires, this answer determines the applicable hiring path.
employment.paid_sick_daysintegerOptionalAnnual company-provided paid sick-day allowance, excluding any separate statutory entitlement. Provide only when listed by GET /hire-requirements/.
employment.probationModelOptionalExpand Create hire — request body — body hires item employment probation
employment.receives_tipsbooleanOptionalWhether the worker is expected to receive tips as part of this job. Omit for contractor hires.
employment.regular_working_hoursModelOptionalExpand Create hire — request body — body hires item employment regular working hours
employment.requires_trainingbooleanOptionalWhether the employment terms require the worker to complete training for this role. For Spanish direct hires, send true when training is required and false when it is not.
employment.schedule_typestringOptionalThe role’s recurring schedule pattern: FIXED_SCHEDULE for a consistent schedule or ROTATING_SHIFT_SCHEDULE for shifts that rotate. Provide only when listed by GET /hire-requirements/.
One of: FIXED_SCHEDULE, ROTATING_SHIFT_SCHEDULE
employment.soc_codestringOptionalUS Standard Occupational Classification code for the job, such as 15-1252. Omit for contractor hires.
employment.social_contribution_citystringOptionalChinese city whose local social-insurance and statutory contribution rules apply to the worker, such as SHANGHAI or BEIJING. Required for China EOR hires. Use a value returned by GET /hire-requirements/.
employment.start_datestringOptionalStart date in YYYY-MM-DD format.
employment.statutory_contract_classificationstringOptionalCountry-specific statutory contract code. For Spain, use an allowed value returned by GET /hire-requirements/ that is compatible with contract.type and employment_type_id.
employment.statutory_job_classificationstringOptionalStatutory employment classification for the role. For Germany, choose the applicable value returned by GET /hire-requirements/, such as EMPLOYEE, APPRENTICE, WORKING_STUDENT, INTERN, MARGINALLY_EMPLOYED, SHORT_TERM_WORK, or MANAGING_DIRECTOR. Rippling derives the internal classification workflow from this value.
employment.supporting_documentsobjectOptionalEmployment documents required to prepare the hire.
Additional keys: not allowed
employment.supporting_documents.resume_file_idstringOptionalId of the confirmed company-owned PDF or Word resume uploaded through POST /files/.
employment.supporting_documents.variable_compensation_plan_file_idstringOptionalId of the confirmed company-owned PDF or Word variable-compensation plan.
employment.team_idsarrayOptionalTeams the worker should belong to. Send team ids returned by GET /teams/. Omit for no team assignments.
employment.team_ids[]stringEach item
employment.titlestringRequired within parentJob title.
employment.use_default_tenurebooleanOptionalSet to true to start tenure on the start date. False keeps a prior tenure date unset.
employment.vacationModelOptionalExpand Create hire — request body — body hires item employment vacation
employment.vacation_rollover_daysintegerOptionalMaximum unused vacation days the worker may carry into the next leave year. Provide only when listed by GET /hire-requirements/.
employment.weekly_hoursstringOptionalExpected working hours per week. Supports whole or fractional hours, such as 40 or 37.5. Rippling derives any internal weekly-hours classification from this value. Omit for contractor hires.
employment.work_emailstringOptionalWork email for the hire.
employment.work_email_requiredbooleanOptionalSet to false to skip work-email assignment for this hire, including generation by company policy. Do not combine false with a nonempty employment.work_email. Set to true to enable the normal work-email flow. For a newly created hire, true, omission, and null have the same behavior. Omission or null preserves any saved work-email preference. If related_records.existing_role_id identifies a hire that has already moved beyond creation, an explicit true or false can return that hire as incomplete with a validation error.
employment.worker_qualificationstringOptionalWorker’s professional qualification for a Switzerland EOR role, such as Engineer. This is plain text, not a Rippling resource identifier. Provide it only when GET /hire-requirements/ lists worker_qualification for the selected country and hire type.
employment.working_hours_arrangementstringOptionalWorking-hours system that legally applies to a China EOR role. Use STANDARD_WORKING_HOURS for a role governed by the standard daily and weekly limits, or FLEXIBLE_WORKING_HOURS when an approved flexible-hours system applies. Required for China EOR hires.
One of: STANDARD_WORKING_HOURS, FLEXIBLE_WORKING_HOURS
employment.works_in_construction_industrybooleanOptionalWhether the worker will perform work in Germany’s construction industry. Required for Germany EOR hires. Rippling EOR does not currently support these roles, so true makes the hire ineligible.
hire_typestringOptionalEmployment model for this hire: direct_hire employs the person through the company’s own legal entity; eor employs the person through Rippling’s employer-of-record service. Defaults to direct_hire when omitted.
personalobjectOptionalThe person’s legal name and the email address or mobile number used to send their invitation.
Additional keys: not allowed
personal.first_namestringOptionalPerson’s legal given name as it should appear on employment and payroll records.
personal.invite_emailstringOptionalEmail address where the person should receive their Rippling invitation. At least one of invite_email or invite_phone is required; both may be provided.
personal.invite_phonestringOptionalMobile number where the person should receive their Rippling invitation, in international format including the country calling code, for example +14155550123. At least one of invite_email or invite_phone is required; both may be provided.
personal.last_namestringOptionalPerson’s legal family name as it should appear on employment and payroll records.
personal.nationality_codestringOptionalPerson’s nationality as an ISO 3166-1 alpha-2 country code, such as FR for French nationality. Provide it only when listed by GET /hire-requirements/. This is not the country where the person works.
related_recordsModelOptionalExpand Create hire — request body — body hires item related records
work_locationModelRequired within parentExpand Create hire — request body — body hires item work location

Referenced models: Create hire — request body — body hires item custom fields item, Create hire — request body — body hires item compensation base pay amount, Create hire — request body — body hires item employment collective bargaining, Create hire — request body — body hires item compensation commission, Create hire — request body — body hires item employment contract, Create hire — request body — body hires item compensation equity, Create hire — request body — body hires item employment framework agreement, Create hire — request body — body hires item employment modern award, Create hire — request body — body hires item employment notice, Create hire — request body — body hires item employment probation, Create hire — request body — body hires item employment regular working hours, Create hire — request body — body hires item related records, Create hire — request body — body hires item compensation relocation, Create hire — request body — body hires item compensation signing bonus, Create hire — request body — body hires item compensation target bonus, Create hire — request body — body hires item employment vacation, Create hire — request body — body hires item work location

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.