Skip to end of metadata
Go to start of metadata

GameVox provides developers API access to servers through a REST API. This REST API allows you to:

  • Move users, change badges, change settings -- almost everything you can do from inside the client but remotely. 
  • Allow users to log in with their GameVox account on your website or in your application. 
  • Track GameVox attendance for raids or matches automatically
  • Post updates to your GameVox server when someone gets an achievement in your game (Billy just found Diamonds!)
  • Automatically send tweets to your GameVox server or channel chat
  • Update user badges when a user changes teams or classes inside of your game

 

In order to get access to the API you must have an access token which is covered in more detail in the next section. The GameVox API was designed to be completely explorable through a browser 

Endpoint Reference

Our endpoint documentation is hosted in apiary.io:
http://docs.gamevoxapi.apiary.io/

Getting Started

Option 1: Create a GameVox API Application

If you plan on wanting access to multiple servers – eg: you're creating a viewer script service – then you will want to create an application. When you create an API application, this allows users to visit your website and grant your application the ability to perform actions on their server on their behalf. This is the recommended way to use the API. 

Steps To Create a GameVox API Application

    1. Login to https://account.gamevox.com
    2. Click on "API Applications" under your GameVox username on the left hand side
    3. Give your GameVox Application a name
    4. Enter the Website where users can find or use your application
    5. Add a description to your application, this is just for our internal use and will not be displayed to users
    6. Give the URL that the page will send the user back to once they've authorized your program

Information To Note

Once you've created your GameVox API Application there are some things that you'll want to make note of that you'll need in future steps. You'll want to make note of the "Client ID" and the "Client Secret" as these will be used to authenticate your application.

Option 2: Use a server API Token

Alternatively, you may generate an API Token under "Manage Server" for a given server which will grant full access to the server. 

This token may be used if you want to explore the API without creating an application or if you want to quickly integrate your single server with your website. A server can only have one API token at a time and is not recommended that you give this token out.

Learn more about OAuth 2.0

For more information please check the OAuth 2 website at: http://oauth.net/2/

 

Accessing the API

Now that you have an access token, you may access the API at: https://api.gamevox.com

Note: If you attempt to access over http a 403 Forbidden error will be returned. 

Using your Access Token

Option 1: Authorization Header

The access token can specified in the authorization header:

Authorization: Bearer 7jf6a2BPuLlDLjWjXzmstd2gkxLZRIWgt2WSHxJT

Option 2: access_token query argument

The access token may also be specified in the URL:

https://api.gamevox.com/v1/?access_token=7jf6a2BPuLlDLjWjXzmstd2gkxLZRIWgt2WSHxJT

API Access Errors

If you do not pass the Authorization header or the access_token query parameter, the following error will be returned with a 400 (Bad Request) response code

{
	error: "invalid_request",
	message: "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the "access token" parameter."
}

If the access token you specified is invalid or revoked, a 401(Unauthorized) response code will be returned

{
	error: "access_denied",
	message: "The resource owner or authorization server denied the request."
}

 

Using .NET 4.5 and lower:

If you are getting a .NET exception SocketException 'An existing connection was forcibly closed by the remote host' this means that you'll need to set the security protocol for the RESTful calls. You can do this by: System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;


You must use the TLS1.2 SSL to communicate with our API.

 

  • No labels