Sync Pro developer API

SeaMeet API Reference

Read synced recordings, transcript sections, AI summaries, share links, signed media URLs, account usage, API keys, and outbound webhooks. Most library operations use one POST endpoint with an op value in the JSON body.

OpenAPI spec

Quickstart

  1. Get credentials

    Sign in to Account, create a personal API key, and send it in the X-Api-Key header. You do not need a Supabase JWT or anon key for API-key calls.

  2. Call the single Sync API endpoint

    Use POST with JSON. The documented /sync-api#delta entries below are reference anchors, not network URLs.

    curl -sS "https://api.seameet.ai/functions/v1/sync-api" \
      -H "X-Api-Key: $SEAMEET_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"op":"delta","since":null}'

    The first successful response looks like this. Empty arrays are normal if the account has no synced recordings yet.

    {
      "assets": [],
      "versions": [],
      "hasMore": false
    }
  3. Fetch the text you need

    Use delta to list assets, then get-sections to read transcript, summary, chapters, action items, notes, or other generated sections for one assetId.

Important: do not call /sync-api#operation-name. Always call the Sync API base URL and put {"op":"operation-name"} in the request body.

Common Tasks

List recent recordings

read key

Call delta with since:null. Store the returned cursor for the next sync.

Read transcript and summary

read key

Call get-sections with assetId. Sections are reveal-cap masked server-side.

Download media

read key

Call download-url or download-urls for short-lived signed GET URLs.

Register webhooks

write key

Call webhook-create with a public HTTPS URL and events like ai.ready.

Verify deliveries

no SeaMeet auth

Check X-SeaMeet-Signature with HMAC-SHA256 over t.rawBody.

Run media/STT jobs

Advanced first-party session only

Media/STT Worker endpoints use the Worker base URL. /v1/file, /v1/gemini-push, and realtime wss://.../v1/stream require first-party session auth today. /v1/health is unauthenticated.

Common Errors

Status Error What to do
401 Missing or invalid auth headers. For public API-key calls, send X-Api-Key. First-party app sessions may use a Supabase bearer token.
403 not_entitled or insufficient key scope. Confirm Sync Pro entitlement and use a write-scoped key for mutations.
404 Asset, share, webhook, or key was not found. Use delta to refresh IDs; do not assume another user's resources are visible.
409 Conflict or media not fully synced. Retry after upload completion, or resolve the conflicting client reference.
413 quota_exceeded or media too large. Check usage, free storage, or fall back to direct upload where documented.

AI Agents and MCP

Use MCP for local app control

Use SeaMeet MCP when an agent should operate the desktop app, local recordings, screenshots, live transcript, summaries, action items, templates, or artifact bundles.

Use the Sync API for cloud integrations

Use this API reference when building server-side integrations over synced recordings, transcript sections, signed media URLs, usage, API keys, and webhooks.

LLM-Friendly Entry Points

One-page implementation brief

/api/llms.txt is optimized for coding agents. It explains auth, base URLs, the single endpoint pattern, common recipes, and the anchor-path trap.

Machine-readable task recipes

/api/tasks.json gives agents compact operation sequences, required headers, request bodies, and verification notes.

Full OpenAPI Reference

The generated reference below is useful for exact schemas. Start with the quickstart above when implementing a client.