Overview
The staffing entities endpoint provides a unified way to read hiring structures from HRIS systems. It normalizes records that are often called positions, requisitions, or jobs so you can implement one integration flow across different providers. This feature is especially useful when your product needs to:- show available hiring slots for the creation of job requisitions or job postings
- assign newly hired employee to the correct org structure and legal entity
- build approvals or workflows around hiring demand
- distinguish one-off backfills from evergreen hiring
For full request/response details and all supported query parameters, see
GET staffing entities.
Understanding Position vs Requisition vs Job
HRIS systems do not use these terms consistently, but a common pattern is:- Position: structural slot in the organization, often tied to department, manager, location, and budget
- Requisition: request to fill a role, usually approval-driven and often linked to a parent position
- Job: generic hiring object in some systems, frequently used for lightweight or evergreen hiring flows
model_type with one of:
POSITIONREQUISITIONJOB
model_types.
API Surface
Get staffing entities
Retrieve staffing entities and filter by model type or status.
Get employee form
Get an adjusted employee creation form after selecting the correct target
staffing entity.
Create employee with form
Create employees with the target staffing entity.
Key Properties
Identity and classification
id: Kombo IDremote_id: provider IDname: title/name of the entitymodel_type:JOB,POSITION, orREQUISITIONparent_id: parent staffing entity (commonly a requisition -> position link)
Hiring context
status: one ofOPEN_LIMITED,OPEN_UNLIMITED,PENDING,FROZEN,FILLED,CLOSEDnumber_of_openings: number of openings (mainly meaningful forOPEN_LIMITED)description: often equivalent to a job description and can include HTMLemployment_types: unified + remote labels for contract type classification
Organizational links
locations: related work locationslegal_entities: related employing entities/sub-companiesgroups: related departments/teams/cost centers
Integration metadata
remote_url: deep link to the record in the source HRIScustom_fields: normalized custom fields for this modelintegration_fields: provider-specific passthrough fields (if enabled)remote_created_at,remote_updated_at,changed_at,remote_deleted_atremote_data: raw provider payload (if configured)
Filtering and Retrieval Patterns
Common query filters include:model_types: filter toPOSITION,REQUISITION,JOBstatuses: filter by lifecycle status- standard list filters like IDs, pagination, and update windows
Implementation Tips
- Pick one primary hiring object per customer (
POSITIONandJOB, orREQUISITION) and persist that choice in your integration settings. - Treat
OPEN_UNLIMITEDas evergreen hiring and avoid interpretingnumber_of_openingsas a hard limit there. - Use
parent_idto build drill-down UIs (for example requisition -> position lineage). - Use
remote_urlfor “Open in HRIS” backlinks in operational workflows. - Prefer
remote_labelfor UI components andunified_typefor internal filtering logic when usingemployment_types.