Workspaces
List, create, update and delete workspaces, and read a workspace's request logs and activity.
A workspace is one website with its connections, team and data. These endpoints need the workspaces scope.
List workspaces
GET /v1/workspacesEvery workspace the caller belongs to. A key bound to one workspace sees only that one.
{
"data": [
{
"id": "8c1f4b2e-1a3d-4c55-9f0e-2b7d6a9c1e40",
"name": "Your Brand",
"slug": "your-brand",
"type": "PERSONAL",
"logo": null,
"website": "https://yourbrand.com",
"timezone": "UTC",
"country": null,
"description": null,
"language": "en",
"created_at": "2026-10-01T09:00:00.000Z",
"updated_at": "2026-10-01T09:00:00.000Z"
}
]
}Create a workspace
POST /v1/workspaces| Field | Required | Notes |
|---|---|---|
name | Yes | 1 to 255 characters |
website | Yes | The website this workspace covers, up to 500 characters |
type | No | One of PERSONAL, TEAM, ORGANIZATION, CLIENT, PROJECT, DEPARTMENT, EVENT, TEMPORARY, COMMUNITY, BRAND, AGENCY. Defaults to PERSONAL |
timezone | No | Defaults to UTC. Sets when email digests go out |
language | No | Defaults to en |
logo, country, description | No | Optional details |
Answers 201 with the workspace in data. A 402 with workspace_limit means the account cannot hold another workspace. A 409 means the slug is already in use.
Get a workspace
GET /v1/workspaces/{id}Update a workspace
PUT /v1/workspaces/{id}Takes any of the fields above. Needs the workspace owner or admin role.
Delete a workspace
DELETE /v1/workspaces/{id}Deletes the workspace. Needs the workspace owner role.
Request logs
GET /v1/logs?workspace_id={id}Recent API requests against one workspace, newest first, with the route, status code, duration and any error message. Rows are kept for 30 days.
| Parameter | Notes |
|---|---|
workspace_id | Required |
days | 1 to 30, default 7 |
status | success or failed |
method, status_code | Filter by HTTP method or status code |
route | An exact route pattern, such as /v1/webhooks/{id} |
q | Matches part of the path or message |
limit | 1 to 200, default 50 |
before | Cursor: rows older than this id |
The response holds the rows in data and, in meta, totals, error counts, buckets over time and has_more.
Activity
GET /v1/activityWhat happened in a workspace, newest first: webhook deliveries, billing, and with kind=security, the audit log of members joining, leaving or changing role or access, and changes to two-step verification, passkeys, single sign-on and signed-in devices. Rows are kept for 90 days; security rows are never pruned.
| Parameter | Notes |
|---|---|
workspace_id | Optional. Omit it to read every workspace the caller belongs to |
kind | webhook, billing or security |
from, to | ISO 8601 date-times |
limit | 1 to 100, default 50 |
cursor | meta.next_cursor from the previous page |
Related documentation
- Overview
Base URL, authentication, scopes, errors and rate limits for the RankDebug API.
- API Keys and Scopes
Create API keys, limit them with scopes and a workspace binding, and keep them safe.
- Search
Search Console performance, top rows, opportunities and sitemaps for a workspace.
- Traffic
Google Analytics landing pages, acquisition and measurement health, and CDN crawler traffic, error paths and firewall rules.
- Deploys
Record deploys from CI, list them, and read one deploy with its site check, crawl and search impact.
- Site Crawls
Read crawls of the workspace website, their findings, and every page of one finding.
- Digests
Read what the latest scheduled digest email for a workspace contained.
- Reports
Read the reports shared with a workspace, their comment threads, and their PDF.