Skip to main content
This guide walks you through making your first API calls to retrieve your profile, list your workspaces, and fetch recordings.

Prerequisites

Make your first API call

1

Get your profile

Verify your API key works by retrieving your user profile:
curl https://api.userplane.io/api/v1/public/me \
  -H "Authorization: Bearer uspl_your_api_key"
const response = await fetch("https://api.userplane.io/api/v1/public/me", {
  headers: { Authorization: "Bearer uspl_your_api_key" },
});
const { data } = await response.json();
console.log(data.user.name);
import requests

response = requests.get(
    "https://api.userplane.io/api/v1/public/me",
    headers={"Authorization": "Bearer uspl_your_api_key"},
)
data = response.json()["data"]
print(data["user"]["name"])
Example response:
{
  "message": "User profile retrieved successfully",
  "data": {
    "user": {
      "id": "user_abc123",
      "name": "Jane Doe",
      "email": "[email protected]",
      "emailVerified": true,
      "image": null,
      "createdAt": "2025-01-15T10:30:00.000Z"
    },
    "stats": {
      "workspaces": 2,
      "recordings": 48,
      "links": 15
    }
  }
}
2

List your workspaces

Retrieve the workspaces you belong to:
curl https://api.userplane.io/api/v1/public/workspaces \
  -H "Authorization: Bearer uspl_your_api_key"
const response = await fetch(
  "https://api.userplane.io/api/v1/public/workspaces",
  { headers: { Authorization: "Bearer uspl_your_api_key" } }
);
const { data } = await response.json();
const workspaceId = data.workspaces[0].workspaceId;
response = requests.get(
    "https://api.userplane.io/api/v1/public/workspaces",
    headers={"Authorization": "Bearer uspl_your_api_key"},
)
workspace_id = response.json()["data"]["workspaces"][0]["workspaceId"]
Note the workspaceId from the response — you’ll need it for workspace-scoped endpoints.
3

List recordings

Fetch recordings from your workspace using the workspaceId from the previous step:
curl https://api.userplane.io/api/v1/public/workspace/ws_abc123/recordings \
  -H "Authorization: Bearer uspl_your_api_key"
const response = await fetch(
  `https://api.userplane.io/api/v1/public/workspace/${workspaceId}/recordings`,
  { headers: { Authorization: "Bearer uspl_your_api_key" } }
);
const { data } = await response.json();
console.log(`Found ${data.pagination.total} recordings`);
response = requests.get(
    f"https://api.userplane.io/api/v1/public/workspace/{workspace_id}/recordings",
    headers={"Authorization": "Bearer uspl_your_api_key"},
)
data = response.json()["data"]
print(f"Found {data['pagination']['total']} recordings")

Next steps

Links

Manage recording links

Recording Resources

Download videos, thumbnails, and logs

Rate Limits

Understand API rate limits

Error Handling

Handle errors gracefully