A fundamental step when designing any API is to first define what the type is. This is important as it will determine the guiding principles to consider when working on the design.
As described earlier in Chapter 2, Use Case, MRA decided to adopt the Open Modern Software Architecture Project (OMESA.io) as its reference architecture. OMESA, as illustrated in the following diagram, defines two main types of APIs:
The following sections will cover a detailed description of each type.