Deel: List job openings — 200 response body — data item
List job openings: 200 response body, field data / item. Complete fields and constraints for contract 2026-10-27.
API reference · Contract 2026-10-27
SDK schema: List job openings — 200 response body — data item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
compensation_currency_iso_code | JSON | Optional | |
compensation_currency_iso_code (anyOf 1) | string | Alternative | ISO 4217 currency code for compensation. |
compensation_currency_iso_code (anyOf 2) | null | Alternative | ISO 4217 currency code for compensation. |
compensation_period | JSON | Optional | |
compensation_period (anyOf 1) | string | Alternative | Compensation period (e.g. yearly, monthly). |
compensation_period (anyOf 2) | null | Alternative | Compensation period (e.g. yearly, monthly). |
created_at | string | Required within parent | ISO 8601 datetime when the opening was created. Format: date-time |
created_by_hris_organization_user_id | JSON | Optional | |
created_by_hris_organization_user_id (anyOf 1) | string | Alternative | HRIS organization user ID of the user who created this opening. Format: uuid |
created_by_hris_organization_user_id (anyOf 2) | null | Alternative | HRIS organization user ID of the user who created this opening. Format: uuid |
employment_type | JSON | Optional | Employment type details. |
employment_type (anyOf 1) | Model | Alternative | Expand List job openings — 200 response body — data item employment type Employment type details |
employment_type (anyOf 2) | null | Alternative | |
employment_type_id | JSON | Optional | |
employment_type_id (anyOf 1) | string | Alternative | ID of the employment type associated with the opening. Format: uuid |
employment_type_id (anyOf 2) | null | Alternative | ID of the employment type associated with the opening. Format: uuid |
filled_by_application | JSON | Optional | The application that filled this opening, including the hired candidate name. Null unless the opening is filled. |
filled_by_application (anyOf 1) | Model | Alternative | Expand List job openings — 200 response body — data item filled by application candidate, id |
filled_by_application (anyOf 2) | null | Alternative | |
filled_by_application_id | JSON | Optional | |
filled_by_application_id (anyOf 1) | string | Alternative | ID of the application that filled this opening, if any. Format: uuid |
filled_by_application_id (anyOf 2) | null | Alternative | ID of the application that filled this opening, if any. Format: uuid |
filled_by_offer | JSON | Optional | The accepted offer that filled this opening (latest ACCEPTED offer by update time). Null unless the opening is filled with an accepted offer. Contains no compensation data. |
filled_by_offer (anyOf 1) | Model | Alternative | Expand List job openings — 200 response body — data / item / filled_by_offer / offer_status_enum: ACCEPTED |
filled_by_offer (anyOf 2) | null | Alternative | |
id | string | Required within parent | Unique identifier of the opening. Format: uuid |
is_confidential | boolean | Optional | Whether this opening is marked confidential. |
job_ids | array | Optional | IDs of jobs linked to this opening. |
job_ids[] | string | Each item | Format: uuid |
location | JSON | Optional | Location details. |
location (anyOf 1) | Model | Alternative | Expand List job openings — 200 response body — data item location Location details |
location (anyOf 2) | null | Alternative | |
location_id | JSON | Optional | |
location_id (anyOf 1) | string | Alternative | ID of the location associated with the opening. Format: uuid |
location_id (anyOf 2) | null | Alternative | ID of the location associated with the opening. Format: uuid |
max_compensation_amount | JSON | Optional | |
max_compensation_amount (anyOf 1) | string | Alternative | Maximum compensation amount as a decimal string. |
max_compensation_amount (anyOf 2) | null | Alternative | Maximum compensation amount as a decimal string. |
min_compensation_amount | JSON | Optional | |
min_compensation_amount (anyOf 1) | string | Alternative | Minimum compensation amount as a decimal string. |
min_compensation_amount (anyOf 2) | null | Alternative | Minimum compensation amount as a decimal string. |
opening_numeric_id | JSON | Required within parent | |
opening_numeric_id (anyOf 1) | integer | Alternative | Numeric part of the opening identifier (e.g. 42 in ENG-42). |
opening_numeric_id (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
opening_prefix | string | Required within parent | Prefix of the opening identifier (e.g. ENG in ENG-42). |
opening_type_slug | string | Required within parent | Whether this opening is for a new hire or a backfill. Known values: NEW_HIRE, BACKFILL |
status | string | Required within parent | Current lifecycle status of the opening. Known values: DRAFT, OPEN, FILLED, CLOSED, WAITING_FOR_APPROVAL, APPROVED, NOT_APPROVED, ARCHIVED |
target_hire_date | JSON | Optional | |
target_hire_date (anyOf 1) | string | Alternative | Target date by which the opening should be filled (ISO 8601). Format: date-time |
target_hire_date (anyOf 2) | null | Alternative | Target date by which the opening should be filled (ISO 8601). Format: date-time |
target_start_date | JSON | Optional | |
target_start_date (anyOf 1) | string | Alternative | Target start date for the new hire (ISO 8601). Format: date-time |
target_start_date (anyOf 2) | null | Alternative | Target start date for the new hire (ISO 8601). Format: date-time |
team | JSON | Optional | Team details. |
team (anyOf 1) | Model | Alternative | Expand List job openings — 200 response body — data item team Team details |
team (anyOf 2) | null | Alternative | |
team_id | JSON | Optional | |
team_id (anyOf 1) | string | Alternative | ID of the team this opening belongs to. Format: uuid |
team_id (anyOf 2) | null | Alternative | ID of the team this opening belongs to. Format: uuid |
title | string | Required within parent | Title of the job opening. |
updated_at | string | Required within parent | ISO 8601 datetime when the opening was last updated. Format: date-time |
updated_by_hris_organization_user_id | JSON | Optional | |
updated_by_hris_organization_user_id (anyOf 1) | string | Alternative | HRIS organization user ID of the user who last updated this opening. Format: uuid |
updated_by_hris_organization_user_id (anyOf 2) | null | Alternative | HRIS organization user ID of the user who last updated this opening. Format: uuid |
Referenced models: List job openings — 200 response body — data item employment type Employment type details, List job openings — 200 response body — data item team Team details, List job openings — 200 response body — data item filled by application candidate, id, List job openings — 200 response body — data / item / filled_by_offer / offer_status_enum: ACCEPTED, List job openings — 200 response body — data item location Location details