Base URL: https://api.roofquery.com. Authenticate with Authorization: Bearer <your key> — except the four file routes, which take no key.
Copies this whole page as Markdown, so you can paste it into an assistant and have it
write the integration. Nothing secret goes on the clipboard — your keys aren't included.
Errors
Every error is JSON with an error code and an
error_description. Branch on the code — the description is written for a
person and may change.
{
"error": "validation",
"error_description": "scope is required and must be one of: primary_only, primary_and_garage, all_structures"
}
Match codes case-sensitively, and expect both casings. Lower-case codes
come from the request layer; upper-case ones are raised deeper, in ordering and
revisions. validation and VALIDATION are two distinct codes
that both mean "a field is missing or malformed" — a check for one will not catch the
other.
Any endpoint
Code
HTTP
Meaning
unauthorized
401
Missing, invalid, or revoked key
validation
400
A field is missing or malformed
not_found
404
No such order on this account. Also returned for an order belonging to someone else
server_error
500
Something went wrong on our end. Retry
Placing an order
Code
HTTP
Meaning
VALIDATION
400
Address or coordinates missing once the request layer has handed off
INSUFFICIENT_CREDITS
402
Available balance won't cover the report
BILLING_SETUP_REQUIRED
402
No card or balance on the account yet
ENV_MISMATCH
400
The key's environment and the order's don't agree. Should be unreachable
BILLING_NOT_CONFIGURED
503
Billing isn't available on our side. Not your account — retry or contact support
ORDER_FAILED
502
The order was refused at placement. Not about the address — a property that can't be measured is only ever discovered on review and arrives later as a cancelled webhook. This is something our end; nothing was charged, and it's worth reporting
Revisions
Code
HTTP
Meaning
VALIDATION
400
topic or notes missing or blank
INVALID_TOPIC
400
Topic isn't one of the accepted values
NOT_REVISABLE
409
Revisions need a delivered report — this order isn't completed
REVISION_ALREADY_OPEN
409
One open revision per report
REVISION_REJECTED
409
The revision was refused. The description says why
REVISION_FAILED
502
The revision couldn't be raised. Safe to retry
Files and diagrams
Code
HTTP
Meaning
not_ready
409
Report hasn't completed, so the file doesn't exist yet. Carries the current status
no_geometry
409
That structure has nothing drawable. Delivered, but there is no sketch to render
download_failed
502
ESX download failed. Safe to retry — nothing was charged
render_failed
500
The PDF or diagram couldn't be drawn
Brand profiles
Code
HTTP
Meaning
validation
400
A required field is missing, a colour isn't hex, or text is over the header limit
not_found
404
No such profile on this account. Also what a PDF link with an unknown or foreign ?brand= returns
profile_limit
409
The account already has 500 profiles
empty_upload
400
The logo body was empty
too_large
413
The logo is over 5MB
unsupported_type
415
The logo isn't a PNG, JPEG, WebP, GIF, AVIF or SVG