Getting Started

Robin's API gives developers the power to interact with their team's data (locations, spaces, presence, etc.) and build third-party applications to extend Robin's capabilities.

❗️

Deprecations and future breaking changes

  • The GET /free-busy/spaces endpoints will be removed some time in the future. Please use the POST /free-busy/spaces endpoint instead.
  • Event properties started_at and ended_at will be removed some time in the future. Please use start and end instead.
  • The ?include=amenities submodel for spaces will be removed some time in the future. Please use ?include=space_amenities instead.

Base URL

All requests should be made to https://api.robinpowered.com/v1.0. Please note that this may change with future releases of the API.

Authorization

Every API request must contain an Authorization header with a valid access token. You'll need one to get started.

Get your token

👍

At a Hackathon?

You can skip this step and use your event's custom link to generate your token instead. #easy

Log into the web dashboard and generate a new token via your team's integration settings. (Note: You must be an administrator)

Example Authorization header

Authorization: Access-Token {{token}}
# Standard CURL request with authorization header
curl -X GET https://api.robinpowered.com/v1.0/spaces/:id
    -H "Authorization: Access-Token {{token}}"

Response structure

All API responses share a basic JSON structure. The response is always an object with two properties meta and data and a conditional third property, paging.

The examples below show what full responses looks like:

Success

{
  "meta": {
    "status_code": 200,
    "status": "OK",
    "message": "",
    "more_info": {}
  },
  "data": [
    {
      "space_id": 1,
      "user_id": 9,
      "last_seen_at": "2014-05-22T14:49:48+0000",
      "arrived_at": "2014-05-22T14:49:48+0000",
      "session_ttl": 30,
      "session_active": true,
      "user": {
        "id": 1,
        "access_level": 9001,
        "name": "George Jetson",
        "slug": "gjetson",
        "avatar": "",
        "created_at": "2014-05-05T16:06:58+0000",
        "updated_at": "2014-05-05T16:06:58+0000",
        "primary_email": {
          "email": "[email protected]",
          "is_verified": true
        }
      }
    }
  ],
  "paging": {
    "page": 1,
    "per_page": 10
  }
}

Error

{
   "meta":{
      "status_code":400,
      "status":"INVALID_PARAMETERS",
      "message":"The posted data did not pass validation",
      "more_info":{
         "name":[
            "can't be blank"
         ]
      }
   },
   "data":{

   }
}

Common response codes

Success

Response Code

Title

Meaning

200

SUCCESS

The response completed successfully

201

CREATED

The request was a successful and a new resource was created as a result.

Error:

Response Code

Title

Meaning

400

BAD_REQUEST

There was an error in the request parameters. This error is most commonly send when trying to create or modify a resource with invalid attributes.

401

UNAUTHORIZED

The Authorization header is missing or invalid.

403

FORBIDDEN

The authorized entity is not permitted to view or modify a resource.

404

NOT_FOUND

The resource does not exist.

HTTP request methods

Method

Description

GET

Retrieves a resource

POST

Creates a resource

PUT

Creates or replaces a resource

PATCH

Updates an existing resource

DELETE

Removes a resource