API Documentation

This document is intended to give developers help on how to interface to MMO-Mumble programmatically via our REST interface.

Please note that the API is not yet complete - we intend to develop it further as demand requires and time allows.

Overview

MMO-Mumble offers programmatic authenticated access to your Mumble servers via REST. We currently provide access to one resource:

  • servers

Each object has a number of methods associated with it. To make a request, you will need to use both a URI and an appropriate HTTP verb (GET, POST, etc), in conjunction with your API token.

For example, to get a list of your servers in XML format, you would make a request to:

 http://www.mmo-mumble.com/account/servers.xml?token=(your API token)&secret=(your API secret)
 

To get the same list, but in JSON:

 http://www.mmo-mumble.com/account/servers.json?token=(your API token)&secret=(your API secret)
 

Optionally, when using the JSON format, you can specify a callback parameter, so that the response will be wrapped for JSONP.

All requests must be made with your API token and secret.

When making PUT or DELETE requests, if your client library does not support native PUT or DELETE, you may perform a POST, and specify an additional _method=put or _method=delete parameter to the request. This will cause the request to be interpreted as a PUT or DELETE.

API

Server

Get a list of your servers:

 GET /account/servers.(format)?token=(your API token)&secret=(your API secret)
 

Get a single server's details:

 GET /account/servers/(id).(format)?token=(your API token)&secret=(your API secret)
 

Change a single server's configuration value(s).

 PUT /account/servers/(id).(format)
   token=(API token)
   secret=(API secret)
   server[(key)] = value
   server[(key)] = value
   ...
   

Valid keys include:

   allowhtml
   password
   welcometext
   defaultchannel
   textmessagelength
   timeout

Start a server

 PUT /account/servers/(id)/start.(format)
   token=(API token)
   secret=(API secret)

Stop a server

 PUT /account/servers/(id)/stop.(format)
   token=(API token)
   secret=(API secret)
 	

Get a list of all channels on the server, and all active users

 GET /account/servers/(id)/status.(format)?token=(your API token)&secret=(your API secret)
 

Send a message to the whole server

 POST /account/servers/(id)/message.(format)
   message=(your message)
   token=(API token)
   secret=(API secret)

Send a message to a specific channel

 POST /account/servers/(id)/message.(format)
   message=(your message)
   channel_id=(channel_id)
   token=(API token)
   secret=(API secret)