Application Programming Interface

An Application Programming Interface (API) defines communications between client applications and server software processes.

Machine Learning systems and processes are often accessed via APIs.

API Request specifications define the types and format of API inputs and outputs.

Client Applications and Server Software can be located in the same (local) or separate (remote) hardware systems.

When applications and servers are located in separate hardware systems, the common practice is to use remote access technologies such as:

APIs vs. Functions

APIs and Functions are similar in some ways and different in others:

API Specifications

API Specifications typically include elements such as:

API Processing

API requests are typically processed as illustrated below:

  • Application Processing - programming code that uses APIs to access specifically defined capabilities

  • Client Application - applications that serve defined user requirements

  • Request - data sent in a specific format from a client application to server software, typically including key-value pairs

  • Response - data sent in a specific format from server software to a client application, typically including JSON formatted data

  • Request Handler - programming code that communicates with an application API request send/receive

  • Request Send/Receive - programming code that communicates with a server request handler

  • Server Processing - programming code that performs server functions

  • Server Software - programming code that performs application functions

References