Title: [Bug Report: Documentation Errors] Custom Web Widget - NoSuchKey error · Issue #232 · GoHighLevel/highlevel-api-docs · GitHub
Open Graph Title: [Bug Report: Documentation Errors] Custom Web Widget - NoSuchKey error · Issue #232 · GoHighLevel/highlevel-api-docs
X Title: [Bug Report: Documentation Errors] Custom Web Widget - NoSuchKey error · Issue #232 · GoHighLevel/highlevel-api-docs
Description: 🐛 Describe the Bug I uploaded this dist.zip on marketplace app web widget module. But when I use the widget the Web Widget Settings shows up and stuck on loading. Then I check the console log and got this 404 error then on the response I...
Open Graph Description: 🐛 Describe the Bug I uploaded this dist.zip on marketplace app web widget module. But when I use the widget the Web Widget Settings shows up and stuck on loading. Then I check the console log and g...
X Description: 🐛 Describe the Bug I uploaded this dist.zip on marketplace app web widget module. But when I use the widget the Web Widget Settings shows up and stuck on loading. Then I check the console log and g...
Opengraph URL: https://github.com/GoHighLevel/highlevel-api-docs/issues/232
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[Bug Report: Documentation Errors] Custom Web Widget - NoSuchKey error","articleBody":"### 🐛 Describe the Bug\n\nI uploaded this [dist.zip](https://github.com/user-attachments/files/24601817/dist.zip) on marketplace app web widget module. But when I use the widget the Web Widget Settings shows up and stuck on loading. Then I check the console log and got this 404 error then on the response I got this NoSuchKey error. There is no information on the documentation on how or why this error happens and how to fix this.\n\nThis is the [link](https://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35) that got the error.\n\n\u003cimg width=\"739\" height=\"80\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/7c76e6b2-2aa4-40a4-88ce-9e6766f745fc\" /\u003e\n\n\u003cimg width=\"900\" height=\"196\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/835abb02-8672-496e-918b-408fe70c198c\" /\u003e\n\n\n### 📍 API Endpoint\n\nhttps://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35\n\n### ✅ Expected Behavior\n\nWhen accessing the widget hosting URL with a trailing slash (e.g., .../version-id/), the platform should:\n\nServe the index.html file with Content-Type: text/html\nRender the HTML content in the iframe\nLoad external assets (CSS/JS) from the ./assets/ directory\nDisplay the widget configuration interface to the user\nThe widget iframe should load successfully and display the configuration UI, allowing users to interact with widget settings.\n\n### 💻 Screenshots or Code Samples\n\n_No response_\n\n### Product Area\n\nmarketplace-modules\n\n### 📋 Use Case\n\nI'm developing a custom web widget for the HighLevel App Marketplace following the official developer documentation:\n\nDocumentation: [https://help.gohighlevel.com/support/solutions/articles/155000003915](https://help.gohighlevel.com/support/solutions/articles/155000003915)\nWidget Type: Title Widget (allows users to customize page titles in funnel builder) (This is just for my testing)\nTechnology Stack: React + Vite + TypeScript + Postmate (for iframe communication)\n\n**Project Structure:**\n{\n \"name\": \"main-title-widget\",\n \"dependencies\": {\n \"postmate\": \"^1.5.2\",\n \"react\": \"^19.1.1\",\n \"react-dom\": \"^19.1.1\",\n \"tailwindcss\": \"^4.1.13\"\n }\n}\n\n**Build Output** (dist folder)\ndist/\n├── index.html (406 bytes - references external assets)\n├── assets/\n│ ├── index-DIBb9ILI.css (4.5KB)\n│ └── index-DnvY7fUP.js (192KB)\n└── vite.svg\n\n**index.html structure:**\n```\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n \u003chead\u003e\n \u003cmeta charset=\"UTF-8\" /\u003e\n \u003clink rel=\"stylesheet\" crossorigin href=\"./assets/index-DIBb9ILI.css\"\u003e\n \u003cscript type=\"module\" crossorigin src=\"./assets/index-DnvY7fUP.js\"\u003e\u003c/script\u003e\n \u003c/head\u003e\n \u003cbody\u003e\n \u003cdiv id=\"root\"\u003e\u003c/div\u003e\n \u003c/body\u003e\n\u003c/html\u003e\n```\n\n### 🚨 Why Should This Be Prioritized?\n\nCRITICAL - Blocks App Marketplace Launch\n\nComplete Feature Failure: The widget is completely non-functional. Users cannot configure or use the widget at all.\n\nAffects All Future Widget Developers: This bug will impact any developer trying to build web widgets following the official documentation. It creates a broken developer experience.\n\n### 🧠 Additional Context\n\nWhat I've Already Tried:\n✅ Inline all CSS/JS into HTML - Still served as application/octet-stream\n✅ External assets with proper relative paths - Same issue\n✅ Verified ZIP structure - Files at root level, not nested in folders\n✅ Tested with different file sizes - 406 bytes (external) and 197KB (inline)\n✅ Checked HTML encoding - No BOM, proper UTF-8\n✅ Multiple re-uploads - Issue persists across uploads\n✅ Reinstalled app - No change\nTechnical Investigation:\nTesting URLs:\n\n# Without trailing slash - Returns noSuchKey\nhttps://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35\n\n# With trailing slash - Returns 200 but wrong Content-Type\nhttps://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35/\n- Response: Content-Type: application/octet-stream ❌\n- File gets download without extension\n\n# Direct file access - Returns noSuchKey\nhttps://plugins.leadconnectorhq.com/69633fa33074e7548d040ec5/01KENV5DWT3NH2TV39NRMC3JDS/6966c884477c754b306a5e35/index.html","author":{"url":"https://github.com/jerickbaetiong","@type":"Person","name":"jerickbaetiong"},"datePublished":"2026-01-13T23:54:39.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/232/highlevel-api-docs/issues/232"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:635ef5e4-9b52-ce4a-60d5-ae9402bf97ec |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | BABE:1E2E76:13F8433:1B6F39D:6A4C801B |
| html-safe-nonce | c8d211ddea5cb4b80ec4aff7cd2555b690b8708556f654380ff3b99332e32f0d |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQUJFOjFFMkU3NjoxM0Y4NDMzOjFCNkYzOUQ6NkE0QzgwMUIiLCJ2aXNpdG9yX2lkIjoiODU2ODU1MzE5NDMxNjkyMjkwOCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | c7ca54791b9b41378caeb2dac5a0d84952fe879207054b0a8a94eb553252c117 |
| hovercard-subject-tag | issue:3810993771 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/GoHighLevel/highlevel-api-docs/232/issue_layout |
| twitter:image | https://opengraph.githubassets.com/b74796819f22739b4b3de03766544d900cb678bc2439f567b4bb8443b7e55583/GoHighLevel/highlevel-api-docs/issues/232 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/b74796819f22739b4b3de03766544d900cb678bc2439f567b4bb8443b7e55583/GoHighLevel/highlevel-api-docs/issues/232 |
| og:image:alt | 🐛 Describe the Bug I uploaded this dist.zip on marketplace app web widget module. But when I use the widget the Web Widget Settings shows up and stuck on loading. Then I check the console log and g... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | jerickbaetiong |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3d11bb817438277de2a940854450e83a7d32b6aeb5014e9e6b00a6423900251c |
| turbo-cache-control | no-preview |
| go-import | github.com/GoHighLevel/highlevel-api-docs git https://github.com/GoHighLevel/highlevel-api-docs.git |
| octolytics-dimension-user_id | 58707857 |
| octolytics-dimension-user_login | GoHighLevel |
| octolytics-dimension-repository_id | 977443805 |
| octolytics-dimension-repository_nwo | GoHighLevel/highlevel-api-docs |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 977443805 |
| octolytics-dimension-repository_network_root_nwo | GoHighLevel/highlevel-api-docs |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | cd470457e909b9d062f8002cf438ba870e6acff6 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width