jobs
Open an operation to see its authentication, its parameters and the fields of its request and response.
9 operations
GET/v1/jobs/{id}
Job payload (ticket, logs, repository, workspace, limits); starts the job.
/v1/jobs/{id}Authentication: Job token, Runner token
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
job_idrequired | string | |
kindrequired | enum | Values triage | fix | release | pr_analysis | demo_case |
ticketrequired | object | |
ticket.idrequired | string | |
ticket.subjectrequired | string | |
ticket.originrequired | enum | Values email | widget | github | proactive |
ticket.messagesrequired | array of object | |
ticket.messages[].directionrequired | enum | Values in | out |
ticket.messages[].fromrequired | string | |
ticket.messages[].body_textrequired | string | |
ticket.messages[].created_atrequired | string (date-time) | |
ticket.attachmentsrequired | array of object | |
ticket.attachments[].idrequired | string | |
ticket.attachments[].filenamerequired | string | |
ticket.attachments[].content_typerequired | string | |
ticket.attachments[].sizerequired | integer | |
ticket.attachments[].urlrequired | string (uri) | |
ticket.widget_context | object | |
ticket.widget_context.consolerequired | array of object | |
ticket.widget_context.console[].levelrequired | enum | Values error | warn | unhandled_exception | unhandled_rejection |
ticket.widget_context.console[].messagerequired | string | |
ticket.widget_context.console[].stack | string | |
ticket.widget_context.console[].timestamprequired | string (date-time) | |
ticket.widget_context.networkrequired | array of object | |
ticket.widget_context.network[].methodrequired | string | |
ticket.widget_context.network[].urlrequired | string | |
ticket.widget_context.network[].statusrequired | integer | |
ticket.widget_context.network[].duration_msrequired | number | |
ticket.widget_context.network[].timestamprequired | string (date-time) | |
ticket.widget_context.network[].error | string | |
ticket.widget_context.browser | object | |
ticket.widget_context.browser.user_agentrequired | string | |
ticket.widget_context.browser.name | string | |
ticket.widget_context.browser.version | string | |
ticket.widget_context.browser.os | string | |
ticket.widget_context.browser.language | string | |
ticket.widget_context.browser.viewport | object | |
ticket.widget_context.browser.screen | object | |
ticket.widget_context.url | string | |
ticket.widget_context.release | string | |
ticket.widget_context.screenshot_url | string (uri) | |
ticket.widget_context.symbolicated | boolean | |
ticket.language | string | |
ticket.is_demo | boolean | |
logsrequired | array of object | |
logs[].sourcerequired | enum | Values widget | sentry | datadog | cloudwatch | endpoint |
logs[].event_idrequired | string | |
logs[].messagerequired | string | |
logs[].stacktrace | string | |
logs[].timestamprequired | string (date-time) | |
logs[].url | string | |
logs[].release | string | |
repositoryrequired | object | |
repository.full_namerequired | string | |
repository.default_branchrequired | string | |
repository.base_sharequired | string | |
repository.clone_url | string (uri) | |
repository.is_public | boolean | |
repository.contributing | object | |
repository.contributing.sign_offrequired | boolean | |
repository.contributing.conventional_commitsrequired | boolean | |
workspacerequired | object | |
workspace.autonomyrequired | enum | Values copilot | approve | autopilot |
workspace.share_policyrequired | enum | Values snippets | references_only |
workspace.test_commandrequired | string | |
limitsrequired | object | |
limits.max_minutesrequired | integer | |
limits.model_tierrequired | enum | Values economy | flagship |
limits.max_cost_usd | number | |
vexp_license | string | |
error_group | object | |
error_group.idrequired | string | |
error_group.fingerprintrequired | string | |
error_group.affected_usersrequired | integer | |
error_group.event_countrequired | integer | |
error_group.first_seenrequired | string (date-time) | |
error_group.last_seenrequired | string (date-time) | |
error_group.trigger | enum | Values user_threshold | critical_path | regression |
error_group.sample_eventsrequired | array of object | |
error_group.sample_events[].sourcerequired | enum | Values widget | sentry | datadog | cloudwatch | endpoint |
GET/v1/jobs/{id}/agent-credential
The Codex login (auth.json) the agent needs, locked to this job until it ends.
/v1/jobs/{id}/agent-credentialAuthentication: Job token
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
kindrequired | enum | Values anthropic_api_key | openai_api_key | codex_auth_json | bedrock | vertex | openrouter | github_user_token | sentry_client_secret | sentry_auth_token | datadog_keys | aws_credentials | endpoint_token | sso_client_secret |
secretrequired | string | |
lock_expires_atrequired | string (date-time) |
PUT/v1/jobs/{id}/agent-credential
Stores the refreshed Codex login and releases the lock.
/v1/jobs/{id}/agent-credentialAuthentication: Job token
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
secretrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
okrequired | true |
POST/v1/jobs/{id}/events
Appends events to the job log (masked again before storing).
/v1/jobs/{id}/eventsAuthentication: Job token
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
eventsrequired | array of object | |
events[].level | enum | Values info | warn | error |
events[].typerequired | string | |
events[].messagerequired | string | |
events[].data | object |
Response 200
| Name | Type | Description |
|---|---|---|
acceptedrequired | integer |
POST/v1/jobs/{id}/git-token
Short-lived installation token for the job repository (push: fix jobs only).
/v1/jobs/{id}/git-tokenAuthentication: Job token
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
purpose | enum | Values clone | push |
Response 200
| Name | Type | Description |
|---|---|---|
tokenrequired | string | |
expires_atrequired | string (date-time) | |
clone_urlrequired | string (uri) |
POST/v1/jobs/{id}/heartbeat
Keeps the job lease alive and reports a cancellation.
/v1/jobs/{id}/heartbeatAuthentication: Job token
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
phase | enum | Values setup | cloning | indexing | agent | verifying | testing | pushing | reporting |
message | string |
Response 200
| Name | Type | Description |
|---|---|---|
okrequired | true | |
cancel_requestedrequired | boolean | |
lease_expires_atrequired | string (date-time) |
POST/v1/jobs/{id}/pull-request
Opens or finds the PR of the verified loopback/ branch with the App token.
/v1/jobs/{id}/pull-requestAuthentication: Job token
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
branchrequired | string | Branch under loopback/ that is a valid git ref, e.g. loopback/tkt_01k6a1b2c3-checkout-500 |
head_sharequired | string | |
title | string | |
draft | boolean |
Response 200
| Name | Type | Description |
|---|---|---|
pr_numberrequired | integer | |
pr_urlrequired | string (uri) | |
createdrequired | boolean |
POST/v1/jobs/{id}/result
Final result of the job (idempotent); may chain the next job (`next_job_id`).
/v1/jobs/{id}/resultAuthentication: Job token
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
statusrequired | enum | Values succeeded | failed | needs_human |
diagnosis | object | |
diagnosis.categoryrequired | enum | Values usage | config | docs | bug | feature_request | unknown |
diagnosis.root_cause_mdrequired | string | |
diagnosis.references | array of object | |
diagnosis.references[].pathrequired | string | |
diagnosis.references[].line_startrequired | integer | |
diagnosis.references[].line_endrequired | integer | |
diagnosis.references[].symbol | string | |
diagnosis.confidencerequired | number | |
diagnosis.pattern_ids | array of string | Ids of the shared-memory patterns (the [id] of each hint in the payload) that helped this diagnosis and that you checked in the code, at most 5. Leave it empty when none was used. |
diagnosis.public_summary | string | |
draft | object | |
draft.body_mdrequired | string | |
draft.kind | enum | Values reply | needs_info | interim | release_notice | proactive_notice |
fix | object | |
fix.branchrequired | string | Branch under loopback/ that is a valid git ref, e.g. loopback/tkt_01k6a1b2c3-checkout-500 |
fix.pr_number | integer | |
fix.head_sharequired | string | |
fix.verify_reportrequired | object | |
fix.verify_report.passedrequired | boolean | |
fix.verify_report.findings | array of object | |
fix.verify_report.findings[].kindrequired | enum | Values parse_error | broken_import | untouched_dependent | test_to_run | type_error | other |
fix.verify_report.findings[].severityrequired | enum | Values error | warning | info |
fix.verify_report.findings[].path | string | |
fix.verify_report.findings[].line | integer | |
fix.verify_report.findings[].symbol | string | |
fix.verify_report.findings[].messagerequired | string | |
fix.verify_report.findings[].code | enum | Values test_file_deleted | test_script_changed | test_config_changed | type_check_not_run | engine_warning | verification_unavailable | gateway_checkout | gateway_unavailable | no_checkout | gateway_tests_required | gateway_type_config_changed | gateway_type_check_required | tests_install_failed | tests_not_run_on_fix | tests_none_on_fix | tests_fewer | failures_from_fix |
fix.verify_report.findings[].detail | string | |
fix.verify_report.produced_by | enum | Values harness | agent | server |
fix.verify_report.engine_version | string | |
fix.testsrequired | object | |
fix.tests.commandrequired | string | |
fix.tests.passedrequired | boolean | |
fix.tests.ran | boolean | |
fix.tests.summaryrequired | string | |
fix.tests.reason | string | |
fix.tests.reason_code | enum | Values no_suite | sandbox | stopped | services | zero_tests | install_failed | no_time_left |
fix.tests.duration_s | number | |
fix.diff_stats | object | |
fix.diff_stats.files_changedrequired | integer | |
fix.diff_stats.additionsrequired | integer | |
fix.diff_stats.deletionsrequired | integer | |
fix.impact | object | |
fix.impact.summaryrequired | string | |
fix.impact.affected_symbols | array of string | |
escalation | object | |
escalation.reasonrequired | string | |
usagerequired | object | |
usage.modelrequired | string | |
usage.input_tokensrequired | integer | |
usage.output_tokensrequired | integer | |
usage.cached_tokens | integer | |
usage.duration_srequired | number | |
usage.cost_usd | number | |
usage.provider | string | |
symbols | array of string | |
stack_tags | array of string | |
analysis_comment_md | string | |
demo_case | object | |
demo_case.kindrequired | enum | Values unhandled_error_path | failing_test |
demo_case.pathrequired | string | |
demo_case.line_startrequired | integer | |
demo_case.line_endrequired | integer | |
demo_case.emailrequired | object | |
demo_case.email.subjectrequired | string | |
demo_case.email.bodyrequired | string | |
demo_case.test | object | |
demo_case.test.commandrequired | string | |
demo_case.test.passedrequired | boolean | |
demo_case.test.ran | boolean | |
demo_case.test.summaryrequired | string | |
demo_case.test.reason | string | |
demo_case.test.reason_code | enum | Values no_suite | sandbox | stopped | services | zero_tests | install_failed | no_time_left |
demo_case.test.duration_s | number | |
demo_case.produced_byrequired | "harness" |
Response 200
| Name | Type | Description |
|---|---|---|
acceptedrequired | boolean | |
job_statusrequired | string | |
next_job_idrequired | string |
POST/v1/jobs/{id}/token
A fresh job token (and agent MCP token) for a running job, before the current expires.
/v1/jobs/{id}/tokenAuthentication: Job token
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
job_tokenrequired | string | |
expires_atrequired | string (date-time) | |
job_idrequired | string | |
mcp_tokenrequired | string |