Skip to content

Quantiv API (1.0.0)

Welcome to the Quantiv API documentation!

The Quantiv API empowers developers with seamless access to powerful data-driven solutions. Our suite of APIs enables you to efficiently interact with key resources, automate processes, and enhance your applications with reliable insights.

Whether you're integrating property intelligence, optimizing lead quality assessments, or leveraging advanced data analytics, Quantiv provides the tools you need to drive smarter decisions and maximize efficiency.

Get started today and unlock the full potential of our APIs!

🧐 Overview

The Quantiv API is organized around REST principles, utilizing standard HTTP methods, response codes, and authentication. It accepts requests with a JSON body and returns responses in JSON format. The API only supports HTTPS-secured communication. Standard HTTP status codes are used to indicate request outcomes. Error responses include error, statusCode, and message fields for clear debugging.

🌐 Endpoint

The Quantiv API uses a single endpoint for both sandbox and production environments.

EnvironmentEndpoint URL
Sandboxhttps://public-api.quantiv.io
Productionhttps://public-api.quantiv.io

🔐 Authentication

You will be provided with two API keys. The key with the sandbox prefix should be used for requests to the sandbox environment, while the key with the production prefix should be used for requests to the production environment.

The API key must be included in the token request header for each API request.

📝 Response Status Codes

The Quantiv API follows standard HTTP response codes to communicate the outcome of an API request. Generally, codes in the 200 range represent successful requests, codes in the 400 range indicate errors in the request, and codes in the 500 range denote server-side issues.

Status CodeStatus MessageDescription
200SuccessThe request was successfully processed.
400Bad RequestThe request was malformed or had invalid syntax.
401UnauthorizedThe provided authentication credentials were invalid.
404Not FoundThe requested resource could not be located.
500Internal Server ErrorAn error occurred on the server while processing the request.

⚠️ Business Errors

The Quantiv API returns a status code of 400 Bad Request for business-related errors. The response will include the details of the error, as outlined in the table below.

CaseErrorStatusCodeMessage
Incorrect Payment StatusBad Request400Account is paused due to failed payment. Contact Quantiv Admin.
Inactive API Product TriggeredBad Request400Product is not activated. Contact Quantiv Admin.
Reaching API Usage LimitBad Request400API Monthly Limit is reached. Contact Quantiv Admin.
Reaching $0 Account BalanceBad Request400Insufficient Account Balance to process request. Contact Quantiv Admin.
Download OpenAPI description
Languages
Servers
Mock server

https://docs.quantiv.io/_mock/api/openapi/

https://public-api.quantiv.io/

Lead Append Level 1

Method to retrieve property details based on the provided information.

Note: If any parameter in the response contains a null value, it indicates that the value could not be determined based on the provided data.

Operations

Lead Append Level 2

Method to retrieve property details, Lead Integrity Score and Defects based on the provided information.

Note: If any parameter in the response contains a null value, it indicates that the value could not be determined based on the provided data.

Lead Integrity Score indicates the quality of a lead based on various factors such as zoning classification, owner occupancy status, presence of a structure, and surname match. It helps assess the reliability of a lead.

Score Values

ScoreQuality LevelDescription
nullUnknownLead quality can not be determined.
10–9OutstandingHighest lead quality.
8–7StrongReliable lead.
6–5ModerateAverage lead quality.
4–3WeakLow-quality lead.
2–1Very WeakVery low lead quality.
0UnreliableUntrustworthy lead.

Lead Integrity Defects indicates which factors contributed to a lower Lead Integrity Score. These defects highlight potential issues with the lead's reliability.

Defect Values

DefectDescription
nullLead Defects can not be determined.
zoningProperty type is not confirmed as residential.
occupancyProperty is not confirmed as occupied by the owner.
structureStructure is not confirmed as present at the address.
surnameSurname is not confirmed to match one of the names on the deed.
Operations

Buyer Insights

Buyer Insights is a comprehensive suite of scoring tools designed to help home services providers assess homeowners' financial reliability, purchasing behavior, and willingness to invest in premium home improvements. It includes:

  • SurePay™ Score – Evaluates the likelihood of homeowners paying for services, helping contractors mitigate financial risk.
  • Elevate Score – Measures a homeowner’s receptiveness and financial ability to invest in upsell opportunities and higher-end home improvements.
  • Buyer Insights Scores – Assesses consumer buying styles across various categories.
  • Sales Hacks – Delivers instant, actionable guidance by translating Buyer Insights, SurePay™, and Elevate Scores into practical sales strategies for more effective customer engagement.
  • Property Details: Contextual address information to support sales, site assessment, and project planning. Refer to Lead Append Level 2 Documentation.
  • Lead Integrity Score and Defects: Measures to ensure data reliability and lead quality. Refer to Lead Append Level 2 Documentation.

Buyer Insights empowers businesses with data-driven insights, enabling smarter decision-making and improved profitability.

Note: If any parameter in the response contains a null value, it indicates that the value could not be determined based on the provided data.

SurePay™ Score Values

ValueDescription
nullScore can not be determined.
5High likelihood to perform and meet obligations. High likelihood to qualify for the best interest rates.
4Likely to perform and meet obligations. Likely to qualify for most loans at slightly higher rates.
3Average likelihood to perform and meet obligations. May qualify for some loans at higher rates.
2Poor likelihood to perform and meet obligations. May qualify for some loans at significantly higher rates.
1Unlikely to perform and meet obligations. Highly unlikely to qualify for any loans.

Elevate Score Values

ValueDescription
nullScore can not be determined.
10Extremely Likely
9Highly Likely
8Very Likely
7Somewhat Likely
6Likely
5Somewhat Unlikely
4Very Unlikely
3Highly Unlikely
1-2Extremely Unlikely

Buyer Insights Scores Description

