The acronym B.R.A.X., stands for the Bordom RPC API over XML. It is a specification for a web publishing system delivered over XML-RPC. It can easily be compared to other APIs, such as the MetaWeblogAPI, BloggerAPI, MovableTypeAPI, and others. It is an extended version of these existing APIs.
After examination of the existing APIs, BRAX was developed as an alternative, to achieve a level of flexibility and granularity that the other systems do not offer. BRAX was originally concepted to serve the specific need of providing a common interface for editing bordom.net. The goal of BRAX is to provide a flexible web service API for bordom.net, with the idea that it can and may evolve into a full-fledged, general-purpose web service API for other systems.
The API aims to provide a complete layer between your application and the database on bordom.net. There are many commands available which facilitate the publishing of content on bordom.net.
Below is a simplified diagram illustrating the BRAX layer between your application and bordom.net.
The BRAX API is available at http://www.bordom.net/rpc/. It only accepts HTTP POST transport requests. Before you will be able to communicate with BRAX, you will first need to authenticate with a given username and password.
Access to BRAX
Each client that is designed to communicate with the BRAX API must authenticate itself as a BRAX channel. Many clients may share the same channel - this is expected.
For example, the users of the IRC channel #bor use BraxIRC (an IRC bot module) to communicate with bordom.net. In the future, there will likely be a desktop agent for MacOSX (takers anyone?). Both of these clients are likely utilitizing the same content on bordom.net. Therefore, both of these clients will authenticate using the same BRAX channel.
A channel is term that describes a content supplier. This can be a group of people, or just a single person. These are details that are defined by the BRAX clients. To the BRAX server, it only cares which channel is associated to the content being manipulated.
Channels are authenticated using an HTTP username and password. All XML_RPC invocations will require these credentials be set or a 401 HTTP error will be returned. At this time, access to the BRAX API is private. (See us in efnet #bor)
Note: This is not the same as authenticating users. Identifying users is a separate process which is described in more detail here.
See the Hackers Guide for more information and examples.