ScreenerQuestionBodyInput
Input Object
Questions about work experience, skills, or certifications.
Do not include demographic questions about ethnicity, gender, or disability.
Some jurisdictions regulate protected-class questions. Handle those questions separately.
Put demographic questions in demographicQuestions.
Fields
textarea TextAreaQuestionInput
Long-form answer. Shows a multi-line text field.
id ID! Required
Unique question ID.
question String! Required
Displayed question text.
minCharCount Int
Minimum character count for answer.
maxCharCount Int
Maximum character count for answer.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
id ID! Required
Question ID used in the condition.
values [String!]! Required
Values that satisfy the condition when that question matches.
required Boolean! default:false
If true, the question is required. Unanswered optional questions return "". Default: false.
validationRuleKey String
Optional key for an external validation rule. Indeed enforces it on the job seeker's answer at apply time. Unknown keys fail ingestion.
text TextScreenerQuestionInput
Short answer. Shows a single-line text field.
Formats: integer, decimal, numeric_text.
See JSON questions parameters.
integer IntegerTextScreenerQuestionInput
Integer answers only. No decimals or leading zeros.
questionInput IntegerTextQuestionInput
Integer question format and metadata.
qualification TextIntegerQualificationQuestionInput
Qualification for this question. Indeed still delivers applications that do not meet the criterion (NON_BLOCKING).
decimal DecimalTextScreenerQuestionInput
Numeric answers. Allows leading zeros and decimals.
questionInput DecimalTextQuestionInput
Decimal question format and metadata.
qualification TextDecimalQualificationQuestionInput
Qualification for this question. Indeed still delivers applications that do not meet the criterion (NON_BLOCKING).
numeric NumericTextQuestionInput
Numeric answers only. No decimals.
id ID! Required
Unique question ID.
question String! Required
Displayed question text.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
required Boolean! default:false
If true, the question is required. Unanswered optional questions return "". Default: false.
validationRuleKey String
Optional key for an external validation rule. Indeed enforces it on the job seeker's answer at apply time. Unknown keys fail ingestion.
freeform FreeformTextQuestionInput
Text answers.
id ID! Required
Unique question ID.
question String! Required
Displayed question text.
minCharCount Int
Minimum character count for answer.
maxCharCount Int
Maximum character count for answer.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
required Boolean! default:false
If true, the question is required. Unanswered optional questions return "". Default: false.
validationRuleKey String
Optional key for an external validation rule. Indeed enforces it on the job seeker's answer at apply time. Unknown keys fail ingestion.
select SelectScreenerQuestionInput
Multiple-choice question. Job seekers select one answer.
1–5 options: radio buttons. 6 or more: dropdown.
questionInput SelectQuestionInput
Select question format and metadata.
id ID! Required
Unique question ID.
question String! Required
Displayed question text.
options [SelectOptionInput!]! Required
Options.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
required Boolean! default:false
If true, the question is required. Unanswered optional questions return "". Default: false.
qualification SelectQualificationQuestionInput
Qualification for this question. Indeed still delivers applications that do not meet the criterion (NON_BLOCKING).
type QuestionQualificationImplicationType! Required
How the qualification affects the Indeed Apply application.
match QualificationMatchAnyTextConfigurationInput! Required
Match evaluation.
multiselect MultiselectScreenerQuestionInput
Multiple-answer question. Shows checkboxes.
questionInput MultiselectQuestionInput
Multi-select question format and metadata.
id ID! Required
Unique question ID.
question String! Required
Displayed question text.
options [SelectOptionInput!]! Required
Options.
minSelectionCount Int
Minimum selectable options.
maxSelectionCount Int
Maximum selectable options.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
required Boolean! default:false
If true, the question is required. Unanswered optional questions return "". Default: false.
qualification MultiSelectQualificationQuestionInput
Qualification for this question. Indeed still delivers applications that do not meet the criterion (NON_BLOCKING).
type QuestionQualificationImplicationType! Required
How the qualification affects the Indeed Apply application.
match QualificationMultiValueTextMatchConfigurationInput! Required
Match evaluation.
hierarchical HierarchicalQuestionInput
Follow-up questions based on a previous answer.
Example: Select a state, then show cities in that state.
Limited to 3 levels (for example, state → city → county).
Similar to conditional questions. Prefer this when the first selection defines the next options. This reduces the number of questions.
id ID! Required
Unique question ID.
question String! Required
Displayed question text.
options [SelectOptionInput!]! Required
Options.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
id ID! Required
Question ID used in the condition.
values [String!]! Required
Values that satisfy the condition when that question matches.
required Boolean! default:false
If true, the question is required. Unanswered optional questions return "". Default: false.
hierarchicalOptions [HierarchicalOptionInput!]! Required
Follow-up questions based on a previous answer.
Example: Select a state, then show cities in that state.
Limited to 3 levels.
id ID! Required
Unique question ID.
options [SelectOptionInput!]! Required
Options.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
date DateScreenerQuestionInput
Date question. Shows a date field.
Use dd/MM/yyyy or a Unicode CLDR locale format. Indeed uses SimpleDateFormat.
Use MM for month (mm causes errors). Use yyyy for year (yy can confuse job seekers).
The format affects ATS data transfer and min/max parsing. Job seekers enter dates in their locale format.
questionInput DateQuestionInput
Date question format and metadata.
id ID! Required
Unique question ID.
question String! Required
Displayed question text.
format String! Required
Use dd/MM/yyyy or a Unicode CLDR locale format. Indeed uses SimpleDateFormat.
Use MM for month (mm causes errors). Use yyyy for year (yy can confuse job seekers).
The format affects ATS data transfer and min/max parsing. Job seekers enter dates in their locale format.
minDate DateTime
Earliest allowed date.
maxDate DateTime
Latest allowed date.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
required Boolean! default:false
If true, the question is required. Unanswered optional questions return "". Default: false.
qualification DateQuestionQualificationInput
Qualification for this question. Indeed still delivers applications that do not meet the criterion (NON_BLOCKING).
type QuestionQualificationImplicationType! Required
How the qualification affects the Indeed Apply application.
range QualificationDateRangeConfigurationInput! Required
Range evaluation. The answer must fall between the min and max values.
file FileQuestionInput
File upload for certifications, portfolios, or work samples.
JSON POST response fields: contentType, data, fileName.
Valid file types: doc, docx, gif, jfif, jif, jpe, jpeg, jpg, pdf, png, rtf, tif, tiff, txt
id ID! Required
Unique question ID.
question String! Required
Displayed question text.
format [String!]
Supported file formats. Omit to allow all formats.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
id ID! Required
Question ID used in the condition.
values [String!]! Required
Values that satisfy the condition when that question matches.
required Boolean! default:false
If true, the question is required. Unanswered optional questions return "". Default: false.
min Int
Minimum file uploads.
max Int
Maximum file uploads.
information InformationQuestionInput
Display-only text for explanations or section headings. Job seekers do not answer.
See information.
id ID! Required
Unique question ID.
text String! Required
Displayed text.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
Example: If the applicant answers yes to military service, show a follow-up about branch of service.
id ID! Required
Question ID used in the condition.
values [String!]! Required
Values that satisfy the condition when that question matches.
pageBreak PageBreakQuestionInput
Groups questions on a page. Questions between page breaks appear together.
Maximum: 20 questions per page. Default: 3 per page on desktop, all on one page on mobile.
id ID! Required
Unique question ID.
multifield MultifieldQuestionInput
Multi-field question.
Groups a fixed set of sub-questions that the job seeker can submit more than once. For example, enter work experience for each previous job.
This reduces the need for conditional “Do you have more to add?” question chains. Use it only in screener questions.
Do not nest it. A MULTIFIELD cannot appear inside another MULTIFIELD groupedQuestionFields.
id ID! Required
Unique question ID.
question String! Required
Displayed question text.
condition ConditionConstraintInput
Show this question only when a previous answer matches. Set the previous question ID and the value that activates this question.
id ID! Required
Question ID used in the condition.
values [String!]! Required
Values that satisfy the condition when that question matches.
minEntryCount Int
Minimum number of entries the job seeker must submit. 0 means optional. Default: 1.
maxEntryCount Int
Maximum number of entries the job seeker can submit. Must be greater than or equal to minEntryCount. Default: 15.
groupLabel String! Required
Label above each entry group. For example, Work Experience.
addButtonLabel String! Required
Label on the add button. For example, Add Another Job.
groupedQuestionFields [ScreenerQuestionBodyInput!]! Required
Sub-questions repeated for each entry. Any ScreenerQuestionBodyInput variant except another multifield. Validation rejects nested multifield.
textarea TextAreaQuestionInput
Long-form answer. Shows a multi-line text field.
text TextScreenerQuestionInput
Short answer. Shows a single-line text field.
Formats: integer, decimal, numeric_text.
select SelectScreenerQuestionInput
Multiple-choice question. Job seekers select one answer.
1–5 options: radio buttons. 6 or more: dropdown.
multiselect MultiselectScreenerQuestionInput
Multiple-answer question. Shows checkboxes.
hierarchical HierarchicalQuestionInput
Follow-up questions based on a previous answer.
Example: Select a state, then show cities in that state.
Limited to 3 levels (for example, state → city → county).
Similar to conditional questions. Prefer this when the first selection defines the next options. This reduces the number of questions.
date DateScreenerQuestionInput
Date question. Shows a date field.
Use dd/MM/yyyy or a Unicode CLDR locale format. Indeed uses SimpleDateFormat.
Use MM for month (mm causes errors). Use yyyy for year (yy can confuse job seekers).
The format affects ATS data transfer and min/max parsing. Job seekers enter dates in their locale format.
file FileQuestionInput
File upload for certifications, portfolios, or work samples.
JSON POST response fields: contentType, data, fileName.
Valid file types: doc, docx, gif, jfif, jif, jpe, jpeg, jpg, pdf, png, rtf, tif, tiff, txt
information InformationQuestionInput
Display-only text for explanations or section headings. Job seekers do not answer.
See information.
pageBreak PageBreakQuestionInput
Groups questions on a page. Questions between page breaks appear together.
Maximum: 20 questions per page. Default: 3 per page on desktop, all on one page on mobile.
multifield MultifieldQuestionInput
Multi-field question.
Groups a fixed set of sub-questions that the job seeker can submit more than once. For example, enter work experience for each previous job.
This reduces the need for conditional “Do you have more to add?” question chains. Use it only in screener questions.
Do not nest it. A MULTIFIELD cannot appear inside another MULTIFIELD groupedQuestionFields.
Example
{ "textarea": TextAreaQuestionInput, "text": TextScreenerQuestionInput, "select": SelectScreenerQuestionInput, "multiselect": MultiselectScreenerQuestionInput, "hierarchical": HierarchicalQuestionInput, "date": DateScreenerQuestionInput, "file": FileQuestionInput, "information": InformationQuestionInput, "pageBreak": PageBreakQuestionInput, "multifield": MultifieldQuestionInput}