ScoreDescription
Savvy ShopperRationale: These homeowners conduct extensive research and compare multiple options—not necessarily to find the lowest price, but to ensure they make a well-informed, risk-averse decision. These consumers like to compare prices across different sites before purchasing and typically read online reviews and consumer reports. Sales Approach: Build trust by offering side-by-side comparisons, testimonials, and third-party validations. Reinforce their ability to make an educated decision while subtly guiding them toward your best offering.
Brand LoyalistRationale: These homeowners have strong brand preferences and believe that reputation equates to reliability. They may challenge recommendations that deviate from their preselected brands. These consumers are willing to pay more for proven and reputable brands. Sales Approach: Align with their existing knowledge by reinforcing brand credibility. Emphasize manufacturer warranties, certifications, and brand-backed guarantees. If proposing alternatives, focus on comparable or superior features rather than price. Educate the consumer about the brand if you sell a product in which brand awareness is limited.
TrendsetterRationale: These homeowners love being ahead of the curve and are eager to explore innovative, cutting-edge solutions. They value exclusivity and uniqueness in their purchases. These consumers are trendsetters and early adopters of new products. Sales Approach: Present the newest, most innovative products first. Emphasize exclusivity, technological advancements, and the opportunity to be among the first to own the latest home improvement solutions.
Budget-Savvy BuyerRationale: These homeowners prioritize affordability and perceived value over brand reputation. They tend to emphasize cost-efficiency in their decision-making process. Price is more important to these consumers than brand name. Sales Approach: Present cost-effective solutions that maximize value. Highlight financing options, cost savings over time, and product benefits that justify the investment. Be prepared to handle objections related to pricing.
Quality First BuyerRationale: These buyers prioritize durability, craftsmanship, and peace of mind over price but may struggle to define what “quality” looks like. Quality matters for these consumers, and they are willing to pay more for fresh ingredients, durable materials, and quality craftsmanship. Sales Approach: Focus on quality differentiators such as superior materials, expert installation, and longevity. Help them visualize potential risks of choosing lower-quality options and reassure them of the long-term value.
Impulse Shopper (Can’t Say No)Rationale: These homeowners are easily persuaded to add features or upgrades that enhance functionality or perceived value. These spenders find it difficult to say 'no' to things that catch their eyes. They recognize they are "spenders" rather than "savers" and appreciate a convenient purchase opportunity. Top of mind = In the cart. Sales Approach: Strategically introduce upgrades and enhancements throughout the conversation. Highlight benefits of add-ons in a way that makes them feel essential rather than optional. Use visual demonstrations to reinforce desirability.
Popular PicksRationale: These buyers seek social validation and prefer solutions that align with current trends and widely accepted choices. Online reviews and recommendations influence them significantly. Sales Approach: Leverage social proof by showcasing positive customer testimonials, industry trends, and best-selling options. Reinforce that their decision aligns with what other satisfied homeowners are choosing.

Buyer Insights Values

ValueDescription
nullScore can not be determined.
10Extremely Likely
9Highly Likely
8Very Likely
7Somewhat Likely
6Likely
5Somewhat Unlikely
4Very Unlikely
3Highly Unlikely
2Extremely Unlikely
1Unknown

Note: Sales Hack value is provided for a Buyer Insight only when the related Buyer Insight Score meets or exceeds 8.


Accuracy Code

The accuracy code specifies the level at which the provided scores are categorized, based on the quality and relevance of the user-supplied data. It indicates the reference point used to generate the insights.

ValueDescription
PThe scores are directly related to the individual (owner) of the address, based on the provided address data.
AThe scores are directly related to a primary member of the household associated with the address, based on the provided address data.
GThe scores reflect the modeled profile of the homeowner based on the typical profile of owners within a narrow geographic area of the provided address data.
NNo relevant data could be matched based on the provided information.
Operations

Lead Value - Roof

The Lead Value - Roof API is a fast, reliable tool for instantly assigning a value to roof replacement leads by calculating the approximate roof area and replacement costs based solely on a property address. Built specifically for roofing contractors, home improvement platforms, and sales engagement tools, it supports top-of-funnel lead generation and enables sales teams to quickly assess project value and prioritize opportunities.

The API processes address-level inputs and optional parameters like roof material and installation pricing per square — to return a detailed approximation that includes roof area (adjusted for pitch), average pitch angle, complexity level, and total estimated replacement cost.

The Lead Value - Roof API is designed to deliver consistent, data-backed approximations in real time — not to replace on-site inspections, precise measurements, or detailed proposals. Instead, it equips sales teams with a scalable, automated way to qualify and value leads. By providing relative cost estimates early in the sales cycle, businesses can increase quote-to-close rates, reduce time spent on manual assessments, and focus efforts on the highest-value opportunities.

Note: If any parameter in the response contains a null value, it indicates that the value could not be determined based on the provided data.

Structure Present Confidence Score Values

ValueDescription
nullValue could not be determined.
100High confidence that rooftop data corresponds to the primary structure at the exact address provided.
50Data may correspond to a nearby structure rather than the actual address, indicating a possible issue with the input address.

When a Score of 50 is Returned

A confidence score of 50 may be returned under the following conditions:

  • No structure exists at the provided address (e.g., empty lot, typo in house number, or unvalidated address).
  • Our system interpolated coordinates to the closest known structure due to an invalid or unrecognized address.
  • Our system failed to detect a structure due to:
    • Recent new construction not yet reflected in mapping data
    • Street name formatting issues (e.g., uncommon abbreviations or casing)
    • Address formatting discrepancies that prevented structure identification

In such cases, the rooftop data returned may not represent the structure located at the submitted address.

Data Accuracy Alerts

The Roof Pitch Alert and Roof Area Alert parameters help identify potentially unreliable or atypical measurement results related to roof pitch or area. These alerts are designed to prompt additional validation or inspection.

Roof Pitch Alert Values

Indicates potential issues with roof pitch estimation.

ValueDescription
nullValue could not be determined.
NO_ALERTSNo pitch-related alerts detected.
LOW_PITCHDetected pitch is unusually low — possibly due to flat roofs or obstruction.
HIGH_PITCHDetected pitch is unusually high — may indicate steep or complex geometry.

Roof Area Alert Values

Indicates potential issues with roof area estimation.

ValueDescription
nullValue could not be determined.
NO_ALERTSNo area-related alerts detected.
LOW_AREAEstimated area is smaller than expected — may be caused by occlusion or missing imagery.
HIGH_AREAEstimated area is larger than expected — could result from multiple structures or over-segmentation.

When Alerts Are Triggered

Alerts are generated to assist in identifying potentially inaccurate or atypical results based on the roof pitch or area. Common scenarios include:

  • Obstructed View: Tree canopy, overhangs, or neighboring structures may obscure full visibility of the rooftop.
  • Imagery Quality: Satellite or aerial images may be affected by shadows, poor lighting, or resolution issues.
  • Roof Complexity: Irregular or highly complex roof geometries can make measurement modeling less reliable.
  • Multiple Structures: Properties with multiple buildings or large accessory structures may lead to elevated or ambiguous area calculations.
  • Partial or Missing Imagery: Incomplete or outdated imagery data can lead to pitch or area deviations.

In such cases, alerts provide a useful prompt for further validation, helping to prioritize follow-up review and ensure more accurate project planning.

Operations

GoSolar Index

GoSolar Index is an analytics tool built exclusively for residential solar sales teams, CRM platforms, and App providers to optimize lead qualification and targeting. This powerful scoring feature combines behavioral signals, sustainability intent, financial indicators, and political orientation to deliver a single, predictive score for every homeowner, improving conversion rates by identifying high-propensity targets.

The API response includes:

  • GoSolar Index Score (10–0): A quantitative indicator of solar adoption potential.
  • Prospect Fit Level: A qualitative assessment (Ideal, Moderate, Weak) for quick segmentation.
  • Prospect Attitude Message: An insight into the homeowner’s likely solar motivation, such as environmental, sustainability, economic, or energy independence, enabling tailored messaging.
  • Property Details: Contextual address information to support sales, site assessment, and project planning. Refer to Lead Append Level 2 Documentation.
  • Lead Integrity Score and Defects: Measures to ensure data reliability and lead quality. Refer to Lead Append Level 2 Documentation.

Solar providers can integrate the GoSolar Index into their lead scoring systems to improve conversion rates, reduce outreach costs, and personalize customer engagement strategies.

Note: If any parameter in the response contains a null value, it indicates that the value could not be determined based on the provided data.

GoSolar Index and Prospect Fit Level Mapping

GoSolar IndexProspect Fit Level
8.33 – 10Ideal
5.0 – 8.32Moderate
0 – 4.99Weak

Prospect Attitude Message Values

Lead with emphasis on climate, sustainability, and clean energy considerations.
Lead with emphasis on economic benefits, incentives, energy independence, and ROI consideration.
Neutral message emphasizing both economic benefits, incentives, independence and renewable energy benefits, and sustainability.

Accuracy Code

The accuracy code specifies the level at which the provided response is categorized, based on the quality and relevance of the user-supplied data. It indicates the reference point used to generate the insights.

ValueDescription
PGoSolar Index, Prospect Fit Level and Prospect Attitude Message are directly related to the individual (owner) of the address, based on the provided address data.
AGoSolar Index, Prospect Fit Level and Prospect Attitude Message are directly related to a primary member of the household associated with the address, based on the provided address data.
GGoSolar Index, Prospect Fit Level and Prospect Attitude Message reflect the modeled profile of the homeowner based on the typical profile of owners within a narrow geographic area of the provided address data.
NNo relevant data could be matched based on the provided information.
Operations

Utility Bill

The Utility Bill API provides accurate energy usage on an address-specific basis without a utility bill. The API responds with electricity and fossil fuel consumption and cost data for the past 12 months. This information is especially valuable for solar salespeople, enabling them to obtain instant energy consumption data and cost per kilowatt hour (kWh) to utilize in initial estimates and proposals before requesting or receiving a homeowner’s utility bill.

Key Features:

  • Monthly, quarterly, and annual electricity consumption and cost breakdown, including electricity utility rate.
  • Emissions data and CO₂ analytics related to electricity usage.
  • Fossil fuel usage statistics including cost, type, and utility rate.
  • Ratio analysis between electricity and fossil fuel consumption.

The response includes a electricToFossilRatio field representing the ratio of electricity usage to fossil fuel usage over the last 12 months.

  • If a home has a ratio less than 1, it indicates the home consumes more fossil fuel than electricity.
  • If a home uses only electricity and no fossil fuels, the ratio value will be null.

The API responds with a structured summary of utility usage or a message indicating that no valid data is available for the given address.

Operations

EngagePro™ - Lead Widget

The Quantiv's EngagePro™ - Lead Widget is a lightweight, high-converting widget designed to help CRM and App Providers enable their Clients to generate qualified roofing leads effortlessly.

The widget can be launched:

  • As an overlay popup on the Client’s website via the Widget Script
  • As a hosted flow on a Quantiv-managed domain
  • Via shareable QR codes and direct links (great for digital and offline use)

Homeowners receive an instant roofing estimate in under 30 seconds while Clients collect detailed lead information — all fully branded.

Clients can fully customize both the widget UI element (button, banner, or custom) and the appearance of the full flow by:

  • Uploading logos
  • Setting brand colors (primary, secondary, background, text, links)
  • Defining company info, terms of use, and privacy policy links
  • Setting installation price used in roof cost estimation
  • Updating the title of the first screen

The API allows CRM and App Providers to offer their Clients full control over widget creation, activation, and management directly from their own UI/UX — while Quantiv handles hosting, script generation, QR codes, and link creation.

Check out the Widgets detailed documention for more information.

Operations

Request

Creates the EngagePro™ - Lead Widget configuration.

Headers
Content-Typestring

Set to multipart/form-data to support file and form data submission.

Example: multipart/form-data
tokenstring
Example: {API Key}
Bodymultipart/form-datarequired
referenceIdstringrequired

Unique identifier of the Client in your system. It will become the ID of the Widget. Must be valid UUID format.

Example: "10ea9afd-2197-4df8-90a7-af1f73cea49b"
elementTypestring

Element type, which appears on the Client’s company website if the Widget Script is installed. Default - button.

