====== Application Programming Interface (API) ====== [[dido:99_annexes:annex-b-terms-and-definitions:start|Go up to Terms and Definitions]] ===== Discussion ===== An Application Programming Interface (API) provides an implementation interface through which software components, systems, services, applications, tools, or users request, provide, exchange, or control information or behavior. In the FX Demo [[dido:99_annexes:annex-b-terms-and-definitions:r:reference_architecture|Reference Architecture]], API references usually identify implementation mechanisms that later profiles may select. Logical architecture terms such as [[dido:99_annexes:annex-b-terms-and-definitions:c:communication_endpoint|Communication Endpoint]], [[dido:99_annexes:annex-b-terms-and-definitions:f:financial_node|Node]], [[dido:99_annexes:annex-b-terms-and-definitions:d:data_structure_definition|Data Structure Definition]], and [[dido:99_annexes:annex-b-terms-and-definitions:d:data_structure_instance|Data Structure Instance]] do not prescribe an API. An API can implement, expose, or support a logical communication pattern, but it does not define the logical meaning of the information exchanged. ===== Definition ===== //implementation interface through which software components, systems, services, or applications request, provide, exchange, or control information or behavior// ===== Source ===== Generalised from common software architecture usage and specialized for use in the FX Demo [[dido:99_annexes:annex-b-terms-and-definitions:r:reference_architecture|Reference Architecture]]. ===== Note ===== An API is not a logical [[dido:99_annexes:annex-b-terms-and-definitions:c:communication_endpoint|Communication Endpoint]], [[dido:99_annexes:annex-b-terms-and-definitions:f:financial_node|Node]], data structure, runtime plane, or deployment artifact. An implementation profile may use an API to realize or expose those architectural elements. ===== Example ===== A later implementation profile may use a REST API to expose an FX Release Package, while the logical architecture continues to define the release interaction through the FX Release Package Endpoint.