# Update EngagePro™ - Lead Widget Updates the EngagePro™ - Lead Widget configuration. Endpoint: PUT /api/v1/roof-estimate-widget/{referenceId} Version: 1.0.0 ## Path parameters: - `referenceId` (string, required) The ID of the Widget, which is equal to your Client's identifier and was set in the POST request, to update. ## Header parameters: - `Content-Type` (string) Set to to support file and form data submission. Example: "multipart/form-data" - `token` (string) Example: "{API Key}" ## Request fields (multipart/form-data): - `elementType` (string) Element type, which appears on the Client’s company website if the Widget Script is installed. Default - . Enum: "button", "banner", "custom" - `elementSize` (string) Element size. Default - . Enum: "small", "medium", "large" - `elementLocation` (string) Element placement on page. Depends on value. - "bottom_right" | "bottom_left" | “side_right” | “side_left”, - "top" | "bottom". Default - Example: "side_right" - `buttonText` (string) CTA text shown on the element. Example: "Get Your Instant Estimate" - `buttonTextColor` (string) CTA text color. Format - HEX color code. Default - . Example: "#FFFFFF" - `buttonBackgroundColor` (string) Background color for button or banner text (if type is applied). Format - HEX color code. Default - . Example: "#696CFF" - `bannerText` (string) Banner text (beside CTA text). Example: "Check your roof estimate in 60 seconds" - `bannerBackgroundColor` (string) Banner background color. Format - HEX color code. Example: "#F5F5F9" - `primaryColor` (string) Color of the primary buttons, QR-codes and titles. HEX color code must be used. Example: "#696CFF" - `secondaryColor` (string) Color of secondary buttons. HEX color code must be used. Example: "#aaaaaa" - `backgroundColor` (string) Background color under the hosted widget. HEX color code must be used. Example: "#F5F5F9" - `cardBackgroundColor` (string) Background color of the widget card. HEX color code must be used. Example: "#ffffff" - `textColor` (string) Main text color. HEX color code must be used. Example: "#22303EE6" - `linkColor` (string) Hyperlink color. HEX color code must be used. Example: "#696CFF" - `footerCompanyName` (string) Footer company name. Example: "Company Name" - `footerPirvacyPolicyLink` (string) Link to privacy policy. Example: "https://example.com" - `footerTermsOfUseLink` (string) Link to terms of service. Example: "https://example.com" - `footerLogo` (file) Small logo at the bottom. PNG or JPG (recommended). Favicon preferred (e.g. 24×24 px). Max file size - 1 MB. - `removeFooterLogo` (boolean) Removes Footer Logo if is sent. - `headerLogo` (file) Logo displayed at the top. PNG or JPG (recommended). Horizontal layout preferred (e.g. 300×150 px). Max file size - 1 MB. - `status` (string) EngagePro™ - Lead Widget status. The value is used to activate and deactive the functionality. Enum: "active", "inactive" - `companyName` (string) Client's company name. Example: "Company name" - `companyPhone` (string) Client's company phone number. Format must be (XXX) XXX-XXXX. Example: "(123) 456-7890" - `companyEmail` (string) Client's company email address. Example: "roofing@mail.co" - `companyAddress` (string) Client's company physical address. Example: "123 William Street, New York, NY" - `companyUrl` (string) 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" - `domains` (string) 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" - `firstPageTitle` (string) EngagePro™ - Lead Widget First Page Title. Example: "Get Your Estimate in 30 Seconds!" - `installedPrice` (number) Client's all-in installation price per square, including materials, labor and gross profit, for asphalt shingle used in the estimation. Default value - . Example: 601 ## Response 200 fields (application/json): - `referenceId` (string) Unique identifier of the Client in your system. Example: "10ea9afd-2197-4df8-90a7-af1f73cea49b" - `elementType` (string) Element type, which appears on the Client’s company websites if the Widget Script is installed. Example: "banner" - `elementSize` (string) Element size. Example: "medium" - `elementLocation` (string) Element placement on page. Example: "side_right" - `buttonText` (string) CTA text shown on the element. Example: "Get Your Instant Estimate" - `buttonTextColor` (string) CTA text color. Example: "#FFFFFF" - `buttonBackgroundColor` (string) Background color for button or banner text (if type is applied). Example: "#696CFF" - `bannerText` (string) Banner text (beside CTA text). Example: "Check your roof estimate in 60 seconds" - `bannerBackgroundColor` (string) Banner background color. Example: "#F5F5F9" - `primaryColor` (string) Color of the primary buttons, QR-codes and titles. Example: "#696CFF" - `secondaryColor` (string) Color of secondary buttons. Example: "#aaaaaa" - `backgroundColor` (string) Background color under the hosted widget. Example: "#F5F5F9" - `cardBackgroundColor` (string) Background color of the widget card. Example: "#ffffff" - `textColor` (string) Main text color. Example: "#22303EE6" - `linkColor` (string) Hyperlink color. Example: "#696CFF" - `footerCompanyName` (string) Footer company name. Example: "Company Name" - `footerPirvacyPolicyLink` (string) Link to privacy policy. Example: "https://example.com" - `footerTermsOfUseLink` (string) Link to terms of service. Example: "https://example.com" - `footerLogoUrl` (string) Link to submitted small logo, which is displayed at the bottom. - `removeFooterLogo` (boolean) Removes Footer Logo if added. - `headerLogoUrl` (string) Link to submitted Logo, which is displayed at the top. - `status` (string) EngagePro™ - Lead Widget status. Example: "active" - `companyName` (string) Client's company name. Example: "Company name" - `companyPhone` (string) Client's company phone number. Example: "(123) 456-7890" - `companyEmail` (string) Client's company email address. Example: "roofing@mail.co" - `companyAddress` (string) Client's company physical address. Example: "123 William Street, New York, NY" - `companyUrl` (string) Client's main company website url. Example: "https://example.com" - `domains` (string) Comma-separated list of authorized domains (URLs) where the Widget Script is allowed to run. Example: "https://example.com, example1.com" - `firstPageTitle` (string) EngagePro™ - Lead Widget First Page Title. Example: "Get Your Estimate in 30 Seconds!" - `installedPrice` (number) Client's all-in installation price per square, including materials, labor and gross profit, for asphalt shingle used in the estimation. Example: 601 - `widgetScript` (string) 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](/leadgenwidget/clientsetup#-option-2-low-code-website-embedding). Example: "" - `widgetQrCode` (string) 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" - `quantivQrCode` (string) 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" - `widgetLink` (string) 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" - `quantivPageLink` (string) 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 400 fields (application/json): - `error` (string) Example: "Bad Request" - `statusCode` (integer) Example: 400 - `message` (array) Example: ["primaryColor must be a string","primaryColor should not be empty"] ## Response 401 fields (application/json): - `error` (string) Example: "Unauthorized" - `statusCode` (integer) Example: 401 - `message` (string) Example: "Invalid API Key" ## Response 404 fields (application/json): - `error` (string) Example: "Not Found" - `statusCode` (integer) Example: 404 - `message` (string) Example: "Cannot GET /api/v1/buyer-insights" ## Response 500 fields (application/json): - `error` (string) Example: "Internal Server Error" - `statusCode` (integer) Example: 500 - `message` (string) Example: "Unexpected server error occurred. Please try again later."