Enum"button""banner""custom"
Example: "banner"
elementSizestring

Element size. Default - medium.

Enum"small""medium""large"
Example: "medium"
elementLocationstring

Element placement on page. Depends on elementType value. button - "bottom_right" | "bottom_left" | “side_right” | “side_left”, banner - "top" | "bottom". Default - side_right

Example: "side_right"
buttonTextstring

CTA text shown on the element.

Example: "Get Your Instant Estimate"
buttonTextColorstring

CTA text color. Format - HEX color code. Default - #FFFFFF.

Example: "#FFFFFF"
buttonBackgroundColorstring

Background color for button or banner text (if banner type is applied). Format - HEX color code. Default - #696CFF.

Example: "#696CFF"
bannerTextstring

Banner text (beside CTA text).

Example: "Check your roof estimate in 60 seconds"
bannerBackgroundColorstring

Banner background color. Format - HEX color code.

Example: "#F5F5F9"
primaryColorstringrequired

Color of the primary buttons, QR-codes and titles. HEX color code must be used.

Example: "#696CFF"
secondaryColorstringrequired

Color of secondary buttons. HEX color code must be used.

Example: "#aaaaaa"
backgroundColorstringrequired

Background color under the hosted widget. HEX color code must be used.

Example: "#F5F5F9"
cardBackgroundColorstringrequired

Background color of the widget card. HEX color code must be used.

Example: "#ffffff"
textColorstringrequired

Main text color. HEX color code must be used.

Example: "#22303EE6"
linkColorstringrequired

Hyperlink color. HEX color code must be used.

Example: "#696CFF"
footerCompanyNamestringrequired

Footer company name.

Example: "Company Name"
footerPirvacyPolicyLinkstringrequired

Link to privacy policy.

Example: "https://example.com"
footerTermsOfUseLinkstring

Link to terms of service.

Example: "https://example.com"
footerLogofile

Small logo at the bottom. PNG or JPG (recommended). Favicon preferred (e.g. 24×24 px). Max file size - 1 MB.

removeFooterLogoboolean

Removes Footer Logo if false is sent.

Example: false
headerLogofilerequired

Logo displayed at the top. PNG or JPG (recommended). Horizontal layout preferred (e.g. 300×150 px). Max file size - 1 MB.

statusstringrequired

EngagePro™ - Lead Widget status. The value is used to activate and deactive the functionality.

Enum"active""inactive"
Example: "active"
companyNamestringrequired

Client's company name.

Example: "Company name"
companyPhonestringrequired

Client's company phone number. Format must be (XXX) XXX-XXXX.

Example: "(123) 456-7890"
companyEmailstringrequired

Client's company email address.

Example: "roofing@mail.co"
companyAddressstringrequired

Client's company physical address.

Example: "123 William Street, New York, NY"
companyUrlstringrequired

Client's main company website url. It is also used for generating Widget QR-code and redirect link if the Widget Script is installed.

Example: "https://example.com"
domainsstring

Comma-separated list of authorized domains (URLs) where the Widget Script is allowed to run. This ensures the Widget can only be embedded and executed on trusted websites for security purposes.

Example: "https://example.com, example1.com"
firstPageTitlestringrequired

EngagePro™ - Lead Widget First Page Title.

Example: "Get Your Estimate in 30 Seconds!"
installedPricenumber

Client's all-in installation price per square, including materials, labor and gross profit, for asphalt shingle used in the estimation. Default value - 400.00.

Example: 601
curl -i -X POST \
  https://docs.quantiv.io/_mock/api/openapi/api/v1/roof-estimate-widget \
  -H 'Content-Type: multipart/form-data' \
  -H 'token: {API Key}' \
  -F referenceId=10ea9afd-2197-4df8-90a7-af1f73cea49b \
  -F elementType=banner \
  -F elementSize=medium \
  -F elementLocation=side_right \
  -F 'buttonText=Get Your Instant Estimate' \
  -F 'buttonTextColor=#FFFFFF' \
  -F 'buttonBackgroundColor=#696CFF' \
  -F 'bannerText=Check your roof estimate in 60 seconds' \
  -F 'bannerBackgroundColor=#F5F5F9' \
  -F 'primaryColor=#696CFF' \
  -F 'secondaryColor=#aaaaaa' \
  -F 'backgroundColor=#F5F5F9' \
  -F 'cardBackgroundColor=#ffffff' \
  -F 'textColor=#22303EE6' \
  -F 'linkColor=#696CFF' \
  -F 'footerCompanyName=Company Name' \
  -F footerPirvacyPolicyLink=https://example.com \
  -F footerTermsOfUseLink=https://example.com \
  -F footerLogo=null \
  -F removeFooterLogo=false \
  -F headerLogo=null \
  -F status=active \
  -F 'companyName=Company name' \
  -F 'companyPhone=(123) 456-7890' \
  -F companyEmail=roofing@mail.co \
  -F 'companyAddress=123 William Street, New York, NY' \
  -F companyUrl=https://example.com \
  -F 'domains=https://example.com, example1.com' \
  -F 'firstPageTitle=Get Your Estimate in 30 Seconds!' \
  -F installedPrice=601

Responses

EngagePro™ - Lead Widget is successfully created.

Bodyapplication/json
referenceIdstring

Unique identifier of the Client in your system.

Example: "10ea9afd-2197-4df8-90a7-af1f73cea49b"
elementTypestring

Element type, which appears on the Client’s company website if the Widget Script is installed.

Example: "banner"
elementSizestring

Element size.

Example: "medium"
elementLocationstring

Element placement on page.

Example: "side_right"
buttonTextstring

CTA text shown on the element.

Example: "Get Your Instant Estimate"
buttonTextColorstring

CTA text color.

Example: "#FFFFFF"
buttonBackgroundColorstring

Background color for button or banner text (if banner type is applied).

Example: "#696CFF"
bannerTextstring

Banner text (beside CTA text).

Example: "Check your roof estimate in 60 seconds"
bannerBackgroundColorstring

Banner background color.

