Analytics API
Important NoteThe Analytics API is different from Robin’s generic API. Our Analytics API can be used to efficiently access historical and exported data, whereas our generic API can be used for other system integrations (like MS Teams).
In this guide, we'll cover how to use the Analytics API, what it can help with and where to find additional support.
Robin's Analytics API enables you to:
- Build custom dashboards with your preferred analytics tool (like PowerBI, Looker or Tableau).
- Schedule and automate reports.
- Easily share insights with the leadership team as they decide on hybrid work strategies.
Analytics API reference
Error handling
| Response code | Reason |
|---|---|
| 400 | Input parameter issues |
| 404 | Export not ready |
| 429 | Request rate exceeds prescribed limit of 30 POSTs per minute |
We reserve the right to make additive changes to the data returned. Existing columns will not be removed, but new ones may be added. Your code should be flexible enough to not fail if additional data is returned.
Authentication
See our API documentation to generate a token for your organization.
Usage
Below, you will find POST and GET methods. You will end up calling both. The POST tells Robin that you would like data prepared for download. This is an asynchronous request and returns an export ID.
Next, call the single shared GET endpoint with the export ID from the POST request. You'll receive 404 responses until the data is ready. Once the data is ready, you'll receive a 20x status and the CSV data in the response. These GET calls should be made at 10-second intervals.
Create export
POST https://api.robinpowered.com/v1.0/insights/exports/organizations/:id/:export_type
Requests an Analytics export for the given organization and time range. Replace :export_type with one of the supported export types below. For more details, see Exporting workplace data.
Export types
| export_type | Export | Description |
|---|---|---|
| activity-summary | Activity Summary | People-first summary of office activity. |
| custom-resources | Custom Resource | Custom resource reservations and check-ins. |
| desks | Desk | Desk assignments, reservations, check-ins, and cancellations. |
| presence | Workplace Presence | Who indicated they were coming in, with or without a desk, plus detected presence. |
| hybrid-work-policy | Hybrid Work Policy | Hybrid work policy compliance data. |
| people-roster | People Roster | Who is using Robin and user attributes (default building, groups, roles, departments, and more). |
| spaces | Space | Scheduled events in Robin spaces, including event metadata. |
Parameters
| Property | Type | Description |
|---|---|---|
| from | ISO 8601 timestamp | Start date (ie 2025-12-05T00:00:00Z) |
| to | ISO 8601 timestamp | End date (ie 2025-12-06T00:00:00Z) |
| location_ids (optional) | Array of integers | List of location IDs (defaults to all) - find IDs via this API call |
Headers
Content-Type: application/json
Example body
{
"from": "2025-12-05T00:00:00Z",
"to": "2025-12-06T00:00:00Z"
}Example requests
Desk export
POST https://api.robinpowered.com/v1.0/insights/exports/organizations/123/desksSpaces export
POST https://api.robinpowered.com/v1.0/insights/exports/organizations/123/spacesExample response
{
"meta": {
"status_code": 202,
"status": "ACCEPTED",
"message": "",
"errors": []
},
"data": {
"export_id": "6239b88d-9cf6-47a9-9dd3-95f3b0fbdba2",
"report_id": "6239b88d-9cf6-47a9-9dd3-95f3b0fbdba2"
}
}Download export
GET https://api.robinpowered.com/v1.0/insights/exports/:idUse the export_id from POST responses. Poll every 10 seconds or more until the data is ready (no 4xx errors).
Updated 2 days ago
