Which of your APIs run unauthenticated, and which have had nobody call them in 30 days?
Both questions get answered from traffic actually observed rather than from documentation somebody wrote. An endpoint is marked inactive once 30 days pass without a call. An API is marked unauthenticated when none of the expected authentication mechanisms executed during a call. For any American business whose products and partner integrations run on APIs, that observed evidence separates a real inventory from an educated guess.

- 30 daysWithout traffic before an endpoint is Inactive
- OWASP API Top 10Covered by runtime threat detection
- ObservedFindings come from traffic, not from specs
- Azure APIMThe scope of the plan today
Eight things it tells you that documentation does not.
An inventory of what is actually published
One dashboard aggregates every managed API you have, broken out by API collection, by endpoint and by Azure API Management service. Where teams publish APIs independently of one another, this is very often the first complete list anybody in the business has ever seen.
Which endpoints are unauthenticated, measured properly
Authentication gets assessed by checking for API Management subscription keys wherever a subscription is required, and by checking whether the policies validating JWT, client certificates and Microsoft Entra tokens actually executed. Where none of them ran during the call, that API is marked unauthenticated.
Which endpoints nobody is using
Any endpoint that has taken no API call traffic across the last 30 days is marked inactive, carrying a last called date recorded in UTC. An unused API is pure attack surface offering nothing in return, and the recommendations say explicitly to disable and remove them.
Which endpoints are exposed externally
There is an external traffic observed date showing when external API traffic was last seen travelling to or from that endpoint. It distinguishes an API that is theoretically reachable from one that outside parties are genuinely calling, and those two are entirely different risk conversations.
Which APIs handle sensitive data
Request and response bodies get classified against the supported data types so that risk can be prioritized properly. Without that classification, an unauthenticated endpoint returning nothing of consequence and an unauthenticated endpoint returning personal data read as identical findings on the same list.
Runtime threat detection across the OWASP API Top 10
Ingested API traffic is monitored with runtime anomaly detection driven by machine learning alongside rule-based analytics. The alerts span the top ten OWASP API threats, data exfiltration, volumetric attacks, anomalous and suspicious API parameters, anomalies in traffic and IP access, and unusual usage patterns.
API risk in the wider attack path picture
Run Defender CSPM alongside this and the Cloud Security Graph analyzes assets and the connections between them to expose risk and possible lateral movement paths, while the Cloud Security Explorer ships two built-in query templates aimed at identifying risky API assets.
Findings where the people who own APIs already work
Once the plan is on, API security recommendations and alerts surface inside the Azure API Management portal as well as in Defender for Cloud, and those alerts export out to a SIEM such as Microsoft Sentinel. Findings that reach the API team without anyone having to switch portals get acted on considerably more often.
Because every part of this derives from observed traffic, the inventory it produces tends to surprise people.
That one design decision explains both why the findings hold up so well and why a single behavior confuses teams during onboarding.
- Nothing about authentication gets read from a specification. It is assessed by checking whether API Management subscription keys were present where a subscription is required, and whether the policies validating JWT, client certificates and Microsoft Entra tokens genuinely executed. An API that documents its authentication beautifully and never executes it is marked unauthenticated.
- Usage gets measured on the same principle. An endpoint with no API call traffic across the last 30 days is marked inactive and carries a last called date in UTC, while external exposure is recorded as the date external traffic was genuinely observed rather than as a property somebody set in a configuration file.
- Here is the behavior that confuses people during onboarding, and it follows directly from all of that. Any API endpoint that has received no traffic since it was onboarded shows the status awaiting data. That is neither an error nor a gap in coverage. It is the plan waiting for a call it can observe.
- The practical consequence is that this inventory becomes more valuable across the first few weeks rather than being complete on day one. Assess the day after onboarding and you will see a great deal of awaiting data. Assess a month later and you learn which endpoints are used, by whom, from where, and whether authentication genuinely occurred.
Four things that make an API program produce change.
We let it observe before we report
An endpoint with no traffic since onboarding shows as awaiting data, and inactive status needs a full 30 days without a call before it means anything. Run the assessment in week one and you get an incomplete picture plus an argument nobody needed to have. Waiting out the window is what makes these findings defensible.
We lead with unauthenticated endpoints, evidenced
The authentication assessment verifies whether subscription keys were present where required and whether policies validating JWT, client certificates or Entra tokens actually executed during the call. That is observed evidence rather than a configuration review, which is a much harder finding to dismiss.
We remove what nobody uses first
Disabling and removing unused APIs is one of the explicit recommendations, and it is the only security improvement that costs nothing and breaks nothing. Endpoints inactive for 30 days are the starting list, and it is usually longer than the owning team expects.
We put findings where the API owners already are
With the plan enabled, recommendations and alerts appear in the Azure API Management portal as well as in Defender for Cloud. Findings that reach a developer in the tool they already use get fixed. Findings in a security portal they do not have access to get discussed.
Four phases across roughly six weeks.
- 01Week 1
Onboard and start observing
The plan goes on and the APIs are onboarded, either from the Defender for Cloud portal or from inside the API Management instance itself. Expect a great deal of awaiting data at this stage. That is the plan working correctly rather than a problem to raise.
- Plan enabled and APIs onboarded
- API Management instances confirmed in scope
- Baseline inventory captured
- Recommendations to onboard remaining APIs actioned
- 02Weeks 2 to 4
Let traffic accumulate, then read the findings
Thirty days is the window that matters, being the threshold at which an endpoint gets marked inactive. Across that period, authentication status, external traffic and data classification all fill in from real calls rather than from assumptions.
- Unauthenticated endpoints identified from observed calls
- Inactive endpoints identified after 30 days
- Externally called endpoints listed
- Sensitive data carrying APIs classified
- 03Week 5
Act on the two easiest wins
Unused APIs get disabled and removed, which is explicitly recommended and reduces attack surface at no functional cost whatsoever. Unauthenticated endpoints go to the teams that own them, accompanied by evidence that no authentication mechanism executed during real calls.
- Unused APIs disabled or removed
- Unauthenticated endpoints assigned to owners
- Authentication remediation planned per API
- Posture recommendations prioritized by data classification
- 04Week 6
Wire detection into the response workflow
Runtime alerts get routed to whoever actually responds, exported into Sentinel or whatever other SIEM you run, and the recommendations are surfaced inside the API Management portal so that the teams owning those APIs see them without having to switch tools.
- Alerts exported to the SIEM
- Recommendations visible in the API Management portal
- Response owner named for API alerts
- Recurring review scheduled for new APIs
Six situations where APIs are the weak point.
A business exposing APIs to partners
Partner integrations pile up over time, and every one of them is an authenticated channel right up until somebody publishes a version that is not. Put the external traffic observed date next to the authentication status and you have a direct answer to whether any externally called endpoint is running with no authentication actually executing.
A financial firm with payment or banking interfaces
When APIs carry regulated financial data and the systems behind them fall under GLBA, the FTC Safeguards Rule or NYDFS Part 500, classifying request and response bodies is what makes proper prioritization possible. An unauthenticated endpoint carrying nothing sensitive and one carrying customer records are wildly different findings, and only that classification tells them apart.
A retailer whose mobile app is API driven
Anything consumer-facing attracts volumetric attacks, credential stuffing and parameter manipulation. Runtime detection covers volumetric attacks, anomalous and suspicious API parameters, and anomalies in traffic and IP access, which between them describe precisely what shows up against a retail API.
An organization that has never inventoried its APIs
That inventory is the first thing delivered and frequently the most valuable thing delivered. An aggregated view of every managed API broken down by collection, by endpoint and by API Management service tends to surface endpoints that nobody currently owns, and that absence of an owner is a finding all by itself.
A company with old APIs nobody retired
Versioned APIs accumulate for one reason: deprecating any of them requires knowing who is still calling it, and nobody knows. Thirty days of traffic data answers that question outright, and the recommendation to disable and remove unused APIs turns what was a difficult conversation into an evidenced one.
A business already running Defender CSPM
Enable both and the Cloud Security Graph analyzes your assets and the connections between them to expose risk and possible lateral movement paths, while the Cloud Security Explorer brings built-in query templates aimed at risky API assets. APIs stop being a silo of their own and join the same risk picture as everything else.
How US organizations understand their API exposure.
| Feature | Continuous API monitoring | Periodic penetration testing | Documentation and trust |
|---|---|---|---|
Inventory from observed traffic | Yes | At test time | No |
Unauthenticated endpoints found | Continuously | At test time | If someone checks |
Unused endpoints identified | After 30 days without traffic | Rarely | No |
External exposure observed | Yes, with dates | Inferred | Assumed |
Sensitive data carrying APIs known | Classified | Sometimes | No |
Runtime attacks detected | Yes, OWASP API Top 10 | No | No |
New APIs covered automatically | On onboarding | Next test | No |
Findings reach the API team | In the APIM portal | In a report | Not applicable |
Attack path context | With Defender CSPM | No | No |
Effort per cycle | Low | High | None |
Ten data points recorded per endpoint, and what each one is actually useful for.
Field or capability
Endpoint name and URL path with method
- The question it answers
- What exists, as defined in API Management
Field or capability
Last called date in UTC
- The question it answers
- Is anything using this
Field or capability
30 days unused, marked Inactive
- The question it answers
- Can this be removed
Field or capability
Authentication status
- The question it answers
- Did an authentication mechanism actually execute
Field or capability
External traffic observed date
- The question it answers
- Is this being called from outside
Field or capability
Data classification
- The question it answers
- Does this carry sensitive data
Field or capability
Awaiting data status
- The question it answers
- No traffic observed since onboarding
Field or capability
Security recommendations
- The question it answers
- What to fix, prioritized by risk
Field or capability
Runtime alerts
- The question it answers
- Is this being attacked right now
Field or capability
Cloud Security Explorer templates
- The question it answers
- Which API assets are risky, queried directly
Five steps, and one of them is waiting.
- 1
Enable the plan and onboard the APIs
You can onboard from the Defender for Cloud portal or from inside the API Management instance in the Azure portal, whichever suits. Onboarding APIs to the plan appears among the recommendations too, which makes a useful cross-check that nothing got missed along the way.
- 2
Allow at least 30 days of observation
An endpoint becomes inactive after 30 days without traffic, and anything with no traffic at all since onboarding shows as awaiting data. Read the findings before that window has elapsed and you get a picture that is technically accurate while being practically misleading.
- 3
Triage by authentication and data classification together
Unauthenticated endpoints get ranked by whether they carry sensitive data, drawing on how the request and response bodies were classified. That combination is what turns a flat list of findings into a priority order the business will actually accept and work through.
- 4
Remove the unused and fix the unauthenticated
Unused APIs go first, being explicitly recommended for removal and carrying no functional cost at all. Authentication remediation follows, worked through with the teams that own each API and supported by evidence that no mechanism executed during real calls, rather than by an opinion about the configuration.
- 5
Connect detection to response
Runtime alerts spanning the OWASP API Top 10, data exfiltration, volumetric attacks and access anomalies get routed to a named responder and exported into Sentinel or whichever SIEM you run, while the recommendations surface inside the API Management portal for the teams who own the code.
What US organizations ask about Defender for APIs.
Fifteen questions about your own API estate.
Inventory
- How many APIs do we publish?A number, from observation.
- Which are called from outside?Observed, not configured.
- Which had no traffic in 30 days?They are attack surface.
- Are all API Management instances onboarded?There is a recommendation for this.
- Who owns each API?Findings need an owner.
Authentication
- Which endpoints are unauthenticated?Measured during real calls.
- Do we require subscription keys?One of the mechanisms assessed.
- Do we validate JWT in policy?Another assessed mechanism.
- Do we use client certificates anywhere?Also assessed.
- Do we validate Entra tokens?The fourth mechanism.
Risk and response
- Which APIs carry sensitive data?Data classification shows this.
- Is Defender CSPM enabled alongside?It adds attack path context.
- Do alerts reach the SIEM?Export is supported.
- Do API teams see the recommendations?They appear in the APIM portal.
- Who responds to an API alert at night?Name them.
The pages around this one.
Count the APIs you publish. Then count how many were called at all in the last month.
Whatever gap sits between those two numbers is attack surface delivering nothing in return. Removing it is the easiest security improvement on offer, and by definition nothing depends on it.
Related Services
Explore more solutions that work great with this service
Microsoft Defender for Cloud Services
Defender for Cloud deployment for US organizations: enabling free
Learn moreMicrosoft Defender for Containers
Container and Kubernetes security for US organizations using Defender
Learn moreMicrosoft Defender for Servers
Defender for Servers engagements for US organizations: estate
Learn moreMicrosoft Sentinel
Cloud-native SIEM and threat intelligence
Learn moreMicrosoft Security Services
The Microsoft security stack deployed and managed end to end
Learn more