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: 5733ddf49ff49cd1aad0354959d9159787c8d67d266069f7c9d72109f4afd108
Public Swagger UI/API detected at path: /swagger/index.html - sample paths:
GET /api/About/Version
GET /v1/ContentBlocks
GET /v1/ContentBlocks({key})
GET /v1/ContentBlocks/$count
GET /v1/ContentBlocks/{key}
GET /v1/ContentSync/Incoming
GET /v1/ContentSync/Outgoing
GET /v1/ContentSync/SyncableContent
GET /v1/ContentSync/SyncableTenant
GET /v1/ContentTags
GET /v1/ContentTags/$count
GET /v1/ContentTypes({key})
GET /v1/ContentTypes/{key}
GET /v1/Contents({key})
GET /v1/Contents/HasUserRead/{key}
GET /v1/Contents/List
GET /v1/Contents/{key}
GET /v1/Tags
GET /v1/Tags({key})
GET /v1/Tags/$count
GET /v1/Tags/{key}
POST /v1/ContentSync
POST /v1/ContentSync/Accept
POST /v1/ContentSync/Delete
POST /v1/ContentSync/Disable
POST /v1/ContentSync/Enable
POST /v1/ContentSync/Reject
POST /v1/Contents
POST /v1/Contents/Archive/{key}
POST /v1/Contents/MarkAsRead/{key}
POST /v1/Contents/Publish/{key}
POST /v1/InitialContents
PUT /v1/ContentTags(contentVersionId={contentVersionId},tagId={tagId})
Severity: info
Fingerprint: 5733ddf49ff49cd1aad0354959d9159787c8d67d266069f7c9d72109fcfb3d80
Public Swagger UI/API detected at path: /swagger/index.html - sample paths:
GET /api/About/Version
GET /v1/ContentBlocks
GET /v1/ContentBlocks({key})
GET /v1/ContentBlocks/$count
GET /v1/ContentBlocks/{key}
GET /v1/ContentSync/Incoming
GET /v1/ContentSync/Outgoing
GET /v1/ContentSync/SyncableContent
GET /v1/ContentSync/SyncableTenant
GET /v1/ContentTags
GET /v1/ContentTags/$count
GET /v1/ContentTypes({key})
GET /v1/ContentTypes/{key}
GET /v1/Contents({key})
GET /v1/Contents/HasUserRead/{key}
GET /v1/Contents/{key}
GET /v1/Tags
GET /v1/Tags({key})
GET /v1/Tags/$count
GET /v1/Tags/{key}
POST /v1/ContentSync
POST /v1/ContentSync/Accept
POST /v1/ContentSync/Delete
POST /v1/ContentSync/Disable
POST /v1/ContentSync/Enable
POST /v1/ContentSync/Reject
POST /v1/Contents
POST /v1/Contents/Archive/{key}
POST /v1/Contents/MarkAsRead/{key}
POST /v1/Contents/Publish/{key}
POST /v1/InitialContents
PUT /v1/ContentTags(contentVersionId={contentVersionId},tagId={tagId})
Open service 20.105.224.45:443 · contents.dev.workai.cloud
2026-01-23 07:24
HTTP/1.1 200 OK Connection: close Content-Type: text/plain; charset=utf-8 Date: Fri, 23 Jan 2026 07:25:19 GMT Set-Cookie: ARRAffinity=ffbca59b025949de884b4d868d5979b22329f43e038fd0828f4548a11a1dec35;Path=/;HttpOnly;Secure;Domain=contents.dev.workai.cloud Set-Cookie: ARRAffinitySameSite=ffbca59b025949de884b4d868d5979b22329f43e038fd0828f4548a11a1dec35;Path=/;HttpOnly;SameSite=None;Secure;Domain=contents.dev.workai.cloud Transfer-Encoding: chunked Strict-Transport-Security: max-age=2592000 x-trace-id: 5676b95e6c203d9a75641fcd9af41090 healthy
Open service 20.105.224.45:443 · contents.dev.workai.cloud
2026-01-09 10:22
HTTP/1.1 200 OK Connection: close Content-Type: text/plain; charset=utf-8 Date: Fri, 09 Jan 2026 10:23:46 GMT Set-Cookie: ARRAffinity=e8c3b4220b9f97cf537feeb7ca8d7ede0c132f0c307819c4775a3815213a81d8;Path=/;HttpOnly;Secure;Domain=contents.dev.workai.cloud Set-Cookie: ARRAffinitySameSite=e8c3b4220b9f97cf537feeb7ca8d7ede0c132f0c307819c4775a3815213a81d8;Path=/;HttpOnly;SameSite=None;Secure;Domain=contents.dev.workai.cloud Transfer-Encoding: chunked Strict-Transport-Security: max-age=2592000 x-trace-id: 4f8dcb62049a65e49b38cab43c0b1188 healthy
Open service 20.105.224.45:443 · contents.dev.workai.cloud
2026-01-02 10:00
HTTP/1.1 200 OK Connection: close Content-Type: text/plain; charset=utf-8 Date: Fri, 02 Jan 2026 10:00:48 GMT Set-Cookie: ARRAffinity=c543959e5077d0986f050d1a42deca797651565c18ae97e0cfa9d81d8544de3d;Path=/;HttpOnly;Secure;Domain=contents.dev.workai.cloud Set-Cookie: ARRAffinitySameSite=c543959e5077d0986f050d1a42deca797651565c18ae97e0cfa9d81d8544de3d;Path=/;HttpOnly;SameSite=None;Secure;Domain=contents.dev.workai.cloud Transfer-Encoding: chunked Strict-Transport-Security: max-age=2592000 x-trace-id: 9bd86fb4e71dc04da4665900aa70ef1e healthy
Open service 20.105.224.45:443 · contents.dev.workai.cloud
2025-12-24 00:09
HTTP/1.1 200 OK Connection: close Content-Type: text/plain; charset=utf-8 Date: Wed, 24 Dec 2025 00:10:01 GMT Set-Cookie: ARRAffinity=c543959e5077d0986f050d1a42deca797651565c18ae97e0cfa9d81d8544de3d;Path=/;HttpOnly;Secure;Domain=contents.dev.workai.cloud Set-Cookie: ARRAffinitySameSite=c543959e5077d0986f050d1a42deca797651565c18ae97e0cfa9d81d8544de3d;Path=/;HttpOnly;SameSite=None;Secure;Domain=contents.dev.workai.cloud Transfer-Encoding: chunked Strict-Transport-Security: max-age=2592000 x-trace-id: 133bf9d656dcf95666e6785b5d05bf12 healthy
Open service 20.105.224.45:80 · contents.dev.workai.cloud
2025-12-24 00:09
HTTP/1.1 301 Moved Permanently Content-Length: 0 Connection: close Date: Wed, 24 Dec 2025 00:09:58 GMT Location: https://contents.dev.workai.cloud/
Open service 20.105.224.45:443 · contents.dev.workai.cloud
2025-12-22 15:33
HTTP/1.1 200 OK Connection: close Content-Type: text/plain; charset=utf-8 Date: Mon, 22 Dec 2025 15:33:37 GMT Set-Cookie: ARRAffinity=c543959e5077d0986f050d1a42deca797651565c18ae97e0cfa9d81d8544de3d;Path=/;HttpOnly;Secure;Domain=contents.dev.workai.cloud Set-Cookie: ARRAffinitySameSite=c543959e5077d0986f050d1a42deca797651565c18ae97e0cfa9d81d8544de3d;Path=/;HttpOnly;SameSite=None;Secure;Domain=contents.dev.workai.cloud Transfer-Encoding: chunked Strict-Transport-Security: max-age=2592000 x-trace-id: e946db18b80664720802d4572a56d8be healthy