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: 5733ddf49ff49cd1f3d88d603a55177bc6eac39eb1e5e07746b84c6ce2555f59
Public Swagger UI/API detected at path: /swagger/v1/swagger.json - sample paths:
DELETE /api/Video/{videoId}
GET /api/Device/GetById/{deviceId}
GET /api/Device/ListAllPaged
GET /api/PlayList/GetByHardwareId/{hardwareId}
GET /api/PlayList/GetById/{playListId}
GET /api/PlayList/ListAllPaged
GET /api/Video/GetById/{videoId}
GET /api/Video/ListAllPaged
POST /api/Auth/Login
POST /api/Device
POST /api/PlayList
PUT /api/Device/ForceSyncPlayList/{deviceId}
PUT /api/Device/LinkDevice
PUT /api/Device/{deviceId}
PUT /api/PlayList/{playListId}
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: 5733ddf49ff49cd1f3d88d603a55177bc6eac39eb1e5e07746b84c6ce2555f59
Public Swagger UI/API detected at path: /swagger/v1/swagger.json - sample paths:
DELETE /api/Video/{videoId}
GET /api/Device/GetById/{deviceId}
GET /api/Device/ListAllPaged
GET /api/PlayList/GetByHardwareId/{hardwareId}
GET /api/PlayList/GetById/{playListId}
GET /api/PlayList/ListAllPaged
GET /api/Video/GetById/{videoId}
GET /api/Video/ListAllPaged
POST /api/Auth/Login
POST /api/Device
POST /api/PlayList
PUT /api/Device/ForceSyncPlayList/{deviceId}
PUT /api/Device/LinkDevice
PUT /api/Device/{deviceId}
PUT /api/PlayList/{playListId}
Open service 76.223.57.73:80 · api.aircontrl.com
2026-01-09 14:54
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Fri, 09 Jan 2026 14:55: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=ycC%2FqbOuPQxEVNLv5eN9MyY1Gpc9R4aK2fa3jKrpBHg%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767970554"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=ycC%2FqbOuPQxEVNLv5eN9MyY1Gpc9R4aK2fa3jKrpBHg%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767970554"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 15.197.149.68:443 · api.aircontrl.com
2026-01-09 09:48
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Fri, 09 Jan 2026 09:48:11 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=h4ioPS4Y5615ykl79zRX%2FsavKg9JB%2B5Bxm%2BUrTuHLc4%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767952092"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=h4ioPS4Y5615ykl79zRX%2FsavKg9JB%2B5Bxm%2BUrTuHLc4%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767952092"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 76.223.57.73:80 · api.aircontrl.com
2026-01-02 23:37
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Fri, 02 Jan 2026 23:37:09 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=HjrazIwd25h0NTlGxlzxXUkfs727XdVkbMezKVnCGeY%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767397030"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=HjrazIwd25h0NTlGxlzxXUkfs727XdVkbMezKVnCGeY%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767397030"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 3.33.241.96:80 · api.aircontrl.com
2026-01-01 01:03
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Thu, 01 Jan 2026 01:03:16 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=E0cFExu4Ypnbwdg9r9ZSItgpiinsD%2Bhyfx8APiGvPz8%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767229396"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=E0cFExu4Ypnbwdg9r9ZSItgpiinsD%2Bhyfx8APiGvPz8%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767229396"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 76.223.57.73:80 · api.aircontrl.com
2026-01-01 01:03
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Thu, 01 Jan 2026 01:03:15 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=VLAvKUmubXFWggICpQeKh9fBE1H4n3VnzhM5vCn0mnM%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767229395"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=VLAvKUmubXFWggICpQeKh9fBE1H4n3VnzhM5vCn0mnM%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767229395"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 13.248.213.92:443 · api.aircontrl.com
2026-01-01 01:03
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Thu, 01 Jan 2026 01:03:13 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=YzZPZ2dp6RmGrhbSx059mgI5EGi3u9MDRsyGlz86mtI%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767229393"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=YzZPZ2dp6RmGrhbSx059mgI5EGi3u9MDRsyGlz86mtI%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767229393"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 3.33.241.96:443 · api.aircontrl.com
2026-01-01 01:03
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Thu, 01 Jan 2026 01:03:13 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=YzZPZ2dp6RmGrhbSx059mgI5EGi3u9MDRsyGlz86mtI%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767229393"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=YzZPZ2dp6RmGrhbSx059mgI5EGi3u9MDRsyGlz86mtI%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767229393"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 76.223.57.73:443 · api.aircontrl.com
2026-01-01 01:03
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Thu, 01 Jan 2026 01: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=kUkSiiu%2BytTNIfGSheHuzrFgALFZdGTMWZT7oPW%2Bztg%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767229392"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=kUkSiiu%2BytTNIfGSheHuzrFgALFZdGTMWZT7oPW%2Bztg%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767229392"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 13.248.213.92:80 · api.aircontrl.com
2026-01-01 01:03
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Thu, 01 Jan 2026 01:03:15 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=VLAvKUmubXFWggICpQeKh9fBE1H4n3VnzhM5vCn0mnM%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767229395"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=VLAvKUmubXFWggICpQeKh9fBE1H4n3VnzhM5vCn0mnM%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767229395"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 15.197.149.68:443 · api.aircontrl.com
2026-01-01 01:03
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Thu, 01 Jan 2026 01:03:11 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=kUkSiiu%2BytTNIfGSheHuzrFgALFZdGTMWZT7oPW%2Bztg%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767229392"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=kUkSiiu%2BytTNIfGSheHuzrFgALFZdGTMWZT7oPW%2Bztg%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767229392"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 15.197.149.68:80 · api.aircontrl.com
2026-01-01 01:03
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Thu, 01 Jan 2026 01:03:15 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=VLAvKUmubXFWggICpQeKh9fBE1H4n3VnzhM5vCn0mnM%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767229395"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=VLAvKUmubXFWggICpQeKh9fBE1H4n3VnzhM5vCn0mnM%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767229395"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 76.223.57.73:80 · api.aircontrl.com
2025-12-22 22:51
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Mon, 22 Dec 2025 22:51:10 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=c7MLEafIljsof%2FL%2FXWK2nAIkxXuhkunosT922P0OAGo%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766443870"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=c7MLEafIljsof%2FL%2FXWK2nAIkxXuhkunosT922P0OAGo%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766443870"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 15.197.149.68:443 · api.aircontrl.com
2025-12-22 13:30
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Mon, 22 Dec 2025 13:30:13 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=yinmBw%2FLPbPmamww7ux5aFcg6S7ko5ReIepk7Z5Qk5A%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766410214"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=yinmBw%2FLPbPmamww7ux5aFcg6S7ko5ReIepk7Z5Qk5A%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766410214"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 76.223.57.73:80 · api.aircontrl.com
2025-12-21 04:38
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Sun, 21 Dec 2025 04:38:32 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=ihaKUChCC8jhPoRFW6PrhV1aU8biMd5ebTEo9bPkWJw%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766291912"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=ihaKUChCC8jhPoRFW6PrhV1aU8biMd5ebTEo9bPkWJw%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766291912"
Server: Heroku
Via: 1.1 heroku-router
Connection: close
Open service 15.197.149.68:443 · api.aircontrl.com
2025-12-20 11:37
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Sat, 20 Dec 2025 11:37:46 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=knJI7A%2F%2FHxuVpMIyTT3jAaqfKn2offvHFFPTGrok6vk%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766230666"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=knJI7A%2F%2FHxuVpMIyTT3jAaqfKn2offvHFFPTGrok6vk%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766230666"
Server: Heroku
Via: 1.1 heroku-router
Connection: close