Skip to content
Enterprise Tech Logic

Independent analysis for technology leaders

Data & AI

An API inventory should tell you whether the old version can be retired

Build an API inventory from deployment, gateway and traffic evidence. Confirm owners and consumers so an obsolete version can be retired without breaking service.

By Enterprise Tech Logic

Enterprise technology, security and IT leadership

· 5 min read

Multicoloured fibre optic ends

At a glance

  • Reconcile declared interfaces with deployed and observed endpoints.
  • Treat discovery coverage and business ownership as separate questions.
  • Use consumer evidence and a controlled retirement plan to close obsolete versions.

The migration dashboard says the old API is retired. The hostname still responds. For the enterprise architect, neither observation is enough to decide whether to close it: the remaining endpoint may support a forgotten client, expose an abandoned service or simply return a harmless status response.

An API inventory should resolve that uncertainty. Whether the integration uses a managed platform or custom code, its owner needs to know which consumers will be affected by a change. Its value lies in connecting the reachable interface to a business service, an accountable owner and the consumers that would be affected by change. A long list of paths without those relationships leaves the retirement decision largely where it started.

Reconcile what was declared, deployed and used

Start with three views. Application documentation and API specifications describe the intended interface. Deployment and gateway configuration show where routes have been configured. Traffic evidence shows observed use within the places and periods being monitored. Compare them rather than treating any one as complete.

A documented operation with no deployment may be obsolete documentation. A reachable route absent from the catalogue may be an undocumented release or an older environment. Traffic to an apparently retired version may identify a consumer whose migration was never completed. Each mismatch needs investigation; discovery alone does not establish that an endpoint is malicious or safe to remove.

OWASP API9:2023 identifies outdated inventories and missing retirement plans as security weaknesses. Its guidance includes hosts, versions, environments and data flows to integrated services. That scope matters because an interface can be correctly documented in production while an older or non-production deployment retains access to sensitive data.

Give each API a stable service identity, then distinguish its versions, deployments and operations. A method and path identify an operation; the same path on another hostname or in another environment may have a different owner, data boundary or lifecycle. Preserve those distinctions when normalising discovery results.

Understand what the discovery product cannot see

Cloudflare’s API Discovery documentation describes a map built from qualifying sampled proxied traffic. Its stated appearance criteria include a successful 2xx response and at least 500 requests in a continuous ten-day period, alongside other conditions. It also normalises variable path segments rather than assigning them business meaning.

Those details change how the architect should use the output. A low-volume month-end interface may not meet the discovery threshold. An internal route outside the observed traffic path will need another evidence source. A normalised path still needs someone to explain the service and data behind it. Absence from that map cannot establish absence from the estate.

For each discovery source, record its boundary privately with the inventory: environments covered, traffic path, observation period and relevant filters. Compare those boundaries with deployment records and service ownership. The objective is to know where further evidence is needed, rather than turn one supplier’s endpoint count into an enterprise completeness claim.

Use authorised configuration, logs and discovery methods appropriate to the estate. Do not run intrusive tests against an endpoint simply because it has appeared in a result set. Ownership investigation should establish the responsible team and permitted testing boundary first.

Put a retirement decision inside the record

Consider a hypothetical customer-order API with a replacement version already in production. The application team believes all clients have migrated, but an older hostname remains reachable. The architect finds that the monitoring window covered ordinary trading days while a partner uses the older interface for a monthly reconciliation.

A usable record would connect the old deployment to:

  • The order-service owner who can approve a change and arrange support.
  • The version, environment, hostname and operations being retired.
  • The data handled, authentication route and permitted consumer groups.
  • The known clients, their migration state and the evidence used to identify them.
  • The proposed retirement date, unresolved dependencies and confirmation method.

The partner call changes the plan. Establish how that consumer will move, whether the replacement preserves the required behaviour and who will confirm the result. Choose an observation period that includes the relevant business cycle. A quiet week is weak evidence for a monthly task.

Where exposure requires faster action, the owner may need to restrict access or provide a supported transition route before all consumers migrate. Compare the security consequence of continued operation with the business consequence of interruption. “Deprecated” is a lifecycle label; it does not describe the controls currently protecting a reachable service.

After the approved change, confirm that the old deployment no longer serves the retired operation through the known routes. Check for unexpected client failures and complete any required rollback or remediation. Keep the retirement evidence linked to the service so the next team does not reopen it by restoring an old configuration.

Keep ownership current when the service changes

Make inventory updates part of releasing a new version, adding an environment, changing a data flow and transferring service ownership. Automate discovery and specification ingestion where useful, but require an accountable team to resolve unknown owners and conflicting lifecycle states.

Review mismatches as work items: deployed but undocumented, observed but unowned, or declared retired but still used. Track how long those uncertainties remain unresolved. Increasing the number of discovered endpoints is useful only if the organisation can turn the new evidence into a better decision.

For gaps involving unknown internet-facing hosts and services, connect the inventory to a clearly scoped attack surface management programme. API ownership then becomes part of a wider view of exposure, while retaining the consumer and lifecycle detail needed to retire the right interface safely.

Your next step

Attack surface management: turn discovered assets into owned exposure

Define the wider externally exposed asset-discovery job around the API inventory's remaining gaps.

Read the guide

Keep reading

Related insights

Data & AI · Decision guide

AI inference costs: compare the cost of a useful answer

A lower token price can still produce a higher cost per accepted task. This worked example compares model charges, retries and human review on the same basis.

Enterprise Tech Logic ·

Data & AI · Analysis

When an AI agent is the wrong architecture

Choose between deterministic automation, model-assisted workflows and agents by examining where discretion creates value and where it adds avoidable cost.

Enterprise Tech Logic ·