AmazonS3
tcp/443
Heroku
tcp/443 tcp/80
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43209d61ec85a8b0d3ef3eee9cef3eee9cef3eee9c
Public Swagger UI/API detected at path: /swagger.json - sample paths: GET /shows POST /contact POST /subscribe-to-newsletter
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43209d61ec85a8b0d3ef3eee9cef3eee9cef3eee9c
Public Swagger UI/API detected at path: /swagger.json - sample paths: GET /shows POST /contact POST /subscribe-to-newsletter
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43209d61ec85a8b0d3ef3eee9cef3eee9cef3eee9c
Public Swagger UI/API detected at path: /swagger.json - sample paths: GET /shows POST /contact POST /subscribe-to-newsletter
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43209d61ec85a8b0d3ef3eee9cef3eee9cef3eee9c
Public Swagger UI/API detected at path: /swagger.json - sample paths: GET /shows POST /contact POST /subscribe-to-newsletter
Open service 108.156.60.91:443 · whiletruemusic.com
2026-01-31 13:34
HTTP/1.1 200 OK Content-Type: text/html Content-Length: 835 Connection: close Date: Thu, 29 Jan 2026 10:14:32 GMT Cache-Control: public, max-age=0, s-maxage=31536000 Server: AmazonS3 Accept-Ranges: bytes ETag: "f4254444641dcfa3653f8508ac0bc000" Last-Modified: Fri, 10 Oct 2025 14:02:34 GMT X-Cache: Hit from cloudfront Via: 1.1 96e04892ec84a7161914f66c3ba3b5f0.cloudfront.net (CloudFront) X-Amz-Cf-Pop: AMS1-P2 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: UI9UobzBAFY6hiJelO1B1fj7NR0GCvI2BbgvSfbmU5Azo8LFUB14DQ== Age: 184817 Page title: while(true) <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap" rel="stylesheet"><link rel="icon" href="/favicon.ico"><title>while(true)</title><script defer="defer" src="/js/chunk-vendors.0c422358.js"></script><script defer="defer" src="/js/app.d8589413.js"></script><link href="/css/app.41f8b03d.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but whiletruewebsite doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
Open service 108.156.60.70:443 · whiletruemusic.com
2026-01-31 13:34
HTTP/1.1 200 OK Content-Type: text/html Content-Length: 835 Connection: close Date: Thu, 29 Jan 2026 10:14:32 GMT Cache-Control: public, max-age=0, s-maxage=31536000 Server: AmazonS3 Accept-Ranges: bytes ETag: "f4254444641dcfa3653f8508ac0bc000" Last-Modified: Fri, 10 Oct 2025 14:02:34 GMT X-Cache: Hit from cloudfront Via: 1.1 acc5f68eb88a8e6d59815a0246ec23f0.cloudfront.net (CloudFront) X-Amz-Cf-Pop: AMS1-P2 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: 09c3tMEiY5GDvLokPubDdcJbgJANNZqNlZXeiui3_8m_ppm7YYxPKw== Age: 184817 Page title: while(true) <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap" rel="stylesheet"><link rel="icon" href="/favicon.ico"><title>while(true)</title><script defer="defer" src="/js/chunk-vendors.0c422358.js"></script><script defer="defer" src="/js/app.d8589413.js"></script><link href="/css/app.41f8b03d.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but whiletruewebsite doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
Open service 13.248.132.87:443 · api-staging.whiletruemusic.com
2026-01-23 16:08
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Fri, 23 Jan 2026 16:08:29 GMT
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=cjZdG1lqMDH2as%2FeW12YZH3WaK0I25v%2Bir3h4NEFsLk%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1769184509"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=cjZdG1lqMDH2as%2FeW12YZH3WaK0I25v%2Bir3h4NEFsLk%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1769184509"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 75.2.97.79:443 · api.whiletruemusic.com
2026-01-23 05:03
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Fri, 23 Jan 2026 05:03:12 GMT
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=Iz%2BFmETom%2F%2Bq9Cr3%2BjQ5vsG3Aal25GBbPffdSbb8x8c%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1769144592"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=Iz%2BFmETom%2F%2Bq9Cr3%2BjQ5vsG3Aal25GBbPffdSbb8x8c%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1769144592"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 99.83.151.71:80 · api-staging.whiletruemusic.com
2026-01-23 00:22
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Fri, 23 Jan 2026 00:23:25 GMT
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=NXS3PtoHhuu8XOZeOaHNOcoyPAo62mxNk2BnNghqox0%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1769127805"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=NXS3PtoHhuu8XOZeOaHNOcoyPAo62mxNk2BnNghqox0%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1769127805"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 75.2.97.79:443 · api.whiletruemusic.com
2026-01-09 13:44
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Jan 2026 13:44:45 GMT
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=qzxfxiIvePTGXQb1gsa%2BTOGu3wSZKcTSHDuMnqjyW1c%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1767966285"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=qzxfxiIvePTGXQb1gsa%2BTOGu3wSZKcTSHDuMnqjyW1c%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1767966285"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 13.248.132.87:443 · api-staging.whiletruemusic.com
2026-01-09 06:43
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Jan 2026 06:43:22 GMT
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=yF6C14FMJiAH2BADPLJIcFCzfWj5%2Bn25NjPvc8NrB5s%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1767941002"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=yF6C14FMJiAH2BADPLJIcFCzfWj5%2Bn25NjPvc8NrB5s%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1767941002"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 99.83.151.71:80 · api-staging.whiletruemusic.com
2026-01-08 23:59
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Jan 2026 00:00:04 GMT
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=wRj13OLC7GoL3d00VKrmotmUM1psXQ%2FLsIpeUZLaBFk%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1767916804"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=wRj13OLC7GoL3d00VKrmotmUM1psXQ%2FLsIpeUZLaBFk%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1767916804"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 75.2.97.79:80 · api.whiletruemusic.com
2026-01-08 21:02
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Thu, 08 Jan 2026 21:03:14 GMT
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=0CeSEQRzJKAOmeqE6XQKYWqNAj9Rb5S1wxqUlxQKJcU%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1767906194"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=0CeSEQRzJKAOmeqE6XQKYWqNAj9Rb5S1wxqUlxQKJcU%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1767906194"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 13.248.132.87:443 · api-staging.whiletruemusic.com
2026-01-02 02:36
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Fri, 02 Jan 2026 02:36:53 GMT
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=7tSwlZtrWx3fl8ih2NngRJ8vLkv7nPwc9CKU6gMKV5w%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1767321413"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=7tSwlZtrWx3fl8ih2NngRJ8vLkv7nPwc9CKU6gMKV5w%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1767321413"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 75.2.97.79:443 · api.whiletruemusic.com
2026-01-02 02:36
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Fri, 02 Jan 2026 02:36:27 GMT
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=xRnXTSXTwkWY7rX5AwzL5pP7%2FGXkrwk1%2FQHIQJX0m3A%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1767321387"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=xRnXTSXTwkWY7rX5AwzL5pP7%2FGXkrwk1%2FQHIQJX0m3A%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1767321387"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 99.83.151.71:80 · api-staging.whiletruemusic.com
2026-01-02 01:29
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Fri, 02 Jan 2026 01:29:20 GMT
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=14%2BwR98xY7FCkn7pmn9l8e6WJoaOngAPcPud%2F4s%2F7ZU%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1767317360"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=14%2BwR98xY7FCkn7pmn9l8e6WJoaOngAPcPud%2F4s%2F7ZU%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1767317360"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 75.2.97.79:80 · api.whiletruemusic.com
2026-01-01 21:11
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Thu, 01 Jan 2026 21:11:14 GMT
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=GSX462IQ36J7n%2FRv%2B%2FPtcTJGj8MZlIUbr%2BmuKhik1BU%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1767301874"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=GSX462IQ36J7n%2FRv%2B%2FPtcTJGj8MZlIUbr%2BmuKhik1BU%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1767301874"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 99.83.151.71:80 · api-staging.whiletruemusic.com
2025-12-23 07:30
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Tue, 23 Dec 2025 07:30:22 GMT
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=ftDEspHbovg%2FiBW105YQ2J7GMZrYc1pMXENLO0YF6Jg%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1766475022"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=ftDEspHbovg%2FiBW105YQ2J7GMZrYc1pMXENLO0YF6Jg%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1766475022"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 75.2.97.79:443 · api.whiletruemusic.com
2025-12-23 04:14
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Tue, 23 Dec 2025 04:14:37 GMT
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=FdM82h%2FDfoGV8LdAI5XSsqpjuISZv%2F2PHqi1OZ4SAPQ%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1766463277"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=FdM82h%2FDfoGV8LdAI5XSsqpjuISZv%2F2PHqi1OZ4SAPQ%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1766463277"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 13.248.132.87:443 · api-staging.whiletruemusic.com
2025-12-22 15:28
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Mon, 22 Dec 2025 15:28:48 GMT
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=Kj68O8bJw4nvu7bDBmiXxRgs4Oi68K7hAt5LicUWdZg%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1766417328"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=Kj68O8bJw4nvu7bDBmiXxRgs4Oi68K7hAt5LicUWdZg%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1766417328"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>
Open service 75.2.97.79:80 · api.whiletruemusic.com
2025-12-22 06:23
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-cache
Content-Length: 2759
Content-Type: text/html; charset=utf-8
Date: Mon, 22 Dec 2025 06:23:52 GMT
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=PnRBbpeIQyBcwi1H4EN1VlkfB5I92CrukAo4sJIn1ks%3D\u0026sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add\u0026ts=1766384632"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=PnRBbpeIQyBcwi1H4EN1VlkfB5I92CrukAo4sJIn1ks%3D&sid=c46efe9b-d3d2-4a0c-8c76-bfafa16c5add&ts=1766384632"
Server: Heroku
Vary: origin,accept-encoding
Via: 1.1 heroku-router
Connection: close
Page title: while(true) API Documentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>while(true) API Documentation</title>
<link rel="stylesheet" type="text/css" href="/swaggerui/swagger-ui.css" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/swaggerui/favicon-16x16.png" sizes="16x16" />
<style>
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}
</style>
</head>
<body>
<div id="swagger-ui"></div>
<script src="/swaggerui/swagger-ui-bundle.js"></script>
<script src="/swaggerui/swagger-ui-standalone-preset.js"></script>
<script src="/swaggerui/extend.js" type="text/javascript"></script>
<script>
function getUrlVars() {
const vars = [];
let hash;
const hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
window.onload = function() {
let url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "/swagger.json";
}
// pull validatorUrl string or null form server
let validatorUrl = null;
validatorUrl: '//online.swagger.io/validator';
const ACCESS_TOKEN_QUERY_PARAM_NAME = 'access_token';
const accessToken = getUrlVars()[ACCESS_TOKEN_QUERY_PARAM_NAME];
const swaggerOptions = {
url: url + (accessToken ? (url.indexOf('?') < 0 ? '?' : '&') + ACCESS_TOKEN_QUERY_PARAM_NAME + '=' + accessToken : ''),
validatorUrl: validatorUrl,
dom_id: '#swagger-ui',
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: 'StandaloneLayout',
docExpansion: "list",
tagsSorter: apisSorter.alpha,
operationsSorter: operationsSorter.alpha,
// patch: uiCompleteScript -- Rendering
onComplete: function() {
},
tryItOutEnabled: false,
}
const uiOptions = {};
Object.assign(swaggerOptions, uiOptions);
const ui = SwaggerUIBundle(swaggerOptions);
window.ui = ui;
};
</script>
</body>
</html>