Dashboard APIAPI Overview

API Overview

Access your Research and Desire data programmatically with the REST API

The Research and Desire API lets you access your dashboard data from external applications, scripts, and integrations. Every API request respects your account's permissions — you can only access data you're allowed to see.

API access is an Ultra feature. You need an active Ultra subscription to create API tokens. Learn more about Ultra.

Base URL

All API endpoints are available at:

https://dashboard.researchanddesire.com/api/v1

Key Concepts

How It Works

Create an API token

Go to Settings > API Keys in the dashboard and create a new token. Copy it immediately — it's only shown once.

Make requests

Include your token in the Authorization header of every request.

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://dashboard.researchanddesire.com/api/v1/users

Parse the response

All responses follow a consistent JSON envelope format.

Response Format

Every response uses the same envelope:

Success:

{
  "ok": true,
  "data": { ... }
}

Error:

{
  "ok": false,
  "error": "Human-readable error message"
}

Pagination

List endpoints support pagination via query parameters:

ParameterDefaultMaxDescription
limit50100Number of records to return
offset0-Number of records to skip

Paginated responses wrap the data array with pagination metadata:

{
  "ok": true,
  "data": {
    "data": [ ... ],
    "pagination": {
      "limit": 50,
      "offset": 0
    }
  }
}

Example: fetch the second page of 25 users:

curl -H "Authorization: Bearer YOUR_TOKEN" \
  "https://dashboard.researchanddesire.com/api/v1/users?limit=25&offset=25"

Rate Limiting

Requests are rate limited per API token, at a default of 60 requests per minute. When you exceed the limit, the API responds with 429 and the standard error envelope:

{ "ok": false, "error": "Rate limit exceeded" }

The response includes a Retry-After header giving the number of seconds to wait before retrying.

If you receive a 429, wait for the Retry-After duration before retrying — requests sent before then will keep returning 429 until the window resets.

Permissions and RLS

Your API token inherits the exact same permissions as your dashboard account. This means:

  • You can only see your own devices and devices shared with you via partnerships
  • Lock session actions respect keyholder permissions
  • User queries return only users you have a connection with

Treat your API token like a password. Anyone with your token can access your data. If a token is compromised, revoke it immediately from Settings > API Keys.

On this page