Auto Apply is coming soon and is not available in beta or production. This
schema previews public API version 2026-07-21.
Field shape
Supported scalar types are text, textarea, select,
multi_select, radio, checkbox, number, date,
partial_date, typeahead, file, and unknown.
date: YYYY-MM-DD.
partial_date: YYYY, YYYY-MM, or YYYY-MM-DD, subject to
minimum_precision.
select and radio: exact option value.
multi_select: array of exact option values.
typeahead: {"query":"MIT","selection":{"value":"...","label":"..."}}.
file: {"url":"https://...","filename":"resume.pdf","content_type":"application/pdf"}.
- Required
unknown fields fail safely as unsupported_field.
Education and work history
Repeated ATS sections are one repeating_group field rather than flattened
children:
The answer value is an ordered array:
item_fields is dynamic because ATSs may request additional children such as
country, state, contact permission, graduation status, or hours per week.
Unknown item keys are rejected. The array is the complete desired group state,
preserves order, and is capped by both the provider limit and a platform maximum
of ten entries.
Supported group_type values are education, work_experience,
website, language, skill, and other.
When is_current is true, end_date must be null or omitted. Nested
validation errors contain field_id, item_index, field_key, code,
and message.
Address, phone, and voluntary self-identification remain scalar fields with
category and semantic_key. Voluntary self-identification fields are
marked sensitive: true; Jobo never infers their answers.
Failure and correction codes
Terminal applications expose failure: {code, message, retryable}. Stable
failure codes include:
retryable is authoritative for the individual failure. In particular,
submission_unconfirmed is not safely retryable because the employer may have
received the application.
Before the correction limit is exhausted, file and ATS value problems are
returned in command_errors with codes such as unsafe_file_url,
file_upload_failed, invalid_file_type, ats_field_rejected, and
ats_fill_failed. The next callback must return a complete corrected snapshot
for the step.