API Reference
Integrations API
Schedules, channels, plugins, auth tokens, templates & bundles, and approvals endpoints.
Cron-based scheduled tasks per workspace.
| Method | Path | Auth | Description |
|---|
| GET | /workspaces/:id/schedules | WorkspaceAuth | List all schedules for a workspace. |
| POST | /workspaces/:id/schedules | WorkspaceAuth | Create a schedule. Body: { "expression": "0 */6 * * *", "timezone": "UTC", "prompt": "...", "enabled": true }. |
| PATCH | /workspaces/:id/schedules/:scheduleId | WorkspaceAuth | Update a schedule (expression, timezone, prompt, enabled). |
| DELETE | /workspaces/:id/schedules/:scheduleId | WorkspaceAuth | Delete a schedule. |
| POST | /workspaces/:id/schedules/:scheduleId/run | WorkspaceAuth | Manually trigger a schedule immediately. |
| GET | /workspaces/:id/schedules/:scheduleId/history | WorkspaceAuth | List past runs for a schedule. Includes status (success, error, skipped) and error_detail. |
Schedule source field: template for org/import-seeded schedules, runtime for Canvas/API-created. The last_status includes skipped when the scheduler concurrency-aware-skips a busy workspace.
Social channel integrations (Telegram, Slack, etc.) for workspace agents.
| Method | Path | Auth | Description |
|---|
| GET | /workspaces/:id/channels | WorkspaceAuth | List channels for a workspace. |
| POST | /workspaces/:id/channels | WorkspaceAuth | Create a channel. Body includes platform type, JSONB config, and allowlist. |
| PATCH | /workspaces/:id/channels/:channelId | WorkspaceAuth | Update a channel's config or allowlist. |
| DELETE | /workspaces/:id/channels/:channelId | WorkspaceAuth | Delete a channel. |
| POST | /workspaces/:id/channels/:channelId/send | WorkspaceAuth | Send an outbound message through the channel. |
| POST | /workspaces/:id/channels/:channelId/test | WorkspaceAuth | Test the channel connection (send a test message). |
| Method | Path | Auth | Description |
|---|
| GET | /channels/adapters | None | List available social platform adapters (Telegram, Slack, etc.). |
| POST | /channels/discover | AdminAuth | Auto-detect available chats/groups for a bot token. |
| POST | /webhooks/:type | None | Incoming webhook endpoint for social platforms. The :type parameter identifies the platform (e.g., telegram, slack). |
Plugin registry and per-workspace plugin management.
| Method | Path | Auth | Description |
|---|
| GET | /plugins | None | List all plugins in the registry. Supports ?runtime= filter to show only compatible plugins. |
| GET | /plugins/sources | None | List registered install-source schemes (e.g., github://, local://). |
| Method | Path | Auth | Description |
|---|
| GET | /workspaces/:id/plugins | WorkspaceAuth | List installed plugins for a workspace. |
| POST | /workspaces/:id/plugins | WorkspaceAuth | Install a plugin. Body: { "source": "github://org/repo" }. Safeguards: 64 KiB body limit, 5 min fetch timeout, 100 MiB max staged-tree. |
| DELETE | /workspaces/:id/plugins/:name | WorkspaceAuth | Uninstall a plugin by name. |
| GET | /workspaces/:id/plugins/available | WorkspaceAuth | List plugins available for this workspace (filtered by workspace runtime). |
| GET | /workspaces/:id/plugins/compatibility | WorkspaceAuth | Preflight runtime-change check. Query: ?runtime=X. Returns which currently-installed plugins would be incompatible with the target runtime. |
Bearer token management for workspaces.
| Method | Path | Auth | Description |
|---|
| GET | /workspaces/:id/tokens | WorkspaceAuth | List active tokens for a workspace (token values are masked). |
| POST | /workspaces/:id/tokens | WorkspaceAuth | Create a new bearer token for the workspace. |
| DELETE | /workspaces/:id/tokens/:tokenId | WorkspaceAuth | Revoke a specific token. |
| Method | Path | Auth | Description |
|---|
| POST | /admin/workspaces/:id/tokens | AdminAuth | Mint a fresh bearer token for a workspace (admin / bootstrap / E2E use). The earlier unauthenticated GET /admin/workspaces/:id/test-token route was removed; minting now requires AdminAuth. |
| Method | Path | Auth | Description |
|---|
| GET | /templates | AdminAuth | List available workspace templates with their runtime, description, and config schema. |
| POST | /templates/import | AdminAuth | Import a workspace template from a github:// source URL. |
| Method | Path | Auth | Description |
|---|
| GET | /org/templates | AdminAuth | List available organization templates. |
| POST | /org/import | AdminAuth | Import an org template. Applies resolveInsideRoot path sanitization. Creates the full workspace hierarchy defined in org.yaml. |
| Method | Path | Auth | Description |
|---|
| GET | /bundles/export/:id | AdminAuth | Export a workspace (or workspace tree) as a portable bundle. Includes config, secrets (keys only), memory, schedules, and hierarchy. |
| POST | /bundles/import | AdminAuth | Import a previously-exported bundle. Recreates the workspace tree with all associated data. |
Human-in-the-loop approval system for agent actions.
| Method | Path | Auth | Description |
|---|
| POST | /workspaces/:id/approvals | WorkspaceAuth | Create an approval request. Body includes the action description, metadata, and options. |
| GET | /workspaces/:id/approvals | WorkspaceAuth | List approval requests for a workspace. |
| POST | /workspaces/:id/approvals/:id/decide | WorkspaceAuth | Approve or reject an approval request. Body: { "decision": "approve" } or { "decision": "reject" }. |
| GET | /approvals/pending | AdminAuth | List all pending approval requests across all workspaces. |