What is a shadow API?
A shadow API is any API endpoint that is serving live traffic but isn't part of your official, documented, or governed API surface. Because no one is tracking it, it usually skips the reviews, authentication checks, and monitoring your known endpoints get — which makes it a common blind spot for attackers.
Where shadow APIs come from
Shadow APIs are rarely malicious. They accumulate as systems evolve:
- ▸Deprecated endpoints that were never fully retired and still respond.
- ▸Test, debug, or internal routes that shipped to production by accident.
- ▸Undocumented versions (for example, an old
v1left running alongsidev2). - ▸Endpoints added by a service or integration that never made it into your API catalog or OpenAPI spec.
The risk is that a shadow API can expose data or actions without the rate limits, auth, and logging your governed endpoints enforce.
How G8KEPR helps surface shadow APIs
G8KEPR's approach to shadow APIs is to watch your live traffic and compare what's actually being called against what you've declared as known and documented.
- 1.Observe real traffic. As requests flow through G8KEPR, it can build a running picture of the endpoints, methods, and paths that are actually receiving calls.
- 2.Compare against your known surface. That observed activity is checked against the API definition and previously approved endpoints you've provided.
- 3.Flag the unknowns. An endpoint that is live but not in your known set can be surfaced as a suspected shadow API, along with the traffic evidence that revealed it.
- 4.Give you context to act. A finding is meant to include details like the path, method, and observed activity so you can decide whether to document, secure, or retire it.
An illustrative finding might look like this:
{
"finding": "shadow_api",
"method": "GET",
"path": "/api/internal/debug/users",
"status": "undocumented",
"first_seen": "2026-07-24T14:02:11Z"
}Keeping your documented API definition current gives G8KEPR a cleaner baseline, which can mean fewer false positives and sharper detection of genuinely unknown endpoints.
What to do with a finding
When a shadow API is flagged, you generally have three options:
- ▸Document it if it's a legitimate endpoint that was simply missing from your catalog.
- ▸Secure it by adding the auth, rate limits, or access controls it's missing.
- ▸Retire it if it's a leftover test or deprecated route that shouldn't be live.
Shadow API detection works alongside G8KEPR's broader API monitoring. To learn more, see API Security overview and Managing detections.