Join our Newsletter — 33% off our NHI Course
Home› Guides› API Security Health Check: 9 programme metrics for…
Template Web & API Security

API Security Health Check: 9 programme metrics for inventory, auth and testing

← All guides
By NHI Mgmt Group, edited by Lalit Choda Updated 14 November 2026 11 min read
On this page

Most API breaches do not start at a misconfigured gateway route; they start at an API nobody listed, an endpoint that was never tested for object level authorisation, or a version that stayed live because no one owned its retirement. This health check measures the API security programme across every API the organisation runs or exposes: internal and external, behind a gateway or not, built in house or published by a partner integration. It gives nine programme metrics with formulas, thresholds and evidence so an application security lead can report the same figures every quarter. It is written for application security leads, API product owners, internal audit and the CISO's office.

This page is the programme view. It does not repeat the per-route gateway configuration metrics (route policies, rate limit settings, client key age, backend TLS) which sit in the API gateway health check. Build-time controls are in the API Security Checklist; this review asks whether those controls are applied to every API and keep holding over time.

What this health check covers

  • Scope: every production API and API version in the organisation's estate, including internal service APIs, mobile and single page application back ends, partner and B2B APIs, and APIs exposed by SaaS platforms the organisation configures. APIs that bypass the gateway are in scope, which is exactly why the gateway figures alone are not enough.
  • Who runs it: the application security lead collects the figures; API product owners accept findings for their APIs; the head of engineering approves remediation plans; the CISO or delegate signs off red items.
  • Standards basis: the metrics follow the risks in the OWASP API Security Top 10 2023, chiefly API1 Broken Object Level Authorization, API2 Broken Authentication, API3 Broken Object Property Level Authorization and API9 Improper Inventory Management, and the lifecycle view in NIST SP 800-228, which recommends controls for both the pre-runtime and runtime stages of an API.
  • Search terms it answers: "API security KPIs", "API security audit", "how many shadow APIs do we have" and "how to measure API security testing coverage".

Key takeaways

  • Inventory is the denominator. Every other figure is a percentage of the API inventory, so a weak inventory makes every other metric look better than it is.
  • Count shadow APIs, not just inventoried ones. Discovery from traffic, code and cloud accounts is the only way to measure what the inventory misses.
  • Verify by test, not by design. Authentication and authorisation coverage here is what testing proved, not what the design document says.
  • Authorisation is the gap. Object level authorisation (BOLA) needs its own coverage figure because scanners and gateways rarely catch it.
  • Thresholds are a starting point. The green, amber and red bands are NHI Mgmt Group recommendations; agree your own and keep them stable so trends mean something.

How to use this template

Copy the metrics table and findings log into your tracker. Fix one measurement date per quarter and take every figure as at that date. Record the numerator, denominator and data source for each metric the first time, then reuse them unchanged, so a quarter-on-quarter change reflects the estate rather than a new counting method. Every amber or red result becomes a finding with an owner and a due date. Report the absolute count beside every percentage: 96% coverage of 2,000 APIs still leaves 80 untested.

Cadence and sign-off

ReviewFrequencyOwnerApproverEvidence kept
Discovery reconciliation (shadow API count)MonthlyApplication security leadAPI product ownersDiscovery output, inventory diff, triage decision per new API
Full programme metrics review (this page)QuarterlyApplication security leadCISO or delegateMetrics table, raw exports, findings log
Security test coverage reviewQuarterly, aligned with the release calendarApplication security testing leadHead of engineeringTest plan, test results per API and version
Independent sample testAnnuallyInternal audit or external testerAudit committeeSample of APIs re-tested for authentication and object level authorisation
Event-driven reviewAfter an API incident, acquisition or platform migrationApplication security leadCISO or delegateBefore and after figures for metrics 01 to 04

Metrics

NHI Mgmt Group recommended thresholds and formulas; adjust to your risk appetite. "API" means a distinct production API and major version; "sensitive API" means one that handles personal, payment, health or authentication data, or performs write operations on business records.

