Message structure

Note! The API is mostly complete but breaking changes may still occur!

All messages from the client to server must follow this basic JSON structure:

MessageType: "authRequest", //String of type of message
Payload: {"ClientAuthString": ClientAuthString, "ClientString2": ClientPassword} 
//Payload is a JSON object with a variable number of Key/Values depending on the type of message you are sending
//The only part that must match exactly is obviously the key, the value is just in the examples for context

All clients are required to authenticate to the server via a provided token provided by the server (on first run of the server it generates one automatically), for subsequent key generation the user can generate them from the settings panel.

All messages are caps sensitive.

The first message that the client sends to the server MUST be an "authRequest" message.

Note: I am using the Golang representation of arrays in the docs, so "[]string" means an array of strings.