Skip to main content

Overview

The cloud tRPC API (packages/trpc/src/) provides server-side procedures for user management, organizations, integrations, and cloud sync. Root Router: packages/trpc/src/root.ts:17

Procedure Types

Defined in packages/trpc/src/trpc.ts:33:

publicProcedure

No authentication required.

protectedProcedure

Requires valid session.

adminProcedure

Requires admin email domain (e.g., @superset.sh).

User Router

Source: packages/trpc/src/router/user/

user.get

void
Get current authenticated user
User
Example:

Workspace Router (Cloud)

Source: packages/trpc/src/router/workspace/workspace.ts:16

workspace.ensure

Upsert project and workspace in a transaction.
string
required
Organization UUID
object
required
Project details
object
required
Workspace details
object
string
Created/existing project UUID
string
Created/existing workspace UUID
string
Transaction ID
Example:

workspace.create

string
required
Project UUID
string
required
Organization UUID
string
required
Workspace name
'worktree' | 'main'
required
Workspace type
object
required
Workspace configuration
Returns: Created workspace object

workspace.delete

string
required
Workspace UUID
string
required
Organization UUID (for authorization)
Returns: { success: true }

Integration Router

Source: packages/trpc/src/router/integration/ Supports GitHub, Linear, and Slack integrations.

GitHub Integration

integration.github.listRepos

string
required
Organization UUID
Returns: Array of accessible GitHub repositories

integration.github.createWebhook

string
required
Organization UUID
string
required
Repository owner
string
required
Repository name
string[]
required
Webhook events (e.g., ['push', 'pull_request'])

Linear Integration

integration.linear.listIssues

string
required
Organization UUID
string
Filter by Linear team
Returns: Array of Linear issues

Slack Integration

integration.slack.sendMessage

string
required
Organization UUID
string
required
Slack channel ID
string
required
Message text

Device Router

Source: packages/trpc/src/router/device/ Manage multiple devices for multi-machine workflows.

device.list

string
required
Organization UUID
Returns: Array of registered devices

device.register

string
required
Organization UUID
string
required
Device name
'mac' | 'windows' | 'linux'
required
Operating system
Returns: Created device object with API key

Task Router

Source: packages/trpc/src/router/task/

task.create

string
required
Organization UUID
string
required
Task title
string
Task description
string
User UUID to assign

task.list

string
required
Organization UUID
string
Filter by status
Returns: Array of tasks

Analytics Router

Source: packages/trpc/src/router/analytics/

analytics.track

string
required
Event name
object
Event properties
Example:

Usage Patterns

Client Setup (Next.js)

File: apps/web/src/trpc/react.tsx

Server Setup (Next.js App Router)

File: apps/web/src/trpc/server.tsx

React Component Usage

Server Component Usage (Next.js 15+)

Type Inference

Error Handling

Next Steps

Desktop API

Electron IPC APIs for local operations

MCP Servers

Build custom MCP servers for AI agents