IDMetricFormulaData source typeGreenAmberRed
APIP-01API inventory coverageProduction APIs found by discovery that have an inventory entry with named owner, data classification, exposure (internal, partner, public) and lifecycle state ÷ all production APIs found by discoveryAPI inventory or catalogue joined to discovery output95% or more85% to below 95%Below 85%
APIP-02Shadow API countCount of production APIs or endpoints found by discovery this period with no inventory entry; report new, triaged and still open separatelyTraffic based discovery, code repository scanning, cloud account and DNS enumeration0 open older than 30 days1 to 5 open older than 30 daysMore than 5, or any sensitive API open older than 30 days
APIP-03Authentication coverage (verified)Non-public APIs where testing in the last 12 months confirmed that every operation rejects unauthenticated and expired credential requests ÷ all non-public APIsSecurity test results, DAST or API test reports98% or more90% to below 98%Below 90%, or any sensitive API failing
APIP-04Object level authorisation (BOLA) test coverageSensitive APIs whose operations taking an object identifier were tested in the last 12 months with a second user or tenant attempting to access the first user's objects ÷ all sensitive APIsPenetration test and authorisation test reports, test case repository90% or more70% to below 90%Below 70%
APIP-05Specification coverageProduction APIs with a machine readable specification (for example OpenAPI) in source control that matches the deployed version ÷ all production APIsSpecification repository compared with discovery or contract test results90% or more70% to below 90%Below 70%
APIP-06Security testing cadenceAPIs with a security test (automated in the pipeline or manual) against the current major version within the cadence set by their risk tier ÷ all production APIsPipeline test records, test plan, inventory risk tier95% or more80% to below 95%Below 80%
APIP-07Sensitive data exposure findingsCount of open findings where a response returned data properties the client did not need or was not entitled to (OWASP API3) or sensitive data appeared in URLs or logs; report age of the oldestTest findings, response schema review, data discovery in logs0 open past SLA1 to 3 open past SLAMore than 3 past SLA, or any exposing personal data in production
APIP-08API finding remediation within SLAAPI security findings closed within the SLA for their severity in the period ÷ API security findings due in the periodVulnerability or findings tracker filtered to APIs90% or more75% to below 90%Below 75%
APIP-09Retirement plan coverage for deprecated versionsDeprecated API versions with a published sunset date, a named owner and a client migration list ÷ all deprecated API versions in the inventoryInventory lifecycle field, deprecation notices, client registry100%90% to below 100%Below 90%

APIP-09 measures whether the programme has a plan for every deprecated version. Whether those versions still receive traffic at the gateway is API-07 in the API gateway health check; report both lines together rather than duplicating the traffic count here.

Why these nine and not others

  • Inventory and shadow APIs (01, 02): OWASP API9 Improper Inventory Management describes how undocumented hosts and old versions become the way in. The difference between shadow and zombie APIs is set out in Shadow APIs vs Zombie APIs.
  • Verified authentication and BOLA (03, 04): API1 and API2 are the top two OWASP API risks. A gateway policy shows authentication is configured; only a test shows that the back end enforces object ownership. See BOLA vs BFLA.
  • Specification and testing cadence (05, 06): a current specification is what makes automated testing, schema checks and contract tests possible. NIST SP 800-53 Rev. 5 SA-11 Developer Testing and Evaluation is the control this evidences.
  • Exposure and remediation (07, 08): coverage without remediation is a list of known holes; these two lines show whether findings close.
  • Retirement plans (09): zombie APIs exist because nobody owned the sunset date.

