Base URL: https://api.roofquery.com. Authenticate with Authorization: Bearer <your key> — except the file routes (report and storm report files), 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.
The measurement document, carrying no branding at all. Every number in
totals is derived from this file, so it's the thing to reach for if you
want to compute something we don't publish. Root element
<ROOFQUERY_EXPORT>, then straight into the geometry — exactly as
measured.
curl "https://api.roofquery.com/api/v1/reports/orders/rq_ord_8f3a21c9d4e07b16/xml" \
-o report.xml
HTTP/1.1 200 OK
Content-Type: application/xml; charset=utf-8
Content-Disposition: attachment; filename="RoofQuery_6515_Turnbridge_Pl_Prospect_KY_40059_USA_rq_ord_8f3a21c9d4e07b16.xml"
<?xml version="1.0" encoding="UTF-8"?>
<ROOFQUERY_EXPORT>
<STRUCTURES>
<ROOF id="ROOF1">
<FACES>
<FACE id="F1" slope="12.000000">
<POLYGON id="P1" area="31447836.5" path="L1,L4,L9,L12"/>
</FACE>
...
</FACES>
<LINES>
<LINE id="L1" path="C1,C2" subtype="EAVE" type="EDGE"/>
...
</LINES>
<POINTS>
<POINT id="C1" data="131.641073,98.633976,16.085879"/>
...
</POINTS>
</ROOF>
</STRUCTURES>
</ROOFQUERY_EXPORT>
A Rapid Squares order's XML has the same root, marked
product="rapid_squares", with outlines instead of faces.
A document declares one <ROOF> per parcel, not per building — the
structure count in totals is inferred from geometry, and
structures[] is ordered largest first.
409 not_ready until the order completes, the same shape as the
PDF route, and 404 not_found for an unknown
order. Every code is under Errors.