JSON screener question parameters.
JSON screener question parameters
Name | Description | Values | Example |
---|---|---|---|
id
|
Required Unique ID for this question. |
any string | strengths |
type
|
Required The question type. See the descriptions for each of the allowed values. |
textarea
|
|
question
|
Required except for The question text that applicants see. |
any string | Veteran status? |
text
|
Required for Not supported for other types. Text that applicants see. |
any string | The following questions are optional. |
options
|
Required for The list of options available in the dropdown menu. |
JSON |
[{ "value": "1", "label": "Female" }]
|
value
|
Required for The value corresponding to each option that is returned for questions with dropdown menus. |
any string | 1 |
label
|
Required for The text for options in any dropdown menus. |
any string | Female |
required
|
If set to |
true
|
"required":true
|
format
|
Required for The accepted format of the input. If used with |
Text formats:
|
integer, dd/MM/yyyy |
limit
|
For "type": "text" and "type": "textarea" , the character limit for the answer. |
any integer | 100 |
min
|
For "format": "integer" or "format": "decimal" , the minimum value for the answer. For "type": "date" , the date that the answer must be on or after. |
any integer for "format": "integer"
any decimal for "format": "decimal"
any date for "type": "date" (in the specified format)
|
0 |
max
|
For "format": "integer" or "format": "decimal" the maximum value for the answer. For "type": "date" , the date the answer must be on or before. |
any integer for "format": "integer"
any decimal for "format": "decimal"
any date for "type": "date" (in the specified format)
|
100 |
condition
|
Marks a question as conditional, depending on the answer to a previous select question. Specify the id of the previous question as well as the option value that activates this question. For example, you might ask the applicant if they served in the military. If they answer yes, you display a conditional question that asks what branch they served in. |
JSON |
"condition": {
"id": "parent1",
"value": 0}
|
Screener question types
textarea
A question that displays a multi-line text entry field. Used for questions with long-form answers.
{
"id": "envirotext",
"type": "textarea",
"question": "Describe your ideal work environment:"
}
text
A question that displays a single-line text entry field. Used for questions with shorter answers.
Note:
For more information on the different formats available for text questions, see the following examples and the JSON screener questions parameters. The formats are
integer
,decimal
,numeric_text
.
No format specification
{
"id": "city",
"type": "text",
"question": "What city are you located in?",
"required": true
}
Integer
Displays whole numbers; does not allow for decimals or leading zeroes.
{
"id": "age",
"type": "text",
"question": "Age?",
"format": "integer",
"min": "16",
"max": "75"
}
Numeric text
Allows for numbers with leading zeroes; does not allow for decimals.
{
"id": "ssn",
"type": "text",
"format": "numeric_text",
"question": "Enter last 4 digits of your SSN.",
"required": false
}
Decimal
Displays numbers with decimals; allows for leading zeroes.
{
"id": "gpa",
"type": "text",
"format": "decimal",
"question": "What was your GPA?",
"required": true
}
select
A question that displays a dropdown menu that allows the applicant to select a single answer. Used for questions with multiple choice answers.
Note:
If you include from 1 to 5 answer options, they appear with radio buttons. If you include from 6 or more answer options, they appear in a dropdown menu.
{
"id": "gender",
"type": "select",
"question": "Gender?",
"options": [{
"value": "0",
"label": "Decline to answer"
},
{
"value": "1",
"label": "Male"
},
{
"value": "2",
"label": "Female"
}
]
}
multiselect
A question that displays a list of checkboxes that enables the applicant to select multiple answers. Used for questions with multiple answers.
{
"id": "favoritecolors",
"type": "multiselect",
"question": "Select your two favorite colors:",
"options": [{
"value": "0",
"label": "Maize"
},
{
"value": "1",
"label": "Blue"
},
{
"value": "2",
"label": "Green"
}
]
}
conditional
A question that does or does not appear based on responses to previous questions. For example, you might ask an applicant if they are at least 18 years of age. If they answer no
, you ask if they can provide required work documentation.
[{
"id": "profile-atLeast18",
"question": "Are you at least 18 years of age?",
"required": true,
"options": [{
"value": "1",
"label": "Yes"
},
{
"value": "0",
"label": "No"
}
],
"type": "select"
},
{
"id": "profile-permit",
"question": "Can you provide a work permit?",
"required": true,
"condition": {
"id": "profile-atLeast18",
"value": "0"
},
"options": [{
"value": "1",
"label": "Yes"
},
{
"value": "0",
"label": "No"
}
],
"type": "select"
}
]
hierarchical
A question that displays additional questions and responses based on previously selected answers. For example, you might ask an applicant to choose a state. Then, depending on what they select, you could offer them a dropdown list of cities within that state. Each hierarchical question is limited to three levels. For example: state
/city
/county
.
Note:
Hierarchical questions are similar to conditional questions. However, hierarchical questions may be better suited to certain question types where an initial selection defines potential answers for subsequent questions. Using the hierarchical functionality reduces the total number of questions needed to obtain related information.
[{
"id": "hierarchical",
"type": "hierarchical",
"question": "State",
"required": true,
"options": [{
"value": "0",
"label": "California"
}, {
"value": "1",
"label": "Texas"
}, {
"value": "2",
"label": "New York"
}],
"hierarchicalOptions": [{
"id": "cali_cities",
"options": [{
"value": "0",
"label": "San Francisco"
}, {
"value": "1",
"label": "Los Angeles"
}],
"condition": {
"id": "hierarchical",
"value": "0"
}
}, {
"id": "texas_cities",
"options": [{
"value": "0",
"label": "San Antonio"
}, {
"value": "1",
"label": "Austin"
}],
"condition": {
"id": "hierarchical",
"value": "1"
}
},
{
"id": "sa_zipcodes",
"options": [{
"value": "0",
"label": "78212"
}, {
"value": "1",
"label": "78209"
}],
"condition": {
"id": "texas_cities",
"value": "0"
}
}
]
}]
date
A question that displays a text field that only accepts date entry. Used for questions that must be answered with a date.
Note:
Format is required when using this screener question type. The format must be
dd/MM/yyyy
or another locale specific format that meets Unicode CLDR formatting.Indeed uses the
SimpleDateFormat
, so month must be formatted asMM
. Usingmm
results in misconfiguration.The format of
type=date
impacts how the application is passed to the ATS and the parsing of minimum and maximum values. The job seeker still enters the date based on their locale, not the specified format, and validation error messages are in their locale’s format. Useyyyy
instead ofyy
in the format to prevent confusion.
{
"id": "startdate",
"required": true,
"type": "date",
"question": "Start date?",
"format": "dd/MM/yyyy",
"min": "01/06/2023",
"max": "03/10/2023"
}
file
A question that displays a file upload interface. Used for questions that require a file upload as an answer, such as certifications, portfolios, or example work. As detailed in Application data reference, the answer data returned in the JSON POST request contains three fields: contentType
, data
, and fileName
.
Valid file types are:
-
doc
-
docx
-
gif
-
jfif
-
jif
-
jpe
-
jpeg
-
jpg
-
pdf
-
png
-
rtf
-
tif
-
tiff
-
txt
File size limit is 5 MB. The maximum combined limit per application is 15MB, including resume file.
Note:
Do not use this question type to acquire resumes. Instead, use the Indeed Apply
Resume
configuration parameter.
{
"id": "file2",
"type": "file",
"question": "Please attach a recent example of your work.",
"required": true,
"min": "1",
"max": "3"
}
information
A text display that does not require a response. Creates explanatory text or provide section headings.
You can include the following HTML elements in the text:
-
<b>
-
<p>
-
<br>
-
<li>
-
<ul>
-
<ol>
-
<a href=" ">
Only HTTP and HTTPS protocols are allowed in URLs. Links open in a new tab.
Note:
Do not use
<br>
to force line breaks after paragraphs. Indeed automatically inserts line breaks between paragraphs.
[{
"id": "first_header",
"type": "information",
"text": "The next set of questions are <b>optional</b> and are for recording purposes only.
Make sure to view the < a href = 'http://www.eeoc.gov/employers/upload/poster_screen_reader_optimized.pdf' > EEO is the Law < /a> poster.",
"fontsize": 8
}]
pagebreak
Groups questions on a page. All questions included between two pagebreak types appear on the same page. You can group up to 20 questions on the same page. Indeed defaults to 3 questions per page on desktop and groups all questions onto a single page for mobile.
[{
"id": "page1_open",
"type": "pagebreak"
},
{
"id": "question_sample",
"type": "text",
"question": "Age?"
},
{
"id": "page1_close",
"type": "pagebreak"
}
]
Best practices
Use the pagebreak
question type to split applications into logical sections. By default, Indeed inserts page breaks if none are included in your JSON, but this can split your application in unintended ways. Indeed shows up to ten questions on each page for both mobile and desktop.
Provide guidance to job seekers when answers require a specific format. Indeed uses the SimpleDateFormat
, so month must be formatted as MM
. Using mm
results in misconfiguration.