An integration map shows the path, not just the URL

To understand an integration, listing endpoints is not enough. You need to trace the path from the HTTP request through the handler and business service to the database, external client, queue, or event, and then find the test and configuration that confirm the contract.

`CODEBASE_INVENTORY.md` describes the repository contents, while `API_MAP.md` records the relationships between routes, code, integrations, and the environment.

NodeWhat to check
HTTP routeThe method, path, and entry point
HandlerThe controller or function that accepts the request
Business serviceData transformations and rules
IntegrationThe database, external client, queue, or event
ContractAuthorization, configuration, and the related test

Investigate one critical scenario

  1. Choose checkout, refund, support, or another specific flow.
  2. Find the route and controller.
  3. Follow the path to the service and its dependencies.
  4. Check database writes, external clients, queues, and events.
  5. Find authorization rules and environment variables.
  6. Match the path against the tests.
  7. Record only confirmed relationships and open questions in API_MAP.md.

The structure of `API_MAP.md`

# API_MAP.md

## Client routes
## Support API
## Administration panel API
## External integrations
## Open questions

| Method and path | Handler | Authorization | Integrations | Tests |
| --- | --- | --- | --- | --- |
| POST /api/... | ... | ... | ... | ... |

Integration evidence

  • the controller confirms that the route exists;
  • the service shows the next direction of execution;
  • the configuration reveals environment dependencies;
  • the build file confirms that the library is connected;
  • the test records the expected behavior;
  • a comment may be a clue, but it does not replace checking the code.

The map evolves with the code

After changes to routes, services, or configuration, review the `API_MAP.md` diff. The document should remain short, evidence-based, and synchronized with the implementation rather than becoming a one-off draft.

Canonical lesson source · JavaRush

Open JavaRush material