Historically, the description of interfaces between systems was the concern of architects and integrators, often reduced to email exchanges with data structure. In the era of SOA and especially microservice architecture, the role of the system analyst in formalizing and supporting integration contracts has significantly increased.
Incorrect, incomplete, or outdated descriptions of API interfaces lead to: service incompatibility, an increase in bugs, and the inability to make changes without cascading disruptions to the entire system. In multi-service projects, the number of integration points can reach dozens or hundreds.
The system analyst applies modern practices:
An important element is maintaining correct versioning and change tracking of contracts, as well as integrating test cases for validating interactions.
Key features:
Should an analyst gather API requirements only from the client and internal developers?
No, it is important to involve all integrated teams and consider the requirements of external partners to avoid gaps or incompatibility.
Can APIs be documented only at the system delivery stage?
No, the API specification is formed and agreed upon even before implementation; otherwise, backward compatibility will be violated at every stage.
Is the OpenAPI specification itself sufficient documentation for all exchange cases?
No, OpenAPI describes structures, but the interaction scenarios (e.g., order of calls, sequence of events, business errors) must be detailed by the analyst in user documentation.
Negative case: The logistics system was integrated with external carriers. The contract was described only "in words". After updates, there were widespread integration failures and delays.
Pros:
Cons:
Positive case: The analyst created an OpenAPI with error/success scenario examples, coordinated versioning, and collected feedback from all teams.
Pros:
Cons: