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 thePOST /free-busy/spaces
endpoint instead.- Event properties
started_at
andended_at
will be removed some time in the future. Please usestart
andend
instead.- The
?include=amenities
submodel for spaces will be removed some time in the future. Please use?include=space_amenities
instead.
Shared Assigned Desks
Changes for assigned desks
We have replaced Assigned desks with Shared Assigned Desk functionality. As a result,
["assigned"]
desks andassigned
reservation type are replaced with["assigned","shared"]
and["hoteled","shared]"
desk types, andshared
reservation types.More on the Desk (Seat) and Reservation models, and the new /seats/:id/publish-shared-schedule endpoint.
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
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 |
Updated about 2 months ago