Kestrel
tcp/443
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: 5733ddf49ff49cd1aad03549a08578c6e70ab4020d2b257cce6c497017a3e918
Public Swagger UI/API detected at path: /swagger/index.html - sample paths:
DELETE /api/account/favorites/{favoriteListId}/affiliate/{favoriteListAffiliateId}
DELETE /api/account/favorites/{favoriteListId}/items/{favoriteListItemId}
DELETE /api/projects/{projectId}/documents/{documentId}
DELETE /api/projects/{projectId}/extraworkagreements/{extraWorkAgreementId}/documents/{documentId}
DELETE /api/projects/{projectId}/folders/{folderId}
DELETE /api/projects/{projectId}/folders/{folderId}/documents/{documentId}
DELETE /api/projects/{projectId}/users/{affiliateId}
GET /api/Health
GET /api/account/favorites
GET /api/administration/baserateandsupplement
GET /api/administration/importreferences
GET /api/administration/importreferences/{importReferenceId}/importreportasspreadsheet
GET /api/administration/metrics
GET /api/administration/profitshare
GET /api/administration/projects-information
GET /api/administration/supplements
GET /api/administration/users-information
GET /api/business-intelligence
GET /api/business-intelligence/projects
GET /api/catalog/materials/{materialId}
GET /api/catalog/operations/{operationId}
GET /api/catalog/supplements
GET /api/config
GET /api/documents/{documentId}
GET /api/notifications
GET /api/notifications/all
GET /api/ping
GET /api/profileinfo
GET /api/projects
GET /api/projects/{projectId}
GET /api/projects/{projectId}/compensations
GET /api/projects/{projectId}/extraworkagreements/rates
GET /api/projects/{projectId}/extraworkagreements/{extraWorkAgreementId}/statusTransitions
GET /api/projects/{projectId}/extraworkgreements
GET /api/projects/{projectId}/favorites
GET /api/projects/{projectId}/folders
GET /api/projects/{projectId}/folders/{folderId}/summation
GET /api/projects/{projectId}/folders/{folderId}/workitems
GET /api/projects/{projectId}/folders/{folderId}/workitems/grouped
GET /api/projects/{projectId}/invitations/{invitationId}
GET /api/projects/{projectId}/logbook
GET /api/projects/{projectId}/logbook/{userId}/weeks/{year}/{month}/{day}
GET /api/projects/{projectId}/logbook/{userId}/weeks/{year}/{week}
GET /api/projects/{projectId}/projectspecificoperation
GET /api/projects/{projectId}/projectspecificoperationsandfavorites
GET /api/projects/{projectId}/reports/logbookspreadsheet
GET /api/projects/{projectId}/reports/projectinfo
GET /api/projects/{projectId}/reports/statusreportspreatsheet
GET /api/projects/{projectId}/reports/workitemsspreadsheet
GET /api/projects/{projectId}/summation
GET /api/projects/{projectId}/users
POST /api/account/favorites/{favoriteListId}/items
POST /api/account/favorites/{favoriteListId}/user
POST /api/catalog/materials/search
POST /api/catalog/operations/search
POST /api/notifications/markAsRead
POST /api/projects/{projectId}/calculations/importcalculation
POST /api/projects/{projectId}/compensations/participants
POST /api/projects/{projectId}/description
POST /api/projects/{projectId}/documents
POST /api/projects/{projectId}/extraworkagreements
POST /api/projects/{projectId}/extraworkagreements/{extraWorkAgreementId}/documents
POST /api/projects/{projectId}/folders/{folderId}/documents
POST /api/projects/{projectId}/folders/{folderId}/extrawork
POST /api/projects/{projectId}/folders/{folderId}/lock
POST /api/projects/{projectId}/folders/{folderId}/supplements
POST /api/projects/{projectId}/folders/{folderId}/workitems/material
POST /api/projects/{projectId}/folders/{folderId}/workitems/material/preview
POST /api/projects/{projectId}/folders/{folderId}/workitems/operation
POST /api/projects/{projectId}/folders/{folderId}/workitems/operation/preview
POST /api/projects/{projectId}/folders/{folderId}/workitems/projectspecificoperation
POST /api/projects/{projectId}/folders/{folderId}/workitems/projectspecificoperation/preview
POST /api/projects/{projectId}/folders/{sourceFolderId}/workitems/copy
POST /api/projects/{projectId}/invitations
POST /api/projects/{projectId}/logbook/salaryadvance
POST /api/projects/{projectId}/logbook/weeks
POST /api/projects/{projectId}/logbook/weeks/close
POST /api/projects/{projectId}/logbook/weeks/open
POST /api/projects/{projectId}/projectinformationandtype
POST /api/projects/{projectId}/projectspecificoperation/{projectSpecificOperationId}
POST /api/projects/{projectId}/setup/projectcompany
PUT /api/account/favorites/{favoriteListId}
PUT /api/projects/{projectId}/extraworkagreements/{extraWorkAgreementId}
PUT /api/projects/{projectId}/folders/move
PUT /api/projects/{projectId}/folders/{folderId}/baserate
PUT /api/projects/{projectId}/folders/{folderId}/basesupplements
PUT /api/projects/{projectId}/folders/{folderId}/description
PUT /api/projects/{projectId}/folders/{folderId}/multiplicationFactor
PUT /api/projects/{projectId}/folders/{folderId}/name
PUT /api/projects/{projectId}/folders/{folderId}/workItems/{workItemId}
PUT /api/projects/{projectId}/folders/{folderId}/workItems/{workItemId}/material
PUT /api/projects/{projectId}/folders/{folderId}/workItems/{workItemId}/operation
PUT /api/projects/{projectId}/folders/{folderId}/workItems/{workItemId}/projectspecificoperation
PUT /api/projects/{projectId}/folders/{folderId}/workitems/move
PUT /api/projects/{projectId}/folders/{sourceFolderId}/copy
PUT /api/projects/{projectId}/hide
PUT /api/projects/{projectId}/projectlumpsum
PUT /api/projects/{projectId}/unhide
PUT /api/projects/{projectId}/users/user
Open service 20.105.232.52:443 · dev.akkordplus.dk
2026-01-22 21:28
HTTP/1.1 200 OK
Content-Length: 2940
Connection: close
Content-Type: text/html
Date: Thu, 22 Jan 2026 21:29:08 GMT
Server: Kestrel
Accept-Ranges: bytes
ETag: "1dc6a8fd030da7c"
Last-Modified: Thu, 11 Dec 2025 11:18:02 GMT
x-ms-middleware-request-id: 00000000-0000-0000-0000-000000000000
Request-Context: appId=cid-v1:e1d4f4f2-ad16-4ac8-9f4c-43db6f417f0c
Page title: Akkord+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta http-equiv="Cache-Control" max-age="600"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#3d557c"/><meta name="description" content="Akkord+"/><link rel="icon" type="image/png" sizes="16x16" href="/images/icons/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/images/icons/favicon-32x32.png"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><meta name="apple-mobile-web-app-title" content="Akkord+"/><link rel="apple-touch-startup-image" href="/images/splash/launch-640x1136.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-750x1294.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-1242x2148.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-1125x2436.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-1536x2048.png" media="(min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-1668x2224.png" media="(min-device-width: 834px) and (max-device-width: 834px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-2048x2732.png" media="(min-device-width: 1024px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-icon" sizes="180x180" href="/images/icons/apple-touch-icon.png"/><meta name="msapplication-TileColor" content="#3d557c"/><meta name="theme-color" content="#3d557c"/><link rel="manifest" href="/manifest.json"/><title>Akkord+</title><style>body{padding:0;margin:0}.loading-screen{background-color:#3e557c;width:100%;height:100vh;display:flex;justify-content:center;align-items:center}@media only screen and (max-width:600px){.loading-screen img{width:90%}}</style><script defer="defer" src="/static/js/main.c1abdcec.js"></script><link href="/static/css/main.286bf398.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"><div class="loading-screen"><img src="/images/icons/android-chrome-512x512.png"/></div></div></body></html>
Open service 20.105.232.52:443 · dev.akkordplus.dk
2026-01-11 04:39
HTTP/1.1 200 OK
Content-Length: 2940
Connection: close
Content-Type: text/html
Date: Sun, 11 Jan 2026 04:40:12 GMT
Server: Kestrel
Accept-Ranges: bytes
ETag: "1dc6a8fd030da7c"
Last-Modified: Thu, 11 Dec 2025 11:18:02 GMT
x-ms-middleware-request-id: 00000000-0000-0000-0000-000000000000
Request-Context: appId=cid-v1:e1d4f4f2-ad16-4ac8-9f4c-43db6f417f0c
Page title: Akkord+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta http-equiv="Cache-Control" max-age="600"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#3d557c"/><meta name="description" content="Akkord+"/><link rel="icon" type="image/png" sizes="16x16" href="/images/icons/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/images/icons/favicon-32x32.png"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><meta name="apple-mobile-web-app-title" content="Akkord+"/><link rel="apple-touch-startup-image" href="/images/splash/launch-640x1136.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-750x1294.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-1242x2148.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-1125x2436.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-1536x2048.png" media="(min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-1668x2224.png" media="(min-device-width: 834px) and (max-device-width: 834px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="/images/splash/launch-2048x2732.png" media="(min-device-width: 1024px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-icon" sizes="180x180" href="/images/icons/apple-touch-icon.png"/><meta name="msapplication-TileColor" content="#3d557c"/><meta name="theme-color" content="#3d557c"/><link rel="manifest" href="/manifest.json"/><title>Akkord+</title><style>body{padding:0;margin:0}.loading-screen{background-color:#3e557c;width:100%;height:100vh;display:flex;justify-content:center;align-items:center}@media only screen and (max-width:600px){.loading-screen img{width:90%}}</style><script defer="defer" src="/static/js/main.c1abdcec.js"></script><link href="/static/css/main.286bf398.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"><div class="loading-screen"><img src="/images/icons/android-chrome-512x512.png"/></div></div></body></html>
Open service 20.105.232.52:80 · dev.akkordplus.dk
2026-01-11 04:39
HTTP/1.1 301 Moved Permanently Content-Length: 0 Connection: close Date: Sun, 11 Jan 2026 04:40:11 GMT Location: https://dev.akkordplus.dk/