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.
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_8f3a21c9/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_8f3a21c9.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>
409 not_ready until the order completes, same shape as the PDF route.
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.