Build project report
Start an async report-build job. Returns 202 with a job id to poll until the rendered artifact’s signed URL is available. Returns 422 synchronously when any selected section resolves to zero rows — preflight the request via the preflight endpoint to avoid the round-trip.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Organization slug
Organization slug
Workspace slug
Workspace slug
Project slug or UUID
Project slug or UUID
Request Body required
Section titled “Request Body required ”Payload for the (future) POST /airt/projects/{project}/reports/build.
Exactly one of preset (inline) or template_id (stored template).
object
Simple AIRT-report request — what the frontend POSTs for template create
or inline build. Server expands to ReportTemplateSchema via
build_airt_components.
object
Optional branding slots. Expanded into Header/Footer/Title by the preset builder. Frontend-facing only — no direct DreadReport equivalent, but the expansion produces DreadReport-valid components.
Filter over findings + derived metrics. All strings untrusted.
object
Document-wide style. Mirrors DreadReport.style() — font, font_size.
Fonts locked to the ReportLab built-in set (no file I/O at render time).
object
Responses
Section titled “ Responses ”Successful Response
Shape returned by POST .../reports/build and GET .../reports/build/{id}.
presigned_url / url_expires_at / file_size_bytes populate only after
status == COMPLETED. error_message populates only on FAILED. The
empty_sections error is a separate 422 response — those never transit
through this model.
object
Lifecycle states for an async report-build job.
Invalid request
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type
Authentication failed
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type
Access forbidden
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type
Not found
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type
Already exists
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type
One or more selected report sections have no data.
Shared shape for both the Build 422 body and the Preflight 200 body.
One schema, two paths: the UI consumes the same structure whether the empty-check fires synchronously at build time or proactively via preflight before the user clicks Build.
object
One offending section in an empty-sections response.
key is the AirtSectionPreset checkbox identifier when the section came
from a preset request. Template-authored sections have no preset origin;
key is None there and the frontend falls back to title.
Upgrade required
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type
Rate limited
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type
Internal server error
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type
Bad gateway
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type
Gateway timeout
Canonical API error envelope returned by the API.
object
HTTP status code
Human-readable error message
object
Where the validation error occurred
Human-readable validation message
Machine-readable validation error type
Stable machine-readable error type