Everything new or changed in RoofQuery: products, prices and the API. Newest first.
Open beta
Storm Reports (open beta): hail, wind and tornado history in one call, $5
A Storm Report is the weather history of an address in the US or Canada: radar-estimated
hail at the property and within 1, 3 and 5 miles, measured and estimated wind, tornado tracks, NWS warnings
and damage surveys, NOAA and FEMA records, and a confidence rating with the plain-English evidence for every
storm day. It comes back in the same response that orders it, in seconds.
Storm Reports are in open beta. They're available to every account and billed as normal,
but the report format and the JSON data structure may change during the beta. Every report carries a
storm.schemaVersion, and any change will be announced here first.
$5 per report, free when there's nothing to report. If no storm of any kind was recorded within 5 miles in the last five years, the report is still delivered and nothing is charged. Overview.
Ordered like any report:POST /api/v1/reports/orders with "reportType": "storm" returns the whole report, and GET /api/v1/reports/orders/:id reads it again. Your existing keys, balance and brand profiles work as they are. Reference.
Five PDFs with every report: Hail Verification, Wind Verification, Date of Loss, Weather History and a plain-English Homeowner Storm Summary, branded like your roof reports, at /api/v1/reports/orders/:id/pdf?template=…. PDFs.
Fixed data, flexible details. The weather data is captured when you order and never changes. The date of loss, claim number, insured name and notes can be different on every read or download, so one report can be re-issued for a new date of loss.
Notes on writing lines. Every PDF has a Notes box with writing lines: notes you send (up to 450 characters) are printed on the lines, and the rest stay blank to fill in by hand.
The JSON carries a chance-of-roof-damage rating, every hail and wind date by distance, and the parcel boundary and owner of record. Field reference.
In the dashboard, choose Storm report under Order a report. The sandbox has storm addresses that cost nothing.
Also: GET /api/v1/balance now includes remaining, how many
of each product your balance covers. residentialReportsRemaining is unchanged.
API
Choose the contractor when you order
If you order reports for contractors, you now choose whose brand a report carries when you
place the order, and it keeps that brand for good. Send a brand profile's id as
brand on POST /api/v1/reports/orders, or pick it under
For contractor in the dashboard. An order placed without one keeps your own branding.
Reference.
The PDF can't be re-branded after ordering. On reports ordered from today, ?brand= and the branding parameters on a PDF link are ignored. Reports ordered before today, and Storm Reports, still take them. White labeling.
License numbers. Your branding and every brand profile can carry a licenseNumber, printed under the contact details.
A contact for each contractor. Brand profiles take a contactEmail and contactPhone, never printed: who we reach if we need more information about a property. Without one, we contact you. Brand profiles.
Each order's report.brand says which profile it's branded with, or null. An unknown brand refuses the order with 400 BRAND_NOT_FOUND.
Removed:reportName and clientInfo on orders. Requests that send them are still placed, and the fields are ignored. They're no longer returned: use claim for your own reference.
Product
Rapid Squares is open to every account
Rapid Squares is no longer by request: every account can order it, with
"reportType": "rapid_squares" on POST /api/v1/reports/orders or from
Order a report in the dashboard. It's $7 per report: each building's outline on an aerial
photo with our estimated pitch and its squares with waste, in a one-page PDF, an XML and the photo.
Delivered in under 30 minutes. Need it faster? Email [email protected] and we may be able to work
something out. Rapid Squares.
Pricing
Reports from $10, with the Xactimate ESX as an option
Residential roof reports are now $10 and commercial reports $30. The
Xactimate .esx is now an option on each order, at $5, so you pay for it only on
the jobs that need it. Existing customers keep the ESX at $3, when ordering and when adding it
later. Every order placed before today keeps its ESX.
Add the ESX when you order with "esx": true on POST /api/v1/reports/orders, or tick the box in the dashboard. Reference.
Or add it later with POST /api/v1/reports/orders/:id/esx, before or after the report is delivered. Calling it twice charges once. Reference.
Each order's report.esxIncluded says whether it has the ESX, and billing.items breaks down the charge. The ESX route answers 403 ESX_NOT_PURCHASED for an order without it. ESX.
GET /api/v1/reports/pricing shows your ESX price and whether your orders include it by default. Sandbox orders follow the same default and are still free. Rapid Squares has no ESX.
Fix
Edge totals in the API now always match the PDF
On roofs with parapet walls, the edgeTotals in an order's totals and
structures[] could report less wall flashing and eave than the PDF printed for the same report,
because the API counted wall lines that sit directly above the roof edge as duplicates. The API now counts
every line exactly the way the PDF does, per structure, for lengths and counts.
This applies to every order, including reports delivered before today: reading an order returns the corrected
numbers. Pitched roofs without parapets were not affected. Report data.
API
Brand profiles: your customers’ logos on their reports
White labeling gains a third layer. A brand profile is a saved brand for one
of your own customers: company name, contact block, colours and, for the first time, a logo.
Create one per customer, and put its id on any PDF link as ?brand=. The report
renders in that customer's brand, logo included, on an order you placed.
POST /api/v1/branding/profiles creates a profile; PUT …/:id/logo takes the image bytes. List, get, patch and delete are there too. Reference.
?brand=<profileId> on the PDF route. Explicit query params still win over the profile, field by field; the profile replaces your account defaults wholesale.
In the dashboard, Report branding is now Branding with two tabs: your Defaults, and Profiles, where each profile shows its id, a logo upload and a test PDF.
Up to 500 profiles per account. A profile from another account, or an unknown id, is a 404, the same as an unknown order.
Nothing changes for existing integrations: a link with no ?brand= renders exactly
as before, and the per-download params behave as they did.
How white-label branding works has the
walkthrough.