curl -X POST "https://connect.jobo.world/api/auto-apply/applications/6f9227f6-b704-4b58-a553-79773a041933/answers" \
-H "X-Api-Key: $JOBO_API_KEY" \
-H "Content-Type: application/json" \
--max-time 600 \
-d '{"answers": [{"field_id": "first_name", "value": "Ada"}]}'import requests
url = "https://connect.jobo.world/api/auto-apply/applications/{id}/answers"
payload = {
"answers": [
{
"field_id": "first_name",
"value": "Ada"
},
{
"field_id": "email",
"value": "ada@example.com"
}
],
"correction_round": 0
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
answers: [
{field_id: 'first_name', value: 'Ada'},
{field_id: 'email', value: 'ada@example.com'}
],
correction_round: 0
})
};
fetch('https://connect.jobo.world/api/auto-apply/applications/{id}/answers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://connect.jobo.world/api/auto-apply/applications/{id}/answers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'answers' => [
[
'field_id' => 'first_name',
'value' => 'Ada'
],
[
'field_id' => 'email',
'value' => 'ada@example.com'
]
],
'correction_round' => 0
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://connect.jobo.world/api/auto-apply/applications/{id}/answers"
payload := strings.NewReader("{\n \"answers\": [\n {\n \"field_id\": \"first_name\",\n \"value\": \"Ada\"\n },\n {\n \"field_id\": \"email\",\n \"value\": \"ada@example.com\"\n }\n ],\n \"correction_round\": 0\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://connect.jobo.world/api/auto-apply/applications/{id}/answers")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"answers\": [\n {\n \"field_id\": \"first_name\",\n \"value\": \"Ada\"\n },\n {\n \"field_id\": \"email\",\n \"value\": \"ada@example.com\"\n }\n ],\n \"correction_round\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://connect.jobo.world/api/auto-apply/applications/{id}/answers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"answers\": [\n {\n \"field_id\": \"first_name\",\n \"value\": \"Ada\"\n },\n {\n \"field_id\": \"email\",\n \"value\": \"ada@example.com\"\n }\n ],\n \"correction_round\": 0\n}"
response = http.request(request)
puts response.read_body{
"api_version": "2026-08-12",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_id": "<string>",
"apply_url": "<string>",
"provider_id": "<string>",
"provider_name": "<string>",
"cancel_requested": true,
"status_updated_at": "2023-11-07T05:31:56Z",
"queued_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"submitted_at": "2023-11-07T05:31:56Z",
"failed_at": "2023-11-07T05:31:56Z",
"canceled_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"provider_version": "<string>",
"matcher_revision": 123,
"catalog_revision": 123,
"settings_revision": 123,
"failure": {
"code": "submission_unconfirmed",
"message": "<string>",
"retryable": true
},
"canceled_by": "<string>",
"steps": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 2,
"status": "answered",
"correction_round": 1,
"fields": [
{
"field_id": "<string>",
"label": "<string>",
"required": true,
"requires_answer": true,
"current_value": "<unknown>",
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {},
"category": "<string>",
"semantic_key": "<string>",
"sensitive": true,
"format": "<string>",
"min_items": 1,
"max_items": 5,
"item_fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {}
}
]
}
],
"answers": [
{
"field_id": "<string>",
"value": "<string>"
}
],
"command_errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"field_count": 1,
"answer_count": 1,
"answers_expire_at": "2023-11-07T05:31:56Z"
}
],
"current_step": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 2,
"status": "answered",
"correction_round": 1,
"fields": [
{
"field_id": "<string>",
"label": "<string>",
"required": true,
"requires_answer": true,
"current_value": "<unknown>",
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {},
"category": "<string>",
"semantic_key": "<string>",
"sensitive": true,
"format": "<string>",
"min_items": 1,
"max_items": 5,
"item_fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {}
}
]
}
],
"answers": [
{
"field_id": "<string>",
"value": "<string>"
}
],
"command_errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"field_count": 1,
"answer_count": 1,
"answers_expire_at": "2023-11-07T05:31:56Z"
}
}{
"api_version": "2026-08-12",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_id": "<string>",
"apply_url": "<string>",
"provider_id": "<string>",
"provider_name": "<string>",
"cancel_requested": true,
"status_updated_at": "2023-11-07T05:31:56Z",
"queued_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"submitted_at": "2023-11-07T05:31:56Z",
"failed_at": "2023-11-07T05:31:56Z",
"canceled_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"provider_version": "<string>",
"matcher_revision": 123,
"catalog_revision": 123,
"settings_revision": 123,
"failure": {
"code": "submission_unconfirmed",
"message": "<string>",
"retryable": true
},
"canceled_by": "<string>",
"steps": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 2,
"status": "answered",
"correction_round": 1,
"fields": [
{
"field_id": "<string>",
"label": "<string>",
"required": true,
"requires_answer": true,
"current_value": "<unknown>",
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {},
"category": "<string>",
"semantic_key": "<string>",
"sensitive": true,
"format": "<string>",
"min_items": 1,
"max_items": 5,
"item_fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {}
}
]
}
],
"answers": [
{
"field_id": "<string>",
"value": "<string>"
}
],
"command_errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"field_count": 1,
"answer_count": 1,
"answers_expire_at": "2023-11-07T05:31:56Z"
}
],
"current_step": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 2,
"status": "answered",
"correction_round": 1,
"fields": [
{
"field_id": "<string>",
"label": "<string>",
"required": true,
"requires_answer": true,
"current_value": "<unknown>",
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {},
"category": "<string>",
"semantic_key": "<string>",
"sensitive": true,
"format": "<string>",
"min_items": 1,
"max_items": 5,
"item_fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {}
}
]
}
],
"answers": [
{
"field_id": "<string>",
"value": "<string>"
}
],
"command_errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"field_count": 1,
"answer_count": 1,
"answers_expire_at": "2023-11-07T05:31:56Z"
}
}{
"errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}Submit answers
Auto Apply is an invite-only beta.
The one write in the application loop: submit the complete answer snapshot for the current answerable step.
Answers are validated synchronously against the step’s fields before anything touches the employer’s form. Invalid answers return 400 with per-field errors and cost nothing - no correction round is consumed.
Valid answers are accepted exactly once per (step, correction round). Jobo then fills the form and advances it - intermediate pages auto-continue and the final page auto-submits; the caller never chooses. The request BLOCKS until the next decision point: the next step’s fields (awaiting_answers with a new current_step), the same step back as a correction round (correction_round incremented, command_errors carrying what the employer’s ATS rejected), or the terminal result (submitted or failed). Keep your HTTP client timeout above 540 seconds.
Answer within the step’s answers_expire_at deadline (about 3 minutes; 60 seconds for one-time verification codes) - a live browser is holding the employer’s form open. Past it the application fails with answers_timeout.
A repeated POST for an already-accepted round attaches to the in-flight wait instead of erroring (its payload is ignored), so retrying after a dropped connection is safe.
curl -X POST "https://connect.jobo.world/api/auto-apply/applications/6f9227f6-b704-4b58-a553-79773a041933/answers" \
-H "X-Api-Key: $JOBO_API_KEY" \
-H "Content-Type: application/json" \
--max-time 600 \
-d '{"answers": [{"field_id": "first_name", "value": "Ada"}]}'import requests
url = "https://connect.jobo.world/api/auto-apply/applications/{id}/answers"
payload = {
"answers": [
{
"field_id": "first_name",
"value": "Ada"
},
{
"field_id": "email",
"value": "ada@example.com"
}
],
"correction_round": 0
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
answers: [
{field_id: 'first_name', value: 'Ada'},
{field_id: 'email', value: 'ada@example.com'}
],
correction_round: 0
})
};
fetch('https://connect.jobo.world/api/auto-apply/applications/{id}/answers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://connect.jobo.world/api/auto-apply/applications/{id}/answers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'answers' => [
[
'field_id' => 'first_name',
'value' => 'Ada'
],
[
'field_id' => 'email',
'value' => 'ada@example.com'
]
],
'correction_round' => 0
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://connect.jobo.world/api/auto-apply/applications/{id}/answers"
payload := strings.NewReader("{\n \"answers\": [\n {\n \"field_id\": \"first_name\",\n \"value\": \"Ada\"\n },\n {\n \"field_id\": \"email\",\n \"value\": \"ada@example.com\"\n }\n ],\n \"correction_round\": 0\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://connect.jobo.world/api/auto-apply/applications/{id}/answers")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"answers\": [\n {\n \"field_id\": \"first_name\",\n \"value\": \"Ada\"\n },\n {\n \"field_id\": \"email\",\n \"value\": \"ada@example.com\"\n }\n ],\n \"correction_round\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://connect.jobo.world/api/auto-apply/applications/{id}/answers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"answers\": [\n {\n \"field_id\": \"first_name\",\n \"value\": \"Ada\"\n },\n {\n \"field_id\": \"email\",\n \"value\": \"ada@example.com\"\n }\n ],\n \"correction_round\": 0\n}"
response = http.request(request)
puts response.read_body{
"api_version": "2026-08-12",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_id": "<string>",
"apply_url": "<string>",
"provider_id": "<string>",
"provider_name": "<string>",
"cancel_requested": true,
"status_updated_at": "2023-11-07T05:31:56Z",
"queued_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"submitted_at": "2023-11-07T05:31:56Z",
"failed_at": "2023-11-07T05:31:56Z",
"canceled_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"provider_version": "<string>",
"matcher_revision": 123,
"catalog_revision": 123,
"settings_revision": 123,
"failure": {
"code": "submission_unconfirmed",
"message": "<string>",
"retryable": true
},
"canceled_by": "<string>",
"steps": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 2,
"status": "answered",
"correction_round": 1,
"fields": [
{
"field_id": "<string>",
"label": "<string>",
"required": true,
"requires_answer": true,
"current_value": "<unknown>",
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {},
"category": "<string>",
"semantic_key": "<string>",
"sensitive": true,
"format": "<string>",
"min_items": 1,
"max_items": 5,
"item_fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {}
}
]
}
],
"answers": [
{
"field_id": "<string>",
"value": "<string>"
}
],
"command_errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"field_count": 1,
"answer_count": 1,
"answers_expire_at": "2023-11-07T05:31:56Z"
}
],
"current_step": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 2,
"status": "answered",
"correction_round": 1,
"fields": [
{
"field_id": "<string>",
"label": "<string>",
"required": true,
"requires_answer": true,
"current_value": "<unknown>",
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {},
"category": "<string>",
"semantic_key": "<string>",
"sensitive": true,
"format": "<string>",
"min_items": 1,
"max_items": 5,
"item_fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {}
}
]
}
],
"answers": [
{
"field_id": "<string>",
"value": "<string>"
}
],
"command_errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"field_count": 1,
"answer_count": 1,
"answers_expire_at": "2023-11-07T05:31:56Z"
}
}{
"api_version": "2026-08-12",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_id": "<string>",
"apply_url": "<string>",
"provider_id": "<string>",
"provider_name": "<string>",
"cancel_requested": true,
"status_updated_at": "2023-11-07T05:31:56Z",
"queued_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"submitted_at": "2023-11-07T05:31:56Z",
"failed_at": "2023-11-07T05:31:56Z",
"canceled_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"provider_version": "<string>",
"matcher_revision": 123,
"catalog_revision": 123,
"settings_revision": 123,
"failure": {
"code": "submission_unconfirmed",
"message": "<string>",
"retryable": true
},
"canceled_by": "<string>",
"steps": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 2,
"status": "answered",
"correction_round": 1,
"fields": [
{
"field_id": "<string>",
"label": "<string>",
"required": true,
"requires_answer": true,
"current_value": "<unknown>",
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {},
"category": "<string>",
"semantic_key": "<string>",
"sensitive": true,
"format": "<string>",
"min_items": 1,
"max_items": 5,
"item_fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {}
}
]
}
],
"answers": [
{
"field_id": "<string>",
"value": "<string>"
}
],
"command_errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"field_count": 1,
"answer_count": 1,
"answers_expire_at": "2023-11-07T05:31:56Z"
}
],
"current_step": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sequence": 2,
"status": "answered",
"correction_round": 1,
"fields": [
{
"field_id": "<string>",
"label": "<string>",
"required": true,
"requires_answer": true,
"current_value": "<unknown>",
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {},
"category": "<string>",
"semantic_key": "<string>",
"sensitive": true,
"format": "<string>",
"min_items": 1,
"max_items": 5,
"item_fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"options": [
{
"value": "<string>",
"label": "<string>"
}
],
"constraints": {}
}
]
}
],
"answers": [
{
"field_id": "<string>",
"value": "<string>"
}
],
"command_errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"field_count": 1,
"answer_count": 1,
"answers_expire_at": "2023-11-07T05:31:56Z"
}
}{
"errors": [
{
"field_id": "<string>",
"item_index": 1,
"field_key": "<string>",
"code": "invalid_option",
"message": "<string>"
}
],
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-12"
}Authorizations
API key provided by Jobo
Path Parameters
Application ID.
Body
The complete answer snapshot for the application's current answerable step. Validated synchronously; accepted exactly once per (step, correction round).
Response
The next decision point: the next step's fields, a correction round on the same step, or the terminal result.
Version of the profileless Auto Apply API contract.
2026-08-12 "2026-08-12"
Stable application ID.
Supplied Jobo job ID, or null when apply_url was supplied directly.
Resolved application URL.
Stable provider identifier selected at intake.
Provider display name captured at intake.
Current durable application state.
queued, running, awaiting_answers, submitted, failed, canceled Whether cancellation has been requested.
submitted_at, failed_at, or canceled_at, whichever is set.
Provider implementation version captured at intake.
Show child attributes
Show child attributes
Actor that completed cancellation, when applicable.
Show child attributes
Show child attributes
The step currently awaiting answers - the one to answer next. Null while the application is queued, running between steps, or terminal.
Show child attributes
Show child attributes

