Should I use the generic or Analytics API?
Robin's Analytics API is ideal for reporting and monitoring office utilization, providing historical data. For integrating with other office apps or current inventory data, use the generic Robin API.
The Analytics API lets developers retrieve historical workplace data—including desk, space, people, presence, and related exports—and build custom reports with tools like PowerBI, Looker, or Tableau.
How to bring Robin data into your analytics tool
- Use the Analytics API to generate and download CSV data.
- Import the CSV into your data warehouse or BI tool. Examples:
- Connect your data warehouse to your BI tool.
- Explore the data in your BI tool.
Analytics API Reference
Use POST to request data preparation (returns an export ID). Then poll the GET endpoint with the export_id every 10 seconds until data is ready (2xx response). GET returns 404 until ready.
Authentication
See Robin API docs for authentication details and token generation.
Error handling
- 400: Input parameter issues.
- 404: Export not ready.
- 429: Rate limit exceeded (max 30 POSTs per minute).
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. |
desks |
Desk export | Desk assignments, reservations, check-ins, and cancellations. |
presence |
Workplace Presence export | Who indicated they were coming in, with or without a desk, plus detected presence. |
hybrid-work-policy |
Hybrid Work Policy export | Hybrid work policy compliance data. |
people-roster |
People Roster export | Who is using Robin and user attributes (default building, groups, roles, departments, and more). |
spaces |
Space export | 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/desks
Space export:POST https://api.robinpowered.com/v1.0/insights/exports/organizations/123/spaces
Example 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/[:id]
Use the export_id from POST responses. Poll every 10 seconds or more until data is ready (no 4xx errors).