Skip to main content

Vued Public API, SDK, CLI, And MCP

This is the public-library contract for Vued API consumers.

Documentation Index

Fetch the local documentation index at docs/llms.txt. Use this file to discover all available Vued API pages before exploring further.

For Coding Agents

If you are a coding agent reading this page to help a developer integrate with Vued, read docs/vued-api-guide-for-coding-agents.md first. It is the copyable, self-contained reference optimized for implementation. If you need decrypted meetings, transcripts, or file names, use the local runtime API, Python SDK local methods, or local MCP. Do not build against cloud endpoints for plaintext transcript content. Just want working code? Use docs/vued-api-setup-prompt.md as the ready-to-paste coding-agent prompt, then customize from there.
  • Cloud API: encrypted authority for auth, ACL, metadata, mutations, vectors, signed audio, API keys, and webhooks.
  • Local API: localhost plaintext boundary exposed by Vued Desktop or Vued headless.
  • Python SDK: synchronous wrapper over cloud + local APIs.
  • MCP: local-first tool bridge over the local runtime API.

Install

Development:

Auth

Cloud requests use Authorization: Bearer vued_live_.... Public API keys are scoped to one user and one org, with explicit permissions. Vued first-party apps use signed-in sessions internally to create and manage those keys. Local requests use the bearer token in runtime discovery. The SDK reads it automatically, starts installed headless Vued first when needed, then falls back to opening Vued Desktop on macOS. Discovery order:
  1. VUED_LOCAL_API_URL + VUED_LOCAL_API_TOKEN.
  2. VUED_LOCAL_API_DISCOVERY.
  3. OS app-support local-api.json under Vued Dev, Vued, vued-web, or legacy dev Electron.
Discovery shape:

Common Conventions

Timestamps are ISO UTC strings in public/local responses, for example 2026-06-22T22:00:00.000Z. SDK inputs accept ISO strings, epoch seconds, or epoch milliseconds where timestamp filters are supported. Pagination responses use: Meeting type is: Speaker refs use: Cloud responses add encrypted: true when encrypted fields remain. Unless X-Vued-Allow-Encrypted: true is sent, encrypted JSON responses fail with 424 EncryptedContent. Use the local API/SDK for decrypted names and transcripts.

Cloud Public API

Base URL: https://vued-office-api-dev.onrender.com/v1

Route Map

Cloud Query And Body Parameters

GET /orgs GET /orgs/{org_id}/semantic_search GET /orgs/{org_id}/meetings/{meeting_id}/audio GET /orgs/{org_id}/transcripts/{transcript_id}/audio GET /orgs/{org_id}/files POST /orgs/{org_id}/files PATCH /orgs/{org_id}/files/{file_id} POST /orgs/{org_id}/files/{file_id}/grants GET /orgs/{org_id}/speakers, GET /orgs/{org_id}/rooms, GET /orgs/{org_id}/users POST /orgs/{org_id}/rooms PATCH /orgs/{org_id}/rooms/{room_id} POST /orgs/{org_id}/api-keys POST /orgs/{org_id}/webhooks Each workspace can have up to 5 webhooks. Delete an existing webhook before creating another one. PATCH /orgs/{org_id}/webhooks/{webhook_id} GET /orgs/{org_id}/webhooks/{webhook_id}/deliveries Returns the last 100 delivery records for one webhook, newest first. Requires webhooks:read and an admin/owner role.

Cloud Response Schemas

Org SemanticSearchResult TranscriptChunk AudioUrl File Speaker Room Microphone OrgUser PublicApiKey CreatedPublicApiKey Webhook WebhookDelivery

Cloud Examples

Local Runtime API

Base URL: http://127.0.0.1:<discovered_port> Vued Desktop or Vued headless must be open, signed in, encryption-unlocked, and synced. Responses contain decrypted local cache data.

Route Map

Local Parameters

GET /v1/meetings GET /v1/files uses the same filters as cloud GET /orgs/{org_id}/files, plus decrypted names. POST /v1/search POST /v1/semantic_search

Local Response Schemas

Meeting TranscriptEvent GetMeetingResponse GetTranscriptResponse SearchResult SearchMatch HydratedSemanticSearchResult

Local Examples

Python SDK

Constructor

SDK telemetry logs route shape, status, duration, SDK version/runtime/platform, org, API key, and user metadata when available. It does not send decrypted transcript text, file names, search query text, or local runtime bearer tokens.

Method Map

SDK Examples

For meeting webhooks, summary contains rendered markdown notes: the TLDR blockquote followed by topic sections.

CLI

The package installs one command:
Development:
vued mcp reads MCP JSON-RPC messages from stdio, forwards request/response messages to local POST /mcp, and exits when stdin closes. vued mcp install installs that command into supported AI clients.

MCP

Local MCP

Local MCP is the supported decrypted-content path. Transport:
Direct desktop shim for source-tree development:
The Node shim can wake the desktop app. The headless CLI uses the shared discovery file directly. Useful env vars: MCP protocol methods: MCP tools: Use list_speakers to find a speaker, then pass speaker_id to filter meeting lists, search results, semantic chunks, or returned transcript lines. Tool argument limits:

MCP Install Syntax

Headless setup and vued mcp install write client config for supported apps after the local runtime starts. The installer scans Claude Code CLI, Codex CLI, Codex Desktop, Claude Desktop, and Cursor, shows detected paths, and lets the user install for all targets or selected numbers/ids.
Manual local config:
Remote cloud MCP auth is retired. Treat local MCP as canonical.

Webhooks

Supported event types: Supported payload fields: Webhook payload: Selected payload fields: When audio_metadata.available is true, audio_metadata.url is a short-lived signed download URL and audio_metadata.expires_at is the URL expiration time. The source object preserves the stored audio path, MIME type, duration, and size. When audio is unavailable, reason explains why, for example meeting_recording_no_audio. Delivery policy: Any HTTP 2xx response marks a delivery succeeded. Non-2xx responses, timeouts, invalid URLs, network errors, signing/decryption errors, and expired payloads are failures. Failed attempts retry with exponential backoff and jitter: roughly 30s, 60s, 120s, 240s, 480s, 960s, and 1920s before terminal failure. webhooks.fail_count counts consecutive failed attempts and resets on success. Signature: Verification:

Scope Reference

Last modified on July 1, 2026