The BAPS3 internal API is the API used for communication between BAPS3 service servers. It is designed to meet the following criteria:
The API is intended to allow separate implementations of single services to be composed into a single logical service, by connecting servers together through the API. Responses and requests not intended for a server with upstream and downstream connections respectively can be forwarded transparently along the API connections;
The API is text-based, and can be inspected by humans using either TCP/IP packet sniffing or connecting directly to services to be inspected;
The API uses a minimalistic line-orientated protocol, in which each line is comprised of one or more words, and uses shell-style word-escaping conventions (as well as C-style backslash escapes). It is relatively simple to implement, requires little to no external dependencies, and is modest in its usage of network bandwidth.
In this section, we discuss the internal API comprehensively, including: