API documentation
==================

This document contains the API documentation for brume. This is mostly
for the communication between client and the server.


Authentication mechanism
--------------------------

The server expects the following two headers in every API call.

* x-username
* x-signature

Client <---> Server communication
----------------------------------

This happens over the API calls, using the JSON data.

Uploading ssh keys
###################

::

    data = {'command': 'upload_ssh',
             'keyname': 'keyname',
             'content': 'ssh key file content'}

We will require a keyname (must be unique to the server), and the content of the
ssh key file.

Output::

    {'ouput':res, 'message':msg}

res is a boolean values, the message can give more details, including an error 500 one.