Example: "#F5F5F9"
primaryColorstring

Color of the primary buttons, QR-codes and titles.

Example: "#696CFF"
secondaryColorstring

Color of secondary buttons.

Example: "#aaaaaa"
backgroundColorstring

Background color under the hosted widget.

Example: "#F5F5F9"
cardBackgroundColorstring

Background color of the widget card.

Example: "#ffffff"
textColorstring

Main text color.

Example: "#22303EE6"
linkColorstring

Hyperlink color.

Example: "#696CFF"
footerCompanyNamestring

Footer company name.

Example: "Company Name"
footerPirvacyPolicyLinkstring

Link to privacy policy.

Example: "https://example.com"
footerTermsOfUseLinkstring

Link to terms of service.

Example: "https://example.com"
footerLogoUrlstring(url)

Link to submitted small logo, which is displayed at the bottom.

removeFooterLogoboolean

Removes Footer Logo if added.

Example: false
headerLogoUrlstring(url)

Link to submitted Logo, which is displayed at the top.

statusstring

EngagePro™ - Lead Widget status.

Example: "active"
companyNamestring

Client's company name.

Example: "Company name"
companyPhonestring

Client's company phone number.

Example: "(123) 456-7890"
companyEmailstring

Client's company email address.

Example: "roofing@mail.co"
companyAddressstring

Client's company physical address.

Example: "123 William Street, New York, NY"
companyUrlstring

Client's main company website url.

Example: "https://example.com"
domainsstring

Comma-separated list of authorized domains (URLs) where the Widget Script is allowed to run. This ensures the Widget can only be embedded and executed on trusted websites for security purposes.

Example: "https://example.com, example1.com"
firstPageTitlestring

EngagePro™ - Lead Widget First Page Title.

Example: "Get Your Estimate in 30 Seconds!"
installedPricenumber

Client's all-in installation price per square, including materials, labor and gross profit, for asphalt shingle used in the estimation.

Example: 601
widgetScriptstring

Widget Script, which must be placed in the Client's company website. It renders configured UI element and EngagePro™ - Lead Widget Flow. Check out our Widget installation guide.

Example: "<script src=\"https://quantiv-dev.nyc3.cdn.digitaloceanspaces.com/widgets/widget.min.js\" data-widget-type=\"roof-estimate\" data-reference-id=\"10ea9afd-2197-4df8-90a7-af1f73cea49b\"></script>"
widgetQrCodestring

This QR Code will open the EngagePro™ - Lead Widget on the Client's company website after installation of the Widget Script.

Example: "https://quantiv.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_widget-qr-code_1752139746614.png"
quantivQrCodestring

This QR Code will open the EngagePro™ - Lead Widget on a page Quantiv hosts and will work immediately with no installation or presence on the Client's company website.

Example: "https://quantiv-dev.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_quantiv-qr-code_1752139746650.png"
widgetLinkstring

This Redirect Link will open the EngagePro™ - Lead Widget on the Client's company website after installation of the Widget Script.

Example: "https://example.com?roof-estimate=open"
quantivPageLinkstring

This Redirect Link will open the EngagePro™ - Lead Widget on a page Quantiv hosts and will work immediately with no installation or presence on the Client's company website.

Example: "https://quantiv.io/widget/roof-estimate/10ea9afd-2197-4df8-90a7-af1f73cea49b"
Response
application/json
{ "referenceId": "10ea9afd-2197-4df8-90a7-af1f73cea49b", "elementType": "banner", "elementSize": "medium", "elementLocation": "side_right", "buttonText": "Get Your Instant Estimate", "buttonTextColor": "#FFFFFF", "buttonBackgroundColor": "#696CFF", "bannerText": "Check your roof estimate in 60 seconds", "bannerBackgroundColor": "#F5F5F9", "primaryColor": "#696CFF", "secondaryColor": "#aaaaaa", "backgroundColor": "#F5F5F9", "cardBackgroundColor": "#ffffff", "textColor": "#22303EE6", "linkColor": "#696CFF", "footerCompanyName": "Company Name", "footerPirvacyPolicyLink": "https://example.com", "footerTermsOfUseLink": "https://example.com", "footerLogoUrl": "string", "removeFooterLogo": false, "headerLogoUrl": "string", "status": "active", "companyName": "Company name", "companyPhone": "(123) 456-7890", "companyEmail": "roofing@mail.co", "companyAddress": "123 William Street, New York, NY", "companyUrl": "https://example.com", "domains": "https://example.com, example1.com", "firstPageTitle": "Get Your Estimate in 30 Seconds!", "installedPrice": 601, "widgetScript": "<script src=\"https://quantiv-dev.nyc3.cdn.digitaloceanspaces.com/widgets/widget.min.js\" data-widget-type=\"roof-estimate\" data-reference-id=\"10ea9afd-2197-4df8-90a7-af1f73cea49b\"></script>", "widgetQrCode": "https://quantiv.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_widget-qr-code_1752139746614.png", "quantivQrCode": "https://quantiv-dev.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_quantiv-qr-code_1752139746650.png", "widgetLink": "https://example.com?roof-estimate=open", "quantivPageLink": "https://quantiv.io/widget/roof-estimate/10ea9afd-2197-4df8-90a7-af1f73cea49b" }

Request

Updates the EngagePro™ - Lead Widget configuration.

Path
referenceIdstringrequired

The ID of the Widget, which is equal to your Client's identifier and was set in the POST request, to update.

Headers
Content-Typestring

Set to multipart/form-data to support file and form data submission.

Example: multipart/form-data
tokenstring
Example: {API Key}
Bodymultipart/form-datarequired
elementTypestring

Element type, which appears on the Client’s company website if the Widget Script is installed. Default - button.

Enum"button""banner""custom"
Example: "banner"
elementSizestring

Element size. Default - medium.

Enum"small""medium""large"
Example: "medium"
elementLocationstring

Element placement on page. Depends on elementType value. button - "bottom_right" | "bottom_left" | “side_right” | “side_left”, banner - "top" | "bottom". Default - side_right

Example: "side_right"
buttonTextstring

CTA text shown on the element.

Example: "Get Your Instant Estimate"
buttonTextColorstring

CTA text color. Format - HEX color code. Default - #FFFFFF.

Example: "#FFFFFF"
buttonBackgroundColorstring

Background color for button or banner text (if banner type is applied). Format - HEX color code. Default - #696CFF.

Example: "#696CFF"
bannerTextstring

Banner text (beside CTA text).

Example: "Check your roof estimate in 60 seconds"
bannerBackgroundColorstring

Banner background color. Format - HEX color code.

Example: "#F5F5F9"
primaryColorstring

Color of the primary buttons, QR-codes and titles. HEX color code must be used.

Example: "#696CFF"
secondaryColorstring

Color of secondary buttons. HEX color code must be used.

Example: "#aaaaaa"
backgroundColorstring

Background color under the hosted widget. HEX color code must be used.

Example: "#F5F5F9"
cardBackgroundColorstring

Background color of the widget card. HEX color code must be used.

Example: "#ffffff"
textColorstring

Main text color. HEX color code must be used.

Example: "#22303EE6"
linkColorstring

Hyperlink color. HEX color code must be used.

Example: "#696CFF"
footerCompanyNamestring

Footer company name.

Example: "Company Name"
footerPirvacyPolicyLinkstring

Link to privacy policy.

Example: "https://example.com"
footerTermsOfUseLinkstring

Link to terms of service.

Example: "https://example.com"
footerLogofile

Small logo at the bottom. PNG or JPG (recommended). Favicon preferred (e.g. 24×24 px). Max file size - 1 MB.

removeFooterLogoboolean

Removes Footer Logo if false is sent.

Example: false
headerLogofile

Logo displayed at the top. PNG or JPG (recommended). Horizontal layout preferred (e.g. 300×150 px). Max file size - 1 MB.

statusstring

EngagePro™ - Lead Widget status. The value is used to activate and deactive the functionality.

Enum"active""inactive"
Example: "active"
companyNamestring

Client's company name.

Example: "Company name"
companyPhonestring

Client's company phone number. Format must be (XXX) XXX-XXXX.

Example: "(123) 456-7890"
companyEmailstring

Client's company email address.

Example: "roofing@mail.co"
companyAddressstring

Client's company physical address.

Example: "123 William Street, New York, NY"
companyUrlstring

Client's main company website. It is also used for generating Widget QR-code and redirect link if the Widget Script is installed.

Example: "https://example.com"
domainsstring

Comma-separated list of authorized domains (URLs) where the Widget Script is allowed to run. This ensures the Widget can only be embedded and executed on trusted websites for security purposes.

Example: "https://example.com, example1.com"
firstPageTitlestring

EngagePro™ - Lead Widget First Page Title.

Example: "Get Your Estimate in 30 Seconds!"
installedPricenumber

Client's all-in installation price per square, including materials, labor and gross profit, for asphalt shingle used in the estimation. Default value - 400.00.

Example: 601
curl -i -X PUT \
  'https://docs.quantiv.io/_mock/api/openapi/api/v1/roof-estimate-widget/{referenceId}' \
  -H 'Content-Type: multipart/form-data' \
  -H 'token: {API Key}' \
  -F elementType=banner \
  -F elementSize=medium \
  -F elementLocation=side_right \
  -F 'buttonText=Get Your Instant Estimate' \
  -F 'buttonTextColor=#FFFFFF' \
  -F 'buttonBackgroundColor=#696CFF' \
  -F 'bannerText=Check your roof estimate in 60 seconds' \
  -F 'bannerBackgroundColor=#F5F5F9' \
  -F 'primaryColor=#696CFF' \
  -F 'secondaryColor=#aaaaaa' \
  -F 'backgroundColor=#F5F5F9' \
  -F 'cardBackgroundColor=#ffffff' \
  -F 'textColor=#22303EE6' \
  -F 'linkColor=#696CFF' \
  -F 'footerCompanyName=Company Name' \
  -F footerPirvacyPolicyLink=https://example.com \
  -F footerTermsOfUseLink=https://example.com \
  -F footerLogo=null \
  -F removeFooterLogo=false \
  -F headerLogo=null \
  -F status=active \
  -F 'companyName=Company name' \
  -F 'companyPhone=(123) 456-7890' \
  -F companyEmail=roofing@mail.co \
  -F 'companyAddress=123 William Street, New York, NY' \
  -F companyUrl=https://example.com \
  -F 'domains=https://example.com, example1.com' \
  -F 'firstPageTitle=Get Your Estimate in 30 Seconds!' \
  -F installedPrice=601

Responses

EngagePro™ - Lead Widget is successfully updated.

Bodyapplication/json
referenceIdstring

Unique identifier of the Client in your system.

Example: "10ea9afd-2197-4df8-90a7-af1f73cea49b"
elementTypestring

Element type, which appears on the Client’s company websites if the Widget Script is installed.

Example: "banner"
elementSizestring

Element size.

Example: "medium"
elementLocationstring

Element placement on page.

Example: "side_right"
buttonTextstring

CTA text shown on the element.

Example: "Get Your Instant Estimate"
buttonTextColorstring

CTA text color.

Example: "#FFFFFF"
buttonBackgroundColorstring

Background color for button or banner text (if banner type is applied).

Example: "#696CFF"
bannerTextstring

Banner text (beside CTA text).

Example: "Check your roof estimate in 60 seconds"
bannerBackgroundColorstring

Banner background color.

Example: "#F5F5F9"
primaryColorstring

Color of the primary buttons, QR-codes and titles.

Example: "#696CFF"
secondaryColorstring

Color of secondary buttons.

Example: "#aaaaaa"
backgroundColorstring

Background color under the hosted widget.

Example: "#F5F5F9"
cardBackgroundColorstring

Background color of the widget card.

Example: "#ffffff"
textColorstring

Main text color.

Example: "#22303EE6"
linkColorstring

Hyperlink color.

Example: "#696CFF"
footerCompanyNamestring

Footer company name.

