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/spacesendpoints will be removed some time in the future. Please use thePOST /free-busy/spacesendpoint instead.- Event properties
started_atandended_atwill be removed some time in the future. Please usestartandendinstead.- The
?include=amenitiessubmodel for spaces will be removed some time in the future. Please use?include=space_amenitiesinstead.
Shared Assigned Desks
Changes for assigned desksWe have replaced Assigned desks with Shared Assigned Desk functionality. As a result,
["assigned"]desks andassignedreservation type are replaced with["assigned","shared"]and["hoteled","shared]"desk types, andsharedreservation 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 14 days ago
