Heroku
tcp/443 tcp/80
GraphQL introspection is enabled.
This could leak to data leak if not properly configured.
Severity: medium
Fingerprint: c2db3a1c40d490db1a0bbaa35746f0295ca6de8b5209b3b6a76b22545a885834
GraphQL introspection enabled at /graphql Types: 123 (by kind: ENUM: 2, INPUT_OBJECT: 1, INTERFACE: 1, OBJECT: 113, SCALAR: 5, UNION: 1) Operations: - Query: Query | fields: archivedClassBooks, bookChapter, bookTemplate, bookTemplateCategories, classBook - Mutation: Mutation | fields: addBookTemplateChapter, addBookTemplateChoice, addBookTemplateResource, addBookTemplateToPack, addClassStudent Directives: deprecated, include, oneOf, skip, specifiedBy (total: 5)
Severity: medium
Fingerprint: c2db3a1c40d490db1a0bbaa3270827c583ffa007e83c757a50128e38199ed3ea
GraphQL introspection enabled at /graphql Types: 125 (by kind: ENUM: 2, INPUT_OBJECT: 1, INTERFACE: 1, OBJECT: 115, SCALAR: 5, UNION: 1) Operations: - Query: Query | fields: archivedClassBooks, bookChapter, bookTemplate, bookTemplateCategories, classBook - Mutation: Mutation | fields: addBookTemplateChapter, addBookTemplateChoice, addBookTemplateResource, addBookTemplateToPack, addClassStudent Directives: deprecated, include, oneOf, skip (total: 4)
GraphQL introspection is enabled.
This could leak to data leak if not properly configured.
Severity: medium
Fingerprint: c2db3a1c40d490db1a0bbaa35746f0295ca6de8b5209b3b6a76b22545a885834
GraphQL introspection enabled at /graphql Types: 123 (by kind: ENUM: 2, INPUT_OBJECT: 1, INTERFACE: 1, OBJECT: 113, SCALAR: 5, UNION: 1) Operations: - Query: Query | fields: archivedClassBooks, bookChapter, bookTemplate, bookTemplateCategories, classBook - Mutation: Mutation | fields: addBookTemplateChapter, addBookTemplateChoice, addBookTemplateResource, addBookTemplateToPack, addClassStudent Directives: deprecated, include, oneOf, skip, specifiedBy (total: 5)
Severity: medium
Fingerprint: c2db3a1c40d490db1a0bbaa3270827c583ffa007e83c757a50128e38199ed3ea
GraphQL introspection enabled at /graphql Types: 125 (by kind: ENUM: 2, INPUT_OBJECT: 1, INTERFACE: 1, OBJECT: 115, SCALAR: 5, UNION: 1) Operations: - Query: Query | fields: archivedClassBooks, bookChapter, bookTemplate, bookTemplateCategories, classBook - Mutation: Mutation | fields: addBookTemplateChapter, addBookTemplateChoice, addBookTemplateResource, addBookTemplateToPack, addClassStudent Directives: deprecated, include, oneOf, skip (total: 4)
GraphQL introspection is enabled.
This could leak to data leak if not properly configured.
Severity: medium
Fingerprint: c2db3a1c40d490db1a0bbaa314974b096b0e3c2b929a081634a85374aa53e494
GraphQL introspection enabled at /graphql Types: 127 (by kind: ENUM: 2, INPUT_OBJECT: 1, INTERFACE: 1, OBJECT: 117, SCALAR: 5, UNION: 1) Operations: - Query: Query | fields: archivedClassBooks, bookChapter, bookTemplate, bookTemplateCategories, classBook - Mutation: Mutation | fields: addBookTemplateChapter, addBookTemplateChoice, addBookTemplateResource, addBookTemplateToPack, addClassStudent Directives: deprecated, include, oneOf, skip, specifiedBy (total: 5)
GraphQL introspection is enabled.
This could leak to data leak if not properly configured.
Severity: medium
Fingerprint: c2db3a1c40d490db1a0bbaa314974b096b0e3c2b929a081634a85374aa53e494
GraphQL introspection enabled at /graphql Types: 127 (by kind: ENUM: 2, INPUT_OBJECT: 1, INTERFACE: 1, OBJECT: 117, SCALAR: 5, UNION: 1) Operations: - Query: Query | fields: archivedClassBooks, bookChapter, bookTemplate, bookTemplateCategories, classBook - Mutation: Mutation | fields: addBookTemplateChapter, addBookTemplateChoice, addBookTemplateResource, addBookTemplateToPack, addClassStudent Directives: deprecated, include, oneOf, skip, specifiedBy (total: 5)
Open service 3.33.249.164:80 · staging.api-write.boomhub.app
2026-01-09 16:16
HTTP/1.1 404 Not Found
Content-Length: 23420
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=56KDOftI9XJN%2FOjVd7f4wKWnDpTRzRDbHA1TlDDYi3Q%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767975454"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=56KDOftI9XJN%2FOjVd7f4wKWnDpTRzRDbHA1TlDDYi3Q%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767975454"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 2ac98fe1-2f61-8f82-39eb-e4ee36d8c046
X-Runtime: 0.018644
Date: Fri, 09 Jan 2026 16:17:34 GMT
Connection: close
Page title: Action Controller: Exception caught
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="turbo-visit-control" content="reload">
<title>Action Controller: Exception caught</title>
<style>
body {
background-color: #FAFAFA;
color: #333;
color-scheme: light dark;
supported-color-schemes: light dark;
margin: 0px;
}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
font-size: 13px;
line-height: 18px;
}
pre {
font-size: 11px;
white-space: pre-wrap;
}
pre.box {
border: 1px solid #EEE;
padding: 10px;
margin: 0px;
width: 958px;
}
header {
color: #F0F0F0;
background: #C00;
padding: 0.5em 1.5em;
}
h1 {
overflow-wrap: break-word;
margin: 0.2em 0;
line-height: 1.1em;
font-size: 2em;
}
h2 {
color: #C00;
line-height: 25px;
}
code.traces {
font-size: 11px;
}
.response-heading, .request-heading {
margin-top: 30px;
}
.exception-message {
padding: 8px 0;
}
.exception-message .message {
margin-bottom: 8px;
line-height: 25px;
font-size: 1.5em;
font-weight: bold;
color: #C00;
}
.details {
border: 1px solid #D0D0D0;
border-radius: 4px;
margin: 1em 0px;
display: block;
max-width: 978px;
}
.summary {
padding: 8px 15px;
border-bottom: 1px solid #D0D0D0;
display: block;
}
a.summary {
color: #F0F0F0;
text-decoration: none;
background: #C52F24;
border-bottom: none;
}
.details pre {
margin: 5px;
border: none;
}
#container {
box-sizing: border-box;
width: 100%;
padding: 0 1.5em;
}
.source * {
margin: 0px;
padding: 0px;
}
.source {
border: 1px solid #D9D9D9;
background: #ECECEC;
max-width: 978px;
}
.source pre {
padding: 10px 0px;
border: none;
}
.source .data {
font-size: 80%;
overflow: auto;
background-color: #FFF;
}
.info {
padding: 0.5em;
}
.source .data .line_numbers {
background-color: #ECECEC;
color: #555;
padding: 1em .5em;
border-right: 1px solid #DDD;
text-align: right;
}
.line {
padding-left: 10px;
white-space: pre;
}
.line:hover {
background-color: #F6F6F6;
}
.line.active {
background-color: #FCC;
}
.error_highlight {
display: inline-block;
background-color: #FF9;
text-decoration: #F00 wavy underline;
}
.error_highlight_tip {
color: #666;
padding: 2px 2px;
font-size: 10px;
}
.button_to {
display: inline-block;
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.hidden {
display: none;
}
.correction {
list-style-type: none;
}
input[type="submit"] {
color: white;
background-color: #C00;
border: none;
border-radius: 12px;
box-shadow: 0 3px #F99;
font-size: 13px;
font-weight: bold;
margin: 0;
padding: 10px 18px;
cursor: pointer;
-webkit-appearance: none;
}
input[type="submit"]:focus,
input[type="submit"]:hover {
opacity: 0.8;
}
input[type="submit"]:active {
box-shadow: 0 2px #F99;
transform: translateY(1px)
}
a { color: #980905; }
a:visited { color: #666; }
a.trace-frames {
color: #666;
overflow-wrap: break-word;
}
a:hover, a.trace-frames.selected { color: #C00; }
a.summary:hover { color: #FFF; }
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #ECECEC;
}
.details, .summary {
border-color: #666;
}
.source {
border-color: #555;
background-color: #333;
}
.source .data {
Open service 99.83.185.157:443 · api-write.boomhub.app
2026-01-09 10:11
HTTP/1.1 404 Not Found
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=bhVvdo89pisbzDgVpEDQ3%2FQP6G553mZTAHEIRgIqD70%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767953500"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=bhVvdo89pisbzDgVpEDQ3%2FQP6G553mZTAHEIRgIqD70%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767953500"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: fc60cb43-0733-603c-cde6-a4683f508889
X-Runtime: 0.000763
Date: Fri, 09 Jan 2026 10:11:40 GMT
Connection: close
Open service 15.197.253.240:80 · api-write.boomhub.app
2026-01-09 08:45
HTTP/1.1 404 Not Found
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=CuTrbcapBfo%2FvGGH%2Br7htf7tEJ%2FLlY%2FktIqD%2B%2FCEF%2FA%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767948401"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=CuTrbcapBfo%2FvGGH%2Br7htf7tEJ%2FLlY%2FktIqD%2B%2FCEF%2FA%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767948401"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 5dabe316-6108-2c85-8ea5-1697ce164a8e
X-Runtime: 0.000887
Date: Fri, 09 Jan 2026 08:46:41 GMT
Connection: close
Open service 15.197.253.240:443 · staging.api-write.boomhub.app
2026-01-09 05:18
HTTP/1.1 404 Not Found
Content-Length: 23419
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=vvk3H%2BurP9klvubeWOXSFMfRY5XTQGXCTJdLXbdKc7A%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767935927"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=vvk3H%2BurP9klvubeWOXSFMfRY5XTQGXCTJdLXbdKc7A%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767935927"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: f1460b61-80a4-f93a-4db8-88007ab07903
X-Runtime: 0.031137
Date: Fri, 09 Jan 2026 05:18:47 GMT
Connection: close
Page title: Action Controller: Exception caught
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="turbo-visit-control" content="reload">
<title>Action Controller: Exception caught</title>
<style>
body {
background-color: #FAFAFA;
color: #333;
color-scheme: light dark;
supported-color-schemes: light dark;
margin: 0px;
}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
font-size: 13px;
line-height: 18px;
}
pre {
font-size: 11px;
white-space: pre-wrap;
}
pre.box {
border: 1px solid #EEE;
padding: 10px;
margin: 0px;
width: 958px;
}
header {
color: #F0F0F0;
background: #C00;
padding: 0.5em 1.5em;
}
h1 {
overflow-wrap: break-word;
margin: 0.2em 0;
line-height: 1.1em;
font-size: 2em;
}
h2 {
color: #C00;
line-height: 25px;
}
code.traces {
font-size: 11px;
}
.response-heading, .request-heading {
margin-top: 30px;
}
.exception-message {
padding: 8px 0;
}
.exception-message .message {
margin-bottom: 8px;
line-height: 25px;
font-size: 1.5em;
font-weight: bold;
color: #C00;
}
.details {
border: 1px solid #D0D0D0;
border-radius: 4px;
margin: 1em 0px;
display: block;
max-width: 978px;
}
.summary {
padding: 8px 15px;
border-bottom: 1px solid #D0D0D0;
display: block;
}
a.summary {
color: #F0F0F0;
text-decoration: none;
background: #C52F24;
border-bottom: none;
}
.details pre {
margin: 5px;
border: none;
}
#container {
box-sizing: border-box;
width: 100%;
padding: 0 1.5em;
}
.source * {
margin: 0px;
padding: 0px;
}
.source {
border: 1px solid #D9D9D9;
background: #ECECEC;
max-width: 978px;
}
.source pre {
padding: 10px 0px;
border: none;
}
.source .data {
font-size: 80%;
overflow: auto;
background-color: #FFF;
}
.info {
padding: 0.5em;
}
.source .data .line_numbers {
background-color: #ECECEC;
color: #555;
padding: 1em .5em;
border-right: 1px solid #DDD;
text-align: right;
}
.line {
padding-left: 10px;
white-space: pre;
}
.line:hover {
background-color: #F6F6F6;
}
.line.active {
background-color: #FCC;
}
.error_highlight {
display: inline-block;
background-color: #FF9;
text-decoration: #F00 wavy underline;
}
.error_highlight_tip {
color: #666;
padding: 2px 2px;
font-size: 10px;
}
.button_to {
display: inline-block;
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.hidden {
display: none;
}
.correction {
list-style-type: none;
}
input[type="submit"] {
color: white;
background-color: #C00;
border: none;
border-radius: 12px;
box-shadow: 0 3px #F99;
font-size: 13px;
font-weight: bold;
margin: 0;
padding: 10px 18px;
cursor: pointer;
-webkit-appearance: none;
}
input[type="submit"]:focus,
input[type="submit"]:hover {
opacity: 0.8;
}
input[type="submit"]:active {
box-shadow: 0 2px #F99;
transform: translateY(1px)
}
a { color: #980905; }
a:visited { color: #666; }
a.trace-frames {
color: #666;
overflow-wrap: break-word;
}
a:hover, a.trace-frames.selected { color: #C00; }
a.summary:hover { color: #FFF; }
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #ECECEC;
}
.details, .summary {
border-color: #666;
}
.source {
border-color: #555;
background-color: #333;
}
.source .data {
Open service 3.33.249.164:80 · staging.api-write.boomhub.app
2026-01-02 21:56
HTTP/1.1 404 Not Found
Content-Length: 23416
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=wFpToIojWTecNmEr1fy3%2BjpE3ina7G2sRvzncHRi6RY%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767390998"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=wFpToIojWTecNmEr1fy3%2BjpE3ina7G2sRvzncHRi6RY%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767390998"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: f54c7998-e379-9fc5-e7e8-73c0a0c361c6
X-Runtime: 0.018586
Date: Fri, 02 Jan 2026 21:56:38 GMT
Connection: close
Page title: Action Controller: Exception caught
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="turbo-visit-control" content="reload">
<title>Action Controller: Exception caught</title>
<style>
body {
background-color: #FAFAFA;
color: #333;
color-scheme: light dark;
supported-color-schemes: light dark;
margin: 0px;
}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
font-size: 13px;
line-height: 18px;
}
pre {
font-size: 11px;
white-space: pre-wrap;
}
pre.box {
border: 1px solid #EEE;
padding: 10px;
margin: 0px;
width: 958px;
}
header {
color: #F0F0F0;
background: #C00;
padding: 0.5em 1.5em;
}
h1 {
overflow-wrap: break-word;
margin: 0.2em 0;
line-height: 1.1em;
font-size: 2em;
}
h2 {
color: #C00;
line-height: 25px;
}
code.traces {
font-size: 11px;
}
.response-heading, .request-heading {
margin-top: 30px;
}
.exception-message {
padding: 8px 0;
}
.exception-message .message {
margin-bottom: 8px;
line-height: 25px;
font-size: 1.5em;
font-weight: bold;
color: #C00;
}
.details {
border: 1px solid #D0D0D0;
border-radius: 4px;
margin: 1em 0px;
display: block;
max-width: 978px;
}
.summary {
padding: 8px 15px;
border-bottom: 1px solid #D0D0D0;
display: block;
}
a.summary {
color: #F0F0F0;
text-decoration: none;
background: #C52F24;
border-bottom: none;
}
.details pre {
margin: 5px;
border: none;
}
#container {
box-sizing: border-box;
width: 100%;
padding: 0 1.5em;
}
.source * {
margin: 0px;
padding: 0px;
}
.source {
border: 1px solid #D9D9D9;
background: #ECECEC;
max-width: 978px;
}
.source pre {
padding: 10px 0px;
border: none;
}
.source .data {
font-size: 80%;
overflow: auto;
background-color: #FFF;
}
.info {
padding: 0.5em;
}
.source .data .line_numbers {
background-color: #ECECEC;
color: #555;
padding: 1em .5em;
border-right: 1px solid #DDD;
text-align: right;
}
.line {
padding-left: 10px;
white-space: pre;
}
.line:hover {
background-color: #F6F6F6;
}
.line.active {
background-color: #FCC;
}
.error_highlight {
display: inline-block;
background-color: #FF9;
text-decoration: #F00 wavy underline;
}
.error_highlight_tip {
color: #666;
padding: 2px 2px;
font-size: 10px;
}
.button_to {
display: inline-block;
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.hidden {
display: none;
}
.correction {
list-style-type: none;
}
input[type="submit"] {
color: white;
background-color: #C00;
border: none;
border-radius: 12px;
box-shadow: 0 3px #F99;
font-size: 13px;
font-weight: bold;
margin: 0;
padding: 10px 18px;
cursor: pointer;
-webkit-appearance: none;
}
input[type="submit"]:focus,
input[type="submit"]:hover {
opacity: 0.8;
}
input[type="submit"]:active {
box-shadow: 0 2px #F99;
transform: translateY(1px)
}
a { color: #980905; }
a:visited { color: #666; }
a.trace-frames {
color: #666;
overflow-wrap: break-word;
}
a:hover, a.trace-frames.selected { color: #C00; }
a.summary:hover { color: #FFF; }
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #ECECEC;
}
.details, .summary {
border-color: #666;
}
.source {
border-color: #555;
background-color: #333;
}
.source .data {
Open service 99.83.185.157:443 · api-write.boomhub.app
2026-01-02 14:24
HTTP/1.1 404 Not Found
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=k8QA4h4CHjzmxVb8N3X1qxJKIqDe617GfpScPq9diw4%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767363858"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=k8QA4h4CHjzmxVb8N3X1qxJKIqDe617GfpScPq9diw4%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767363858"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 8b624e74-5c2d-3efb-a8ac-16f24b81abce
X-Runtime: 0.000789
Date: Fri, 02 Jan 2026 14:24:18 GMT
Connection: close
Open service 15.197.253.240:80 · api-write.boomhub.app
2026-01-02 08:39
HTTP/1.1 404 Not Found
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=qKZO4t6Hgs4Xo0igA3zx4IxfBmkG34fU9MZLhAGCcMw%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767343182"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=qKZO4t6Hgs4Xo0igA3zx4IxfBmkG34fU9MZLhAGCcMw%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767343182"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: a04207c3-8766-d4cd-b318-7ff5566d8ba0
X-Runtime: 0.000776
Date: Fri, 02 Jan 2026 08:39:42 GMT
Connection: close
Open service 15.197.253.240:443 · staging.api-write.boomhub.app
2026-01-02 05:18
HTTP/1.1 404 Not Found
Content-Length: 23419
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=%2BqwdDFItZXcJYidsIqv%2F5pP26h8qDR73q0ayRmNwf1o%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1767331130"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=%2BqwdDFItZXcJYidsIqv%2F5pP26h8qDR73q0ayRmNwf1o%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1767331130"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 7e085d8f-c38d-714b-4069-5f2e45995e02
X-Runtime: 0.019945
Date: Fri, 02 Jan 2026 05:18:50 GMT
Connection: close
Page title: Action Controller: Exception caught
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="turbo-visit-control" content="reload">
<title>Action Controller: Exception caught</title>
<style>
body {
background-color: #FAFAFA;
color: #333;
color-scheme: light dark;
supported-color-schemes: light dark;
margin: 0px;
}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
font-size: 13px;
line-height: 18px;
}
pre {
font-size: 11px;
white-space: pre-wrap;
}
pre.box {
border: 1px solid #EEE;
padding: 10px;
margin: 0px;
width: 958px;
}
header {
color: #F0F0F0;
background: #C00;
padding: 0.5em 1.5em;
}
h1 {
overflow-wrap: break-word;
margin: 0.2em 0;
line-height: 1.1em;
font-size: 2em;
}
h2 {
color: #C00;
line-height: 25px;
}
code.traces {
font-size: 11px;
}
.response-heading, .request-heading {
margin-top: 30px;
}
.exception-message {
padding: 8px 0;
}
.exception-message .message {
margin-bottom: 8px;
line-height: 25px;
font-size: 1.5em;
font-weight: bold;
color: #C00;
}
.details {
border: 1px solid #D0D0D0;
border-radius: 4px;
margin: 1em 0px;
display: block;
max-width: 978px;
}
.summary {
padding: 8px 15px;
border-bottom: 1px solid #D0D0D0;
display: block;
}
a.summary {
color: #F0F0F0;
text-decoration: none;
background: #C52F24;
border-bottom: none;
}
.details pre {
margin: 5px;
border: none;
}
#container {
box-sizing: border-box;
width: 100%;
padding: 0 1.5em;
}
.source * {
margin: 0px;
padding: 0px;
}
.source {
border: 1px solid #D9D9D9;
background: #ECECEC;
max-width: 978px;
}
.source pre {
padding: 10px 0px;
border: none;
}
.source .data {
font-size: 80%;
overflow: auto;
background-color: #FFF;
}
.info {
padding: 0.5em;
}
.source .data .line_numbers {
background-color: #ECECEC;
color: #555;
padding: 1em .5em;
border-right: 1px solid #DDD;
text-align: right;
}
.line {
padding-left: 10px;
white-space: pre;
}
.line:hover {
background-color: #F6F6F6;
}
.line.active {
background-color: #FCC;
}
.error_highlight {
display: inline-block;
background-color: #FF9;
text-decoration: #F00 wavy underline;
}
.error_highlight_tip {
color: #666;
padding: 2px 2px;
font-size: 10px;
}
.button_to {
display: inline-block;
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.hidden {
display: none;
}
.correction {
list-style-type: none;
}
input[type="submit"] {
color: white;
background-color: #C00;
border: none;
border-radius: 12px;
box-shadow: 0 3px #F99;
font-size: 13px;
font-weight: bold;
margin: 0;
padding: 10px 18px;
cursor: pointer;
-webkit-appearance: none;
}
input[type="submit"]:focus,
input[type="submit"]:hover {
opacity: 0.8;
}
input[type="submit"]:active {
box-shadow: 0 2px #F99;
transform: translateY(1px)
}
a { color: #980905; }
a:visited { color: #666; }
a.trace-frames {
color: #666;
overflow-wrap: break-word;
}
a:hover, a.trace-frames.selected { color: #C00; }
a.summary:hover { color: #FFF; }
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #ECECEC;
}
.details, .summary {
border-color: #666;
}
.source {
border-color: #555;
background-color: #333;
}
.source .data {
Open service 3.33.249.164:80 · staging.api-write.boomhub.app
2025-12-23 04:34
HTTP/1.1 404 Not Found
Content-Length: 23420
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=sqS%2BaAKYXNPsFlI3aKRyWsGglTsWr%2BV6YMKKMuqTNOI%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766464461"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=sqS%2BaAKYXNPsFlI3aKRyWsGglTsWr%2BV6YMKKMuqTNOI%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766464461"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 1ccd374d-aa8a-cfa6-19f7-661afc847962
X-Runtime: 0.044181
Date: Tue, 23 Dec 2025 04:34:21 GMT
Connection: close
Page title: Action Controller: Exception caught
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="turbo-visit-control" content="reload">
<title>Action Controller: Exception caught</title>
<style>
body {
background-color: #FAFAFA;
color: #333;
color-scheme: light dark;
supported-color-schemes: light dark;
margin: 0px;
}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
font-size: 13px;
line-height: 18px;
}
pre {
font-size: 11px;
white-space: pre-wrap;
}
pre.box {
border: 1px solid #EEE;
padding: 10px;
margin: 0px;
width: 958px;
}
header {
color: #F0F0F0;
background: #C00;
padding: 0.5em 1.5em;
}
h1 {
overflow-wrap: break-word;
margin: 0.2em 0;
line-height: 1.1em;
font-size: 2em;
}
h2 {
color: #C00;
line-height: 25px;
}
code.traces {
font-size: 11px;
}
.response-heading, .request-heading {
margin-top: 30px;
}
.exception-message {
padding: 8px 0;
}
.exception-message .message {
margin-bottom: 8px;
line-height: 25px;
font-size: 1.5em;
font-weight: bold;
color: #C00;
}
.details {
border: 1px solid #D0D0D0;
border-radius: 4px;
margin: 1em 0px;
display: block;
max-width: 978px;
}
.summary {
padding: 8px 15px;
border-bottom: 1px solid #D0D0D0;
display: block;
}
a.summary {
color: #F0F0F0;
text-decoration: none;
background: #C52F24;
border-bottom: none;
}
.details pre {
margin: 5px;
border: none;
}
#container {
box-sizing: border-box;
width: 100%;
padding: 0 1.5em;
}
.source * {
margin: 0px;
padding: 0px;
}
.source {
border: 1px solid #D9D9D9;
background: #ECECEC;
max-width: 978px;
}
.source pre {
padding: 10px 0px;
border: none;
}
.source .data {
font-size: 80%;
overflow: auto;
background-color: #FFF;
}
.info {
padding: 0.5em;
}
.source .data .line_numbers {
background-color: #ECECEC;
color: #555;
padding: 1em .5em;
border-right: 1px solid #DDD;
text-align: right;
}
.line {
padding-left: 10px;
white-space: pre;
}
.line:hover {
background-color: #F6F6F6;
}
.line.active {
background-color: #FCC;
}
.error_highlight {
display: inline-block;
background-color: #FF9;
text-decoration: #F00 wavy underline;
}
.error_highlight_tip {
color: #666;
padding: 2px 2px;
font-size: 10px;
}
.button_to {
display: inline-block;
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.hidden {
display: none;
}
.correction {
list-style-type: none;
}
input[type="submit"] {
color: white;
background-color: #C00;
border: none;
border-radius: 12px;
box-shadow: 0 3px #F99;
font-size: 13px;
font-weight: bold;
margin: 0;
padding: 10px 18px;
cursor: pointer;
-webkit-appearance: none;
}
input[type="submit"]:focus,
input[type="submit"]:hover {
opacity: 0.8;
}
input[type="submit"]:active {
box-shadow: 0 2px #F99;
transform: translateY(1px)
}
a { color: #980905; }
a:visited { color: #666; }
a.trace-frames {
color: #666;
overflow-wrap: break-word;
}
a:hover, a.trace-frames.selected { color: #C00; }
a.summary:hover { color: #FFF; }
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #ECECEC;
}
.details, .summary {
border-color: #666;
}
.source {
border-color: #555;
background-color: #333;
}
.source .data {
Open service 99.83.185.157:443 · api-write.boomhub.app
2025-12-23 02:55
HTTP/1.1 404 Not Found
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=dAm%2FutUDWHjaEsqmcMQ6DJrKqmeB3NNkNhq%2Bcxq3qNk%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766458519"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=dAm%2FutUDWHjaEsqmcMQ6DJrKqmeB3NNkNhq%2Bcxq3qNk%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766458519"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: a3715314-f32f-1bbd-e1c3-7b6317eb770e
X-Runtime: 0.000611
Date: Tue, 23 Dec 2025 02:55:19 GMT
Connection: close
Open service 15.197.253.240:80 · api-write.boomhub.app
2025-12-22 15:18
HTTP/1.1 404 Not Found
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=7UnC980YQeWj%2BdWSFAM9ypjEGvr3zEtheRp79Oip1xQ%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766416738"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=7UnC980YQeWj%2BdWSFAM9ypjEGvr3zEtheRp79Oip1xQ%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766416738"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 89b4148f-7b89-b31e-678b-595e3a815fa7
X-Runtime: 0.000771
Date: Mon, 22 Dec 2025 15:18:58 GMT
Connection: close
Open service 15.197.253.240:443 · staging.api-write.boomhub.app
2025-12-22 07:52
HTTP/1.1 404 Not Found
Content-Length: 23418
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=IuSfyUxVBoWm7CqqvQV5qlph6khXNbB3z%2BKn1H%2BJOMI%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766389934"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=IuSfyUxVBoWm7CqqvQV5qlph6khXNbB3z%2BKn1H%2BJOMI%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766389934"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 056c5afa-fa0f-9c75-d271-3b1e2ca4af09
X-Runtime: 0.020347
Date: Mon, 22 Dec 2025 07:52:14 GMT
Connection: close
Page title: Action Controller: Exception caught
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="turbo-visit-control" content="reload">
<title>Action Controller: Exception caught</title>
<style>
body {
background-color: #FAFAFA;
color: #333;
color-scheme: light dark;
supported-color-schemes: light dark;
margin: 0px;
}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
font-size: 13px;
line-height: 18px;
}
pre {
font-size: 11px;
white-space: pre-wrap;
}
pre.box {
border: 1px solid #EEE;
padding: 10px;
margin: 0px;
width: 958px;
}
header {
color: #F0F0F0;
background: #C00;
padding: 0.5em 1.5em;
}
h1 {
overflow-wrap: break-word;
margin: 0.2em 0;
line-height: 1.1em;
font-size: 2em;
}
h2 {
color: #C00;
line-height: 25px;
}
code.traces {
font-size: 11px;
}
.response-heading, .request-heading {
margin-top: 30px;
}
.exception-message {
padding: 8px 0;
}
.exception-message .message {
margin-bottom: 8px;
line-height: 25px;
font-size: 1.5em;
font-weight: bold;
color: #C00;
}
.details {
border: 1px solid #D0D0D0;
border-radius: 4px;
margin: 1em 0px;
display: block;
max-width: 978px;
}
.summary {
padding: 8px 15px;
border-bottom: 1px solid #D0D0D0;
display: block;
}
a.summary {
color: #F0F0F0;
text-decoration: none;
background: #C52F24;
border-bottom: none;
}
.details pre {
margin: 5px;
border: none;
}
#container {
box-sizing: border-box;
width: 100%;
padding: 0 1.5em;
}
.source * {
margin: 0px;
padding: 0px;
}
.source {
border: 1px solid #D9D9D9;
background: #ECECEC;
max-width: 978px;
}
.source pre {
padding: 10px 0px;
border: none;
}
.source .data {
font-size: 80%;
overflow: auto;
background-color: #FFF;
}
.info {
padding: 0.5em;
}
.source .data .line_numbers {
background-color: #ECECEC;
color: #555;
padding: 1em .5em;
border-right: 1px solid #DDD;
text-align: right;
}
.line {
padding-left: 10px;
white-space: pre;
}
.line:hover {
background-color: #F6F6F6;
}
.line.active {
background-color: #FCC;
}
.error_highlight {
display: inline-block;
background-color: #FF9;
text-decoration: #F00 wavy underline;
}
.error_highlight_tip {
color: #666;
padding: 2px 2px;
font-size: 10px;
}
.button_to {
display: inline-block;
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.hidden {
display: none;
}
.correction {
list-style-type: none;
}
input[type="submit"] {
color: white;
background-color: #C00;
border: none;
border-radius: 12px;
box-shadow: 0 3px #F99;
font-size: 13px;
font-weight: bold;
margin: 0;
padding: 10px 18px;
cursor: pointer;
-webkit-appearance: none;
}
input[type="submit"]:focus,
input[type="submit"]:hover {
opacity: 0.8;
}
input[type="submit"]:active {
box-shadow: 0 2px #F99;
transform: translateY(1px)
}
a { color: #980905; }
a:visited { color: #666; }
a.trace-frames {
color: #666;
overflow-wrap: break-word;
}
a:hover, a.trace-frames.selected { color: #C00; }
a.summary:hover { color: #FFF; }
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #ECECEC;
}
.details, .summary {
border-color: #666;
}
.source {
border-color: #555;
background-color: #333;
}
.source .data {
Open service 3.33.249.164:80 · staging.api-write.boomhub.app
2025-12-21 02:22
HTTP/1.1 404 Not Found
Content-Length: 23420
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=a7tJLhNYQkraPdT6chQGvSExh9M38ctyVchr7oqzbLo%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766283736"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=a7tJLhNYQkraPdT6chQGvSExh9M38ctyVchr7oqzbLo%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766283736"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 0580c168-4459-1fa0-d523-9b0402c5fa8d
X-Runtime: 0.029843
Date: Sun, 21 Dec 2025 02:22:16 GMT
Connection: close
Page title: Action Controller: Exception caught
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="turbo-visit-control" content="reload">
<title>Action Controller: Exception caught</title>
<style>
body {
background-color: #FAFAFA;
color: #333;
color-scheme: light dark;
supported-color-schemes: light dark;
margin: 0px;
}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
font-size: 13px;
line-height: 18px;
}
pre {
font-size: 11px;
white-space: pre-wrap;
}
pre.box {
border: 1px solid #EEE;
padding: 10px;
margin: 0px;
width: 958px;
}
header {
color: #F0F0F0;
background: #C00;
padding: 0.5em 1.5em;
}
h1 {
overflow-wrap: break-word;
margin: 0.2em 0;
line-height: 1.1em;
font-size: 2em;
}
h2 {
color: #C00;
line-height: 25px;
}
code.traces {
font-size: 11px;
}
.response-heading, .request-heading {
margin-top: 30px;
}
.exception-message {
padding: 8px 0;
}
.exception-message .message {
margin-bottom: 8px;
line-height: 25px;
font-size: 1.5em;
font-weight: bold;
color: #C00;
}
.details {
border: 1px solid #D0D0D0;
border-radius: 4px;
margin: 1em 0px;
display: block;
max-width: 978px;
}
.summary {
padding: 8px 15px;
border-bottom: 1px solid #D0D0D0;
display: block;
}
a.summary {
color: #F0F0F0;
text-decoration: none;
background: #C52F24;
border-bottom: none;
}
.details pre {
margin: 5px;
border: none;
}
#container {
box-sizing: border-box;
width: 100%;
padding: 0 1.5em;
}
.source * {
margin: 0px;
padding: 0px;
}
.source {
border: 1px solid #D9D9D9;
background: #ECECEC;
max-width: 978px;
}
.source pre {
padding: 10px 0px;
border: none;
}
.source .data {
font-size: 80%;
overflow: auto;
background-color: #FFF;
}
.info {
padding: 0.5em;
}
.source .data .line_numbers {
background-color: #ECECEC;
color: #555;
padding: 1em .5em;
border-right: 1px solid #DDD;
text-align: right;
}
.line {
padding-left: 10px;
white-space: pre;
}
.line:hover {
background-color: #F6F6F6;
}
.line.active {
background-color: #FCC;
}
.error_highlight {
display: inline-block;
background-color: #FF9;
text-decoration: #F00 wavy underline;
}
.error_highlight_tip {
color: #666;
padding: 2px 2px;
font-size: 10px;
}
.button_to {
display: inline-block;
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.hidden {
display: none;
}
.correction {
list-style-type: none;
}
input[type="submit"] {
color: white;
background-color: #C00;
border: none;
border-radius: 12px;
box-shadow: 0 3px #F99;
font-size: 13px;
font-weight: bold;
margin: 0;
padding: 10px 18px;
cursor: pointer;
-webkit-appearance: none;
}
input[type="submit"]:focus,
input[type="submit"]:hover {
opacity: 0.8;
}
input[type="submit"]:active {
box-shadow: 0 2px #F99;
transform: translateY(1px)
}
a { color: #980905; }
a:visited { color: #666; }
a.trace-frames {
color: #666;
overflow-wrap: break-word;
}
a:hover, a.trace-frames.selected { color: #C00; }
a.summary:hover { color: #FFF; }
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #ECECEC;
}
.details, .summary {
border-color: #666;
}
.source {
border-color: #555;
background-color: #333;
}
.source .data {
Open service 99.83.185.157:443 · api-write.boomhub.app
2025-12-20 12:56
HTTP/1.1 404 Not Found
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=J0xVKZ4s6h0etPm0fFLTrz%2F6jG7dh4Snwvamjt6PM2o%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766235380"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=J0xVKZ4s6h0etPm0fFLTrz%2F6jG7dh4Snwvamjt6PM2o%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766235380"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 15d80fcb-f62f-dfde-0be9-d4283bfa5b12
X-Runtime: 0.000723
Date: Sat, 20 Dec 2025 12:56:20 GMT
Connection: close
Open service 15.197.253.240:80 · api-write.boomhub.app
2025-12-20 10:55
HTTP/1.1 404 Not Found
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=RbZnycCmgmVDCvDYzjJ4KF6Cz36w7%2BAXFRx5OCt%2BEU4%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766228150"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=RbZnycCmgmVDCvDYzjJ4KF6Cz36w7%2BAXFRx5OCt%2BEU4%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766228150"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: f4b5b8c2-dad0-159b-b197-275a6e1a3084
X-Runtime: 0.000746
Date: Sat, 20 Dec 2025 10:55:50 GMT
Connection: close
Open service 15.197.253.240:443 · staging.api-write.boomhub.app
2025-12-20 07:06
HTTP/1.1 404 Not Found
Content-Length: 23419
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=JdrCFd9J2Hh8GINysWyCmAkqJvN5h6CuCCjzK3Jr80o%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766214361"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=JdrCFd9J2Hh8GINysWyCmAkqJvN5h6CuCCjzK3Jr80o%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766214361"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: 1c98a697-747f-8d6c-2707-5f44535e34fb
X-Runtime: 0.021795
Date: Sat, 20 Dec 2025 07:06:01 GMT
Connection: close
Page title: Action Controller: Exception caught
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="turbo-visit-control" content="reload">
<title>Action Controller: Exception caught</title>
<style>
body {
background-color: #FAFAFA;
color: #333;
color-scheme: light dark;
supported-color-schemes: light dark;
margin: 0px;
}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
font-size: 13px;
line-height: 18px;
}
pre {
font-size: 11px;
white-space: pre-wrap;
}
pre.box {
border: 1px solid #EEE;
padding: 10px;
margin: 0px;
width: 958px;
}
header {
color: #F0F0F0;
background: #C00;
padding: 0.5em 1.5em;
}
h1 {
overflow-wrap: break-word;
margin: 0.2em 0;
line-height: 1.1em;
font-size: 2em;
}
h2 {
color: #C00;
line-height: 25px;
}
code.traces {
font-size: 11px;
}
.response-heading, .request-heading {
margin-top: 30px;
}
.exception-message {
padding: 8px 0;
}
.exception-message .message {
margin-bottom: 8px;
line-height: 25px;
font-size: 1.5em;
font-weight: bold;
color: #C00;
}
.details {
border: 1px solid #D0D0D0;
border-radius: 4px;
margin: 1em 0px;
display: block;
max-width: 978px;
}
.summary {
padding: 8px 15px;
border-bottom: 1px solid #D0D0D0;
display: block;
}
a.summary {
color: #F0F0F0;
text-decoration: none;
background: #C52F24;
border-bottom: none;
}
.details pre {
margin: 5px;
border: none;
}
#container {
box-sizing: border-box;
width: 100%;
padding: 0 1.5em;
}
.source * {
margin: 0px;
padding: 0px;
}
.source {
border: 1px solid #D9D9D9;
background: #ECECEC;
max-width: 978px;
}
.source pre {
padding: 10px 0px;
border: none;
}
.source .data {
font-size: 80%;
overflow: auto;
background-color: #FFF;
}
.info {
padding: 0.5em;
}
.source .data .line_numbers {
background-color: #ECECEC;
color: #555;
padding: 1em .5em;
border-right: 1px solid #DDD;
text-align: right;
}
.line {
padding-left: 10px;
white-space: pre;
}
.line:hover {
background-color: #F6F6F6;
}
.line.active {
background-color: #FCC;
}
.error_highlight {
display: inline-block;
background-color: #FF9;
text-decoration: #F00 wavy underline;
}
.error_highlight_tip {
color: #666;
padding: 2px 2px;
font-size: 10px;
}
.button_to {
display: inline-block;
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.hidden {
display: none;
}
.correction {
list-style-type: none;
}
input[type="submit"] {
color: white;
background-color: #C00;
border: none;
border-radius: 12px;
box-shadow: 0 3px #F99;
font-size: 13px;
font-weight: bold;
margin: 0;
padding: 10px 18px;
cursor: pointer;
-webkit-appearance: none;
}
input[type="submit"]:focus,
input[type="submit"]:hover {
opacity: 0.8;
}
input[type="submit"]:active {
box-shadow: 0 2px #F99;
transform: translateY(1px)
}
a { color: #980905; }
a:visited { color: #666; }
a.trace-frames {
color: #666;
overflow-wrap: break-word;
}
a:hover, a.trace-frames.selected { color: #C00; }
a.summary:hover { color: #FFF; }
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #ECECEC;
}
.details, .summary {
border-color: #666;
}
.source {
border-color: #555;
background-color: #333;
}
.source .data {
Open service 3.33.249.164:80 · staging.api-write.boomhub.app
2025-12-19 01:36
HTTP/1.1 404 Not Found
Content-Length: 23417
Content-Type: text/html; charset=UTF-8
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=LA%2Bq7d1p%2BDH6tWOUNYsvX7pY9LN5ZTZp4eoNi%2FLPCcA%3D\u0026sid=812dcc77-0bd0-43b1-a5f1-b25750382959\u0026ts=1766108200"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=LA%2Bq7d1p%2BDH6tWOUNYsvX7pY9LN5ZTZp4eoNi%2FLPCcA%3D&sid=812dcc77-0bd0-43b1-a5f1-b25750382959&ts=1766108200"
Server: Heroku
Vary: Origin
Via: 1.1 heroku-router
X-Request-Id: aeb1c28e-7a0a-8502-3e83-0c214e7a5e95
X-Runtime: 0.064344
Date: Fri, 19 Dec 2025 01:36:41 GMT
Connection: close
Page title: Action Controller: Exception caught
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="turbo-visit-control" content="reload">
<title>Action Controller: Exception caught</title>
<style>
body {
background-color: #FAFAFA;
color: #333;
color-scheme: light dark;
supported-color-schemes: light dark;
margin: 0px;
}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
font-size: 13px;
line-height: 18px;
}
pre {
font-size: 11px;
white-space: pre-wrap;
}
pre.box {
border: 1px solid #EEE;
padding: 10px;
margin: 0px;
width: 958px;
}
header {
color: #F0F0F0;
background: #C00;
padding: 0.5em 1.5em;
}
h1 {
overflow-wrap: break-word;
margin: 0.2em 0;
line-height: 1.1em;
font-size: 2em;
}
h2 {
color: #C00;
line-height: 25px;
}
code.traces {
font-size: 11px;
}
.response-heading, .request-heading {
margin-top: 30px;
}
.exception-message {
padding: 8px 0;
}
.exception-message .message {
margin-bottom: 8px;
line-height: 25px;
font-size: 1.5em;
font-weight: bold;
color: #C00;
}
.details {
border: 1px solid #D0D0D0;
border-radius: 4px;
margin: 1em 0px;
display: block;
max-width: 978px;
}
.summary {
padding: 8px 15px;
border-bottom: 1px solid #D0D0D0;
display: block;
}
a.summary {
color: #F0F0F0;
text-decoration: none;
background: #C52F24;
border-bottom: none;
}
.details pre {
margin: 5px;
border: none;
}
#container {
box-sizing: border-box;
width: 100%;
padding: 0 1.5em;
}
.source * {
margin: 0px;
padding: 0px;
}
.source {
border: 1px solid #D9D9D9;
background: #ECECEC;
max-width: 978px;
}
.source pre {
padding: 10px 0px;
border: none;
}
.source .data {
font-size: 80%;
overflow: auto;
background-color: #FFF;
}
.info {
padding: 0.5em;
}
.source .data .line_numbers {
background-color: #ECECEC;
color: #555;
padding: 1em .5em;
border-right: 1px solid #DDD;
text-align: right;
}
.line {
padding-left: 10px;
white-space: pre;
}
.line:hover {
background-color: #F6F6F6;
}
.line.active {
background-color: #FCC;
}
.error_highlight {
display: inline-block;
background-color: #FF9;
text-decoration: #F00 wavy underline;
}
.error_highlight_tip {
color: #666;
padding: 2px 2px;
font-size: 10px;
}
.button_to {
display: inline-block;
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.hidden {
display: none;
}
.correction {
list-style-type: none;
}
input[type="submit"] {
color: white;
background-color: #C00;
border: none;
border-radius: 12px;
box-shadow: 0 3px #F99;
font-size: 13px;
font-weight: bold;
margin: 0;
padding: 10px 18px;
cursor: pointer;
-webkit-appearance: none;
}
input[type="submit"]:focus,
input[type="submit"]:hover {
opacity: 0.8;
}
input[type="submit"]:active {
box-shadow: 0 2px #F99;
transform: translateY(1px)
}
a { color: #980905; }
a:visited { color: #666; }
a.trace-frames {
color: #666;
overflow-wrap: break-word;
}
a:hover, a.trace-frames.selected { color: #C00; }
a.summary:hover { color: #FFF; }
@media (prefers-color-scheme: dark) {
body {
background-color: #222;
color: #ECECEC;
}
.details, .summary {
border-color: #666;
}
.source {
border-color: #555;
background-color: #333;
}
.source .data {