Example: "Company Name"
footerPirvacyPolicyLinkstring

Link to privacy policy.

Example: "https://example.com"
footerTermsOfUseLinkstring

Link to terms of service.

Example: "https://example.com"
footerLogoUrlstring(url)

Link to submitted small logo, which is displayed at the bottom.

removeFooterLogoboolean

Removes Footer Logo if added.

Example: false
headerLogoUrlstring(url)

Link to submitted Logo, which is displayed at the top.

statusstring

EngagePro™ - Lead Widget status.

Example: "active"
companyNamestring

Client's company name.

Example: "Company name"
companyPhonestring

Client's company phone number.

Example: "(123) 456-7890"
companyEmailstring

Client's company email address.

Example: "roofing@mail.co"
companyAddressstring

Client's company physical address.

Example: "123 William Street, New York, NY"
companyUrlstring

Client's main company website url.

Example: "https://example.com"
domainsstring

Comma-separated list of authorized domains (URLs) where the Widget Script is allowed to run.

Example: "https://example.com, example1.com"
firstPageTitlestring

EngagePro™ - Lead Widget First Page Title.

Example: "Get Your Estimate in 30 Seconds!"
installedPricenumber

Client's all-in installation price per square, including materials, labor and gross profit, for asphalt shingle used in the estimation.

Example: 601
widgetScriptstring

Widget Script, which must be placed in the Client's company website. It renders configured UI element and EngagePro™ - Lead Widget Flow. Check out our Widget installation guide.

Example: "<script src=\"https://quantiv-dev.nyc3.cdn.digitaloceanspaces.com/widgets/widget.min.js\" data-widget-type=\"roof-estimate\" data-reference-id=\"10ea9afd-2197-4df8-90a7-af1f73cea49b\"></script>"
widgetQrCodestring

This QR Code will open the EngagePro™ - Lead Widget on the Client's company website after installation of the Widget Script.

Example: "https://quantiv.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_widget-qr-code_1752139746614.png"
quantivQrCodestring

This QR Code will open the EngagePro™ - Lead Widget on a page Quantiv hosts and will work immediately with no installation or presence on the Client's company website.

Example: "https://quantiv-dev.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_quantiv-qr-code_1752139746650.png"
widgetLinkstring

This Redirect Link will open the EngagePro™ - Lead Widget on the Client's company website after installation of the Widget Script.

Example: "https://example.com?roof-estimate=open"
quantivPageLinkstring

This Redirect Link will open the EngagePro™ - Lead Widget on a page Quantiv hosts and will work immediately with no installation or presence on the Client's company website.

Example: "https://quantiv.io/widget/roof-estimate/10ea9afd-2197-4df8-90a7-af1f73cea49b"
Response
application/json
{ "referenceId": "10ea9afd-2197-4df8-90a7-af1f73cea49b", "elementType": "banner", "elementSize": "medium", "elementLocation": "side_right", "buttonText": "Get Your Instant Estimate", "buttonTextColor": "#FFFFFF", "buttonBackgroundColor": "#696CFF", "bannerText": "Check your roof estimate in 60 seconds", "bannerBackgroundColor": "#F5F5F9", "primaryColor": "#696CFF", "secondaryColor": "#aaaaaa", "backgroundColor": "#F5F5F9", "cardBackgroundColor": "#ffffff", "textColor": "#22303EE6", "linkColor": "#696CFF", "footerCompanyName": "Company Name", "footerPirvacyPolicyLink": "https://example.com", "footerTermsOfUseLink": "https://example.com", "footerLogoUrl": "string", "removeFooterLogo": false, "headerLogoUrl": "string", "status": "active", "companyName": "Company name", "companyPhone": "(123) 456-7890", "companyEmail": "roofing@mail.co", "companyAddress": "123 William Street, New York, NY", "companyUrl": "https://example.com", "domains": "https://example.com, example1.com", "firstPageTitle": "Get Your Estimate in 30 Seconds!", "installedPrice": 601, "widgetScript": "<script src=\"https://quantiv-dev.nyc3.cdn.digitaloceanspaces.com/widgets/widget.min.js\" data-widget-type=\"roof-estimate\" data-reference-id=\"10ea9afd-2197-4df8-90a7-af1f73cea49b\"></script>", "widgetQrCode": "https://quantiv.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_widget-qr-code_1752139746614.png", "quantivQrCode": "https://quantiv-dev.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_quantiv-qr-code_1752139746650.png", "widgetLink": "https://example.com?roof-estimate=open", "quantivPageLink": "https://quantiv.io/widget/roof-estimate/10ea9afd-2197-4df8-90a7-af1f73cea49b" }

Retrieve EngagePro™ - Lead Widget

Request

Retrieves the EngagePro™ - Lead Widget configuration.

Path
referenceIdstringrequired

The ID of the Widget, which is equal to your Client's identifier and was set in the POST request, to retrieve.

Headers
Acceptstring
Example: application/json
tokenstring
Example: {API Key}
curl -i -X GET \
  'https://docs.quantiv.io/_mock/api/openapi/api/v1/roof-estimate-widget/{referenceId}' \
  -H 'Accept: application/json' \
  -H 'token: {API Key}'

Responses

EngagePro™ - Lead Widget is successfully retrieved.

Bodyapplication/json
referenceIdstring

Unique identifier of the Client in your system.

Example: "10ea9afd-2197-4df8-90a7-af1f73cea49b"
elementTypestring

Element type, which appears on the Client’s company website if the Widget Script is installed.

Example: "banner"
elementSizestring

Element size.

Example: "medium"
elementLocationstring

Element placement on page.

Example: "side_right"
buttonTextstring

CTA text shown on the element.

Example: "Get Your Instant Estimate"
buttonTextColorstring

CTA text color.

Example: "#FFFFFF"
buttonBackgroundColorstring

Background color for button or banner text (if banner type is applied).

Example: "#696CFF"
bannerTextstring

Banner text (beside CTA text).

Example: "Check your roof estimate in 60 seconds"
bannerBackgroundColorstring

Banner background color.

