Skip to content

Get Job Questions

The endpoint will allow you to get the screener and demographic questions configured for a job. These are the questions an applicant answers when applying, and they are the companion to the Create Job Application endpoint.

Resource Path

PropertyValue
urlv2/jobs/{id}/questions

Headers

FieldDescription
Accept-LanguageLanguage of the result; if none (or an unconfigured one) is provided, the default language will be provided

Parameters

FieldDescription
idthe job id

Response

The response is an IndeedQuestion object. It always carries a schemaVersion and groups the questions into two collections: screenerQuestions and demographicQuestions. When a job has no questions configured, the object is returned with only its schemaVersion and no question collections.

FieldTypeRequiredDescription
schemaVersionStringYesThe schema version of the response (for example 1.0).
screenerQuestionsScreenerQuestionsNoThe screener questions the applicant must answer. See ScreenerQuestions Object.
demographicQuestionsDemographicQuestionsNoThe demographic questions the applicant may answer. See DemographicQuestions Object.

ScreenerQuestions Object

FieldTypeRequiredDescription
questionsArray of QuestionNoThe list of screener questions. See Question Object.

DemographicQuestions Object

FieldTypeRequiredDescription
questionsArray of QuestionNoThe list of demographic questions. See Question Object.

Question Object

FieldTypeRequiredDescription
idStringNoUnique id of the question.
typeQuestionTypeNoThe type of the question. See QuestionType Values.
questionStringNoThe question text presented to the applicant.
formatStringNoThe expected answer format for the question.
requiredBooleanNoWhether an answer is required (true) or optional (false).
minIntegerNoThe minimum value or length accepted for the answer.
maxIntegerNoThe maximum value or length accepted for the answer.
optionsArray of OptionNoThe selectable options for the question. See Option Object.
conditionConditionNoThe condition under which the question is shown. See Condition Object.
qualificationQualificationNoThe qualification rule applied to the answer. See Qualification Object.
hierarchicalOptionsArray of HierarchicalOptionNoThe hierarchical (nested) options for the question. See HierarchicalOption Object.
textStringNoFree-form text content, used by informational questions.

Option Object

FieldTypeRequiredDescription
labelStringNoThe label of the option as it should be displayed.
valueStringNoThe value of the option submitted as the answer.

HierarchicalOption Object

FieldTypeRequiredDescription
idStringNoUnique id of the hierarchical option.
optionsArray of OptionNoThe options nested under this hierarchical option. See Option Object.
conditionConditionNoThe condition under which the hierarchical option is shown. See Condition Object.

Condition Object

FieldTypeRequiredDescription
idStringNoThe id of the question this condition depends on.
valueStringNoThe value the dependent question must have for this question to be shown.

Qualification Object

FieldTypeRequiredDescription
typeStringNoThe type of qualification rule.
matchMatchNoThe matching rule for the qualification. See Match Object.

Match Object

FieldTypeRequiredDescription
typeStringNoThe type of match (for example how the values are compared).
valuesArray of StringNoThe values used to evaluate the match.

QuestionType Values

ValueDescription
textA single-line free-text answer.
textareaA multi-line free-text answer.
selectA single choice among the options.
multiselectMultiple choices among the options.
hierarchicalA nested choice using hierarchicalOptions.
dateA date answer.
fileA file upload answer.
informationInformational content shown to the applicant, no answer expected.
pagebreakA page break used to split the questions into pages, no answer expected.

Response Example

{
"schemaVersion": "1.0",
"screenerQuestions": {
"questions": [
{
"id": "q1",
"type": "select",
"question": "Are you legally authorized to work in Canada?",
"required": true,
"options": [
{ "label": "Yes", "value": "yes" },
{ "label": "No", "value": "no" }
]
},
{
"id": "q2",
"type": "text",
"question": "Years of experience with Java?",
"format": "number",
"required": true,
"min": 0,
"max": 50
},
{
"id": "q3",
"type": "hierarchical",
"question": "Where are you located?",
"required": false,
"hierarchicalOptions": [
{
"id": "country",
"options": [
{ "label": "Canada", "value": "CA" },
{ "label": "United States", "value": "US" }
]
},
{
"id": "province",
"options": [
{ "label": "Quebec", "value": "QC" },
{ "label": "Ontario", "value": "ON" }
],
"condition": { "id": "country", "value": "CA" }
}
]
},
{
"id": "q4",
"type": "information",
"text": "Please answer the following questions truthfully."
}
]
},
"demographicQuestions": {
"questions": [
{
"id": "d1",
"type": "multiselect",
"question": "Which of the following describe you? (optional)",
"required": false,
"options": [
{ "label": "Veteran", "value": "veteran" },
{ "label": "Person with a disability", "value": "disability" }
]
}
]
}
}

Errors

On success the endpoint returns HTTP 200 OK with the IndeedQuestion body. When the job cannot be resolved, a 404 Not Found is returned.

StatusMeaning
200 OKThe questions were retrieved.
404 Not FoundThe id could not be resolved to a job.
500 Internal Server ErrorUnexpected processing failure.
{
"timestamp": "2026-06-14T12:00:00.000+00:00",
"status": 404,
"error": "Not Found",
"message": "Job not found",
"path": "/v2/jobs/5c875c8b2c17ca56a9806c9f/questions"
}
Fenêtre de terminal
curl -X GET
'https://public-api.nextal.com/v2/jobs/{id}/questions?napikey=demo&ntenant=demo'
-H 'cache-control: no-cache'