Skip to main content

Vued API Reference

Self-contained reference with best practices and examples for coding agents.
Canonical references: docs/local-api-sdk-mcp.md, vued-python-sdk/vued/client.py, web-client/electron/main.js, Vued-Agent/server/routers/public_api.py. If this page contradicts source, trust source and report the stale doc.

Overview

Vued has two public access paths: Python SDK: vued.Vued. CLI/MCP: vued mcp starts a stdio MCP proxy to the local runtime /mcp endpoint. vued mcp install installs it into supported AI tools.

Installation

Development:

Minimal Working Example

Set telemetry=False or VUED_TELEMETRY_DISABLED=1 to disable SDK telemetry. 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.

Pick Your Pattern

1. Decrypted retrieval for agents

Use this when an LLM must answer from meeting text.
Rules:
  • Vued headless must be set up, or Vued Desktop must be open and unlocked.
  • The SDK starts installed headless Vued first when a local plaintext method needs it, then falls back to opening Vued Desktop on macOS.
  • Prefer search for exact names, phrases, decisions, and topics.
  • Use semantic_search for fuzzy memory retrieval.
  • Use get_meeting after search/list to fetch full transcript text.

2. Cloud metadata and admin operations

Use this for writes and non-plaintext metadata.
Rules:
  • Standard public API keys are scoped to one org; the SDK resolves that org automatically.
  • Pass org_id only when explicitly using a first-party/session context that can access multiple orgs.
  • Public API keys return secret once.
  • File/folder names may be encrypted in cloud responses; local list_files gives plaintext.

3. Signed audio URLs

Use this when an app needs retained audio.
Rules:
  • URLs are short-lived.
  • Signed audio URLs include a .m4a download filename hint, and the response includes filename and mime.
  • Transcript audio can include offset_secs and suggested_clip_secs.
  • Audio retention is currently one day.

4. Local MCP

Use this when a coding agent should search decrypted Vued memory directly.
MCP tools: Use list_speakers to find a speaker, then pass speaker_id to search, semantic_search, list_meetings, or get_meeting. Do not use remote /mcp unless source adds it. Checked server source currently defines local MCP only.

Authentication

Cloud:
Local runtime:
  1. SDK reads discovery automatically.
  2. Manual callers read local-api.json.
  3. Send Authorization: Bearer <authToken>.
Discovery search:

SDK Methods

Local plaintext: Cloud:

Request Parameters

Common: File sort values:
Webhook events:
Webhook payload fields:
For meetings, summary is the rendered markdown notes body. It starts with the TLDR blockquote and may include topic sections.

Response Schemas

Page:
Meeting:
Transcript event:
Speaker type: File:
Audio URL:

Error Handling

HTTP status meanings:

Common Mistakes

Do not:
  • Use cloud endpoints for decrypted transcript text. Use local search, get_meeting, or get_transcript.
  • Assume local API works before Vued headless/Desktop has signed in, unlocked encryption, and synced local data.
  • Invent GET /v1/meetings on cloud; meeting plaintext list is local-only.
  • Treat automatic meetings as a separate public object type. Public APIs expose them as type: "automatic" meetings.
  • Use remote /mcp; checked source defines local /mcp only.
  • Expect public API key secrets to be recoverable after creation.
  • Pass parent_id=None to update_file unless moving to root. Omit parent_id to keep the parent.
  • Use table names such as ambient_segmentation_candidates in public inputs. Use type="automatic".

Complete Examples

Keyword search then fetch transcript

Semantic search with local hydration

List meetings with pagination

Create a webhook and verify signatures

Each workspace can have up to 5 webhooks. Delete an existing webhook before creating another one.
Webhook deliveries succeed only on HTTP 2xx. Non-2xx responses, timeouts, invalid URLs, network errors, signing/decryption errors, and expired payloads are failures. Failed attempts retry with exponential backoff and jitter for up to 8 attempts or 24 hours by default. Use GET /orgs/{org_id}/webhooks/{webhook_id}/deliveries to inspect the last 100 pending, delivering, succeeded, and terminal failed delivery records. Payload field audio_metadata contains a short-lived signed audio URL when available; its expires_at applies to that URL.

Expose Vued to an OpenAI-style tool loop

Resources

  • Human guide: docs/local-api-sdk-mcp.md
  • Docs index: docs/llms.txt
  • SDK README: vued-python-sdk/README.md
  • Quickstart: vued-python-sdk/examples/quickstart.py
Last modified on July 1, 2026