Getting Started with Nexudus Spaces API


The Nexudus Spaces API allows you to develop Apps and modules that extend the Nexudus Spaces platform. You can implment features that your business may require or even create solutions that can be sold to other Nexudus Spaces customers.

How it works?

The Nexudus Spaces API is implemented as JSON or XML over HTTP using all four verbs (GET/POST/PUT/DELETE). Each resource, like Coworker, Checkin or Booking has its own URL and is manipulated in isolation. In other words, we’ve tried to make the API follow the REST principles as much as possible.

This means that your application must be available on the Internet for users to install it. It can be hosted in any type of server and programmed in any language, as long as it can perform basic HTTP requests.


The API is divided in 7 main areas. You can get details about the resources in each of them by using the menu on the left.

  • Billing: data related to charges from us to your account or from other apps.

  • Community: data related to the community boards.

  • Content: data related to the blog and newsletters.

  • MRM: stands for Member Relationship Management and it relates to functions and data regarding members and the information you store about them.

  • Spaces: data related to a space, like members profiles, bookings or resources.

  • Support: data related to the support feactures, like chats and help messages.

  • System: data related to Nexudus Spaces core services.

Request Rate

The API uses a dynamic throttle which ensures everyone can enjoy the service and no one takes over by making many requests which will slow down responses to other users.

Best practices suggest that you should always throttle any requests to API services. There is a great how-to for you C# devs here: Other languages should use a similar approach.

When you request has been throttled you will receive a message like this:

409: "You must wait before accessing this url again."

The HTTP status you will get back is 409 Conflict.

HTTP/1.1 409 You must wait before accessing this url again.
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
Retry-After: 1
Date: Wed, 21 May 2014 01:54:48 GMT
Content-Length: 0

Consider the following javascript code that takes advantage of the "Retry-After" response header to repeat an API request.

function getContent(id) {
 $.ajax('api/content/article/' + id)
  .success(function(data) {
  .error(function(xhr, textStatus, errorThrown) {
      if (xhr.status == 409) {
          var delay = request.getResponseHeader('Retry-After');
          if (delay) {
              //re-try again in "delay" seconds
              setTimeout('getContent("' + id + '");', delay * 1000);
      } else {
          //handle other errors...

Source: XML ! RSS