Mint an embeddable roof estimator link

Returns a URL to load in an iframe, for the company the API token belongs to. Call it from your server on each page view: the link carries a single-use code that is redeemed when the page loads, so a cached page will serve a spent code to everyone after the first visitor. Send a prefill to open the estimator on a property you already know -- it renders the roof as soon as it loads -- and mode: 'result' to show only the result.

Body Params
prefill
object

Start the estimator on this property: it fetches Street View, measures the roof and renders the first shingle as soon as it loads. That starts a billed measurement and uses one of the property’s free previews on every page view that carries a prefill.

string
enum

'result' hides the address and photo steps and opens on the rendered roof, with only the colour picker left; it requires a prefill. 'full' (the default) is the whole step-by-step estimator.

Allowed:
products
array of strings
enum

What the estimator estimates: 'roof' renders shingles and quotes a new roof, 'solar' shows the panel layout, system size and production of the same measurement. Both together add a Roofing / Solar toggle. Defaults to ['roof']. Solar adds no cost: every measurement already runs it.

products
Allowed:
string
length ≤ 255

Your own reference for this visit, such as your CRM's id for the homeowner's form. Every lead the session measures carries it, and it comes back as lead.externalId in that lead's lead.created, lead.completed and lead.failed webhooks. A measurement reused from one the company already has creates no lead, so sends no webhook.

Responses

400

The prefill address cannot be found, its shingle is not in the catalogue, or mode 'result' was sent without a prefill.

401
403
409

A prefill was sent, but the company has not configured the roof estimator.

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json