A proposal's preflight: whether one can be asked for, who asked last, and what each host it targets found (DAWG-153).
const url = 'https://api.updawg.net/v1/orgs/example/proposals/example/preflight';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.updawg.net/v1/orgs/example/proposals/example/preflightParameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Organization slug.
The prp_… id.
Responses
Section titled “Responses”The preflight, asked for or not.
A proposal’s preflight.
object
Why one cannot be asked for now. Absent when it can.
Every host the proposal targets that is still in the fleet.
object
What the host found, once it has reported. A failing check is an answer, not a failed job.
object
The specifics: a package, a file, a module.
Stable, for code: disk_space, held_packages, modified_conffiles,
dkms_modules, snapshot, reboot, for a package change
approved_only, and for a release upgrade release_upgrade and
third_party_repos. A newer agent may add more.
pass, warn or fail.
One sentence for a person, saying what to do when it is not a pass.
The current preflight job’s status: queued, delivered, running,
succeeded, failed, rejected_by_host, expired, cancelled.
Absent before one is signed for this host.
Why there are no checks: the host refused the job (an agent not
permitted preflight says so), or it failed.
Examplegenerated
{ "blocked": "example", "hosts": [ { "checks": [ { "items": [ "example" ], "name": "example", "status": "example", "summary": "example" } ], "finished_at": "2026-04-15T12:00:00Z", "host_id": "example", "hostname": "example", "job_status": "example", "problem": "example" } ], "requested": { "at": "2026-04-15T12:00:00Z", "by": "example", "email": "example", "name": "example" }}No session.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}No such proposal here.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}Over the organization’s request limit. Retry-After says when to try again; RateLimit-Limit is the burst.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}