How to collect the data

  1. Freeze the date: agree the measurement date and take every export within one working day of it.
  2. Run discovery from at least three angles: traffic (gateway, load balancer, service mesh and CDN logs), code (route definitions and specification files in repositories) and infrastructure (cloud API services, DNS records, exposed hosts). One source alone undercounts.
  3. Reconcile with the inventory: join discovery output to the inventory by host, base path and version. Unmatched discoveries feed APIP-02; matched entries missing owner, classification or lifecycle state reduce APIP-01. The API Inventory Template lists the fields.
  4. Pull test evidence per API: from pipeline results, DAST, manual test reports and penetration test reports, record for each API the date of the last authentication test, last authorisation test with two identities, and last full security test against the current version.
  5. Compare specifications with reality: diff the specification in source control against discovered endpoints; an endpoint seen in traffic but absent from the specification fails APIP-05 for that API.
  6. Export findings: filter the findings tracker to APIs, compute age and SLA status, and tag findings that relate to data exposure for APIP-07.
  7. Sample the reds: for each red metric, re-check five to ten APIs by hand to confirm the figure before it goes to the CISO.

Where identity fits

Every API client is an identity. Partner integrations, mobile back ends and service to service calls authenticate with API keys, OAuth client credentials or workload certificates, and BOLA tests need at least two test identities per tenant. Ownerless clients and long-lived keys are measured at the gateway; at programme level, make sure each inventory entry names the non-human identities that call it. See the API Key Management Guide.

Red flags that need action now

  • A sensitive API discovered in traffic with no inventory entry and no owner.
  • Any sensitive API never tested for object level authorisation with a second identity.
  • An API that returns full records and relies on the client to filter fields (OWASP API3).
  • Deprecated versions with no sunset date, especially old mobile app versions that still call them.
  • Findings on sensitive APIs open past SLA for two consecutive quarters.
  • Discovery limited to the gateway: APIs that bypass the gateway are the ones most likely to be missing.

Findings log

IDFindingMetricSeverityOwnerDue dateStatus
HC-APIP-01[n] production APIs discovered with no inventory entryAPIP-02[Red / Amber][Application security lead][Date][Open / In progress / Closed]
HC-APIP-02[n] sensitive APIs with no BOLA test in 12 monthsAPIP-04[Severity][API product owner][Date][Status]
HC-APIP-03[n] APIs whose specification does not match deploymentAPIP-05[Severity][API product owner][Date][Status]
HC-APIP-04Version [v] deprecated with no sunset dateAPIP-09[Severity][API product owner][Date][Status]
HC-APIP-05[Finding][Metric ID][Severity][Owner][Date][Status]

Escalate a finding that stays red for two consecutive quarters to the CISO, and one that repeats three times to the risk register.

Remediation map

Finding typeWhere to fix it
Inventory gaps, shadow and zombie APIsOWASP API Top 10 API9 Improper Inventory Management Guide
Object level authorisation failuresOWASP API Top 10 API1 Broken Object Level Authorization Guide
Excessive data in responsesOWASP API Top 10 API3 Broken Object Property Level Authorization Guide
Testing cadence and coverage gapsAPI Security Testing Plan Template
Route policy, rate limit and gateway key issuesAPI gateway health check
Programme maturity overallAPI Security Maturity Model

Framework mapping

MetricNIST CSF 2.0NIST SP 800-53 Rev. 5OWASP API Top 10 2023
APIP-01, APIP-02ID.AM-02CM-8API9
APIP-03, APIP-04PR.AA-05AC-3, SA-11API1, API2
APIP-05, APIP-06ID.RA-01SA-11, RA-5API8
APIP-07, APIP-08ID.RA-01, ID.IM-01RA-5, CA-5API3
APIP-09ID.AM-02CM-8API9

References

Related NHI Mgmt Group resources: API Security Guide, API Security Checklist, API gateway health check, API Security Maturity Model.

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.

NHIMG Editorial Note
Researched and written by the NHI Mgmt Group editorial team using AI tools, under the editorial direction of Lalit Choda. Facts are drawn from the sources listed on this page and checked by our automated quality process. Last updated 14 November 2026. Spotted an error? Use our contact page.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM and Agentic AI security. nhimg.org