Example: "#F5F5F9"
primaryColorstring

Color of the primary buttons, QR-codes and titles.

Example: "#696CFF"
secondaryColorstring

Color of secondary buttons.

Example: "#aaaaaa"
backgroundColorstring

Background color under the hosted widget.

Example: "#F5F5F9"
cardBackgroundColorstring

Background color of the widget card.

Example: "#ffffff"
textColorstring

Main text color.

Example: "#22303EE6"
linkColorstring

Hyperlink color.

Example: "#696CFF"
footerCompanyNamestring

Footer company name.

Example: "Company Name"
footerPirvacyPolicyLinkstring

Link to privacy policy.

Example: "https://example.com"
footerTermsOfUseLinkstring

Link to terms of service.

Example: "https://example.com"
footerLogoUrlstring(url)

Link to submitted small logo, which is displayed at the bottom.

removeFooterLogoboolean

Removes Footer Logo if added.

Example: false
headerLogoUrlstring(url)

Link to submitted Logo, which is displayed at the top.

statusstring

EngagePro™ - Lead Widget status.

Example: "active"
companyNamestring

Client's company name.

Example: "Company name"
companyPhonestring

Client's company phone number.

Example: "(123) 456-7890"
companyEmailstring

Client's company email address.

Example: "roofing@mail.co"
companyAddressstring

Client's company physical address.

Example: "123 William Street, New York, NY"
companyUrlstring

Client's main company website url.

Example: "https://example.com"
domainsstring

Comma-separated list of authorized domains (URLs) where the Widget Script is allowed to run.

Example: "https://example.com, example1.com"
firstPageTitlestring

EngagePro™ - Lead Widget First Page Title.

Example: "Get Your Estimate in 30 Seconds!"
installedPricenumber

Client's all-in installation price per square, including materials, labor and gross profit, for asphalt shingle used in the estimation.

Example: 601
widgetScriptstring

Widget Script, which must be placed in the Client's company website using these instructions. It renders configured UI element and EngagePro™ - Lead Widget Flow. Check out our Widget installation guide.

Example: "<script src=\"https://quantiv-dev.nyc3.cdn.digitaloceanspaces.com/widgets/widget.min.js\" data-widget-type=\"roof-estimate\" data-reference-id=\"10ea9afd-2197-4df8-90a7-af1f73cea49b\"></script>"
widgetQrCodestring

This QR Code will open the EngagePro™ - Lead Widget on the Client's company website after installation of the Widget Script.

Example: "https://quantiv.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_widget-qr-code_1752139746614.png"
quantivQrCodestring

This QR Code will open the EngagePro™ - Lead Widget on a page Quantiv hosts and will work immediately with no installation or presence on the Client's company websitee.

Example: "https://quantiv-dev.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_quantiv-qr-code_1752139746650.png"
widgetLinkstring

This Redirect Link will open the EngagePro™ - Lead Widget on the Client's company website after installation of the Widget Script.

Example: "https://example.com?roof-estimate=open"
quantivPageLinkstring

This Redirect Link will open the EngagePro™ - Lead Widget on a page Quantiv hosts and will work immediately with no installation or presence on the Client's company website.

Example: "https://quantiv.io/widget/roof-estimate/10ea9afd-2197-4df8-90a7-af1f73cea49b"
Response
application/json
{ "referenceId": "10ea9afd-2197-4df8-90a7-af1f73cea49b", "elementType": "banner", "elementSize": "medium", "elementLocation": "side_right", "buttonText": "Get Your Instant Estimate", "buttonTextColor": "#FFFFFF", "buttonBackgroundColor": "#696CFF", "bannerText": "Check your roof estimate in 60 seconds", "bannerBackgroundColor": "#F5F5F9", "primaryColor": "#696CFF", "secondaryColor": "#aaaaaa", "backgroundColor": "#F5F5F9", "cardBackgroundColor": "#ffffff", "textColor": "#22303EE6", "linkColor": "#696CFF", "footerCompanyName": "Company Name", "footerPirvacyPolicyLink": "https://example.com", "footerTermsOfUseLink": "https://example.com", "footerLogoUrl": "string", "removeFooterLogo": false, "headerLogoUrl": "string", "status": "active", "companyName": "Company name", "companyPhone": "(123) 456-7890", "companyEmail": "roofing@mail.co", "companyAddress": "123 William Street, New York, NY", "companyUrl": "https://example.com", "domains": "https://example.com, example1.com", "firstPageTitle": "Get Your Estimate in 30 Seconds!", "installedPrice": 601, "widgetScript": "<script src=\"https://quantiv-dev.nyc3.cdn.digitaloceanspaces.com/widgets/widget.min.js\" data-widget-type=\"roof-estimate\" data-reference-id=\"10ea9afd-2197-4df8-90a7-af1f73cea49b\"></script>", "widgetQrCode": "https://quantiv.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_widget-qr-code_1752139746614.png", "quantivQrCode": "https://quantiv-dev.nyc3.digitaloceanspaces.com/widgets/roof-estimate/images/3bf79fd3-2942-415c-9b06-d950fe70fff9_quantiv-qr-code_1752139746650.png", "widgetLink": "https://example.com?roof-estimate=open", "quantivPageLink": "https://quantiv.io/widget/roof-estimate/10ea9afd-2197-4df8-90a7-af1f73cea49b" }

Widget Webhooks

Quantiv supports webhook integrations to notify CRM and App Providers in real time about critical events related to the EngagePro™ - Lead Widget.

These webhooks enable your systems to:

  • React to key lifecycle events such as widget creation and updates.
  • Track lead creation and changes as users interact with the EngagePro™ - Lead Widget.
  • Power internal automations, analytics, and client communication.

Webhooks are delivered via HTTPS as JSON payloads and are triggered for the following events:

  • lead.created
  • lead.updated
  • widget.created
  • widget.updated

Webhooks can be registered, updated, retrieved, or deleted using the provided API methods. Each webhook includes metadata such as success/failure counts and timestamps of the last invocation attempts.

Check out our Webhook guide for more information.

Operations