Skip to main content
POST
/
api
/
auto-apply
/
sessions
/
{id}
/
answers
Submit session answers
curl --request POST \
  --url https://connect.jobo.world/api/auto-apply/sessions/{id}/answers \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '
{
  "answers": [
    {
      "field_id": "c0203e24-63fd-4425-914c-216a5701861c",
      "value": "Ada",
      "type": "text",
      "typeahead_selection": null,
      "handler_type": "first-name",
      "clear_first": true
    }
  ]
}
'
{
  "id": "6f1d2b3c-4a5e-4f60-9b7a-8c9d0e1f2a3b",
  "provider_id": "greenhouse",
  "provider_name": "Greenhouse",
  "status": "form_ready",
  "is_terminal": false,
  "error": null,
  "current_url": "https://boards.greenhouse.io/acme/jobs/4567890",
  "validation_errors": [
    {
      "field_id": "c0203e24-63fd-4425-914c-216a5701861c",
      "message": "This field is required."
    }
  ],
  "fields": [
    {
      "field_id": "c0203e24-63fd-4425-914c-216a5701861c",
      "type": "text",
      "label": "First name",
      "is_required": true,
      "options": [
        {
          "value": "4018213008",
          "text": "San Francisco, CA"
        }
      ],
      "handler_type": "first-name",
      "current_value": null
    }
  ],
  "redirect_url": null,
  "redirect_provider_id": null
}

Authorizations

X-Api-Key
string
header
required

API key provided by Jobo

Path Parameters

id
string<uuid>
required

Session ID

Body

application/json
answers
object[]
required

Answers for the current page's form fields. At least one is required.

Response

The updated session state

The live state of an interactive session, returned by session create and answer submissions. fields carries the current page's form fields. When status is redirect_required, start a new session with redirect_url.

id
string<uuid>

Session identifier. Use it in the answers, get, and end endpoints.

Example:

"6f1d2b3c-4a5e-4f60-9b7a-8c9d0e1f2a3b"

provider_id
string

Detected ATS provider identifier (e.g. greenhouse, lever, ashby).

Example:

"greenhouse"

provider_name
string

Human-readable ATS provider name.

Example:

"Greenhouse"

status
enum<string>

The flow state of an interactive session. form_ready, next_available, and submit_ready are active states; submitted, login_required, captcha_required, expired, redirected, redirect_required, and error are terminal (is_terminal = true). login_required, captcha_required, redirected, and redirect_required are reserved — those situations report error until dedicated detection ships; treat the enum as open.

Available options:
form_ready,
next_available,
submit_ready,
submitted,
login_required,
captcha_required,
expired,
redirected,
redirect_required,
error
Example:

"form_ready"

is_terminal
boolean

True when the session is finished and no further answer submissions are possible.

Example:

false

error
string | null

Human-readable error detail when status is error.

Example:

null

current_url
string | null

The URL the session's browser is currently on.

Example:

"https://boards.greenhouse.io/acme/jobs/4567890"

validation_errors
object[]

Field-level problems reported by the ATS form after an answers submission.

fields
object[]

The current page's form fields to answer.

redirect_url
string | null

When status is redirect_required — the application continues on a different ATS. Start a new session with this URL.

Example:

null

redirect_provider_id
string | null

When status is redirect_required — the provider expected to handle the redirect.

Example:

null