REST endpoints, real-time webhooks, and direct Supabase access. Everything you need to integrate meeting data into your application.
Direct Supabase PostgREST for signed-in users. Filter, sort, paginate with URL parameters.
Serverless endpoints for API-key access, session detail, upload tokens, and webhook delivery.
Real-time HMAC-signed event notifications for session lifecycle, recordings, and transcript completion.
MeetCapture supports two authentication methods. Use API keys for server-to-server Edge Function calls, or JWT tokens for direct Supabase table access from client applications.
Best for server-side integrations. Create API keys in the dashboard. Include as the x-api-key header on MeetCapture Edge Functions.
Best for client-side apps. Authenticate via Supabase Auth, then use the JWT as a Bearer token. RLS policies scope data to the user.
# Authenticate with API key against an Edge Function
curl "https://xrhwfuquudleamotznzx.supabase.co/functions/v1/mc-api-sessions?limit=10" \
-H "x-api-key: mc_live_abc123..."Three common operations to get you started.
curl -s "https://xrhwfuquudleamotznzx.supabase.co/functions/v1/mc-api-sessions?limit=10" \
-H "x-api-key: mc_live_abc123..."curl -s "https://xrhwfuquudleamotznzx.supabase.co/functions/v1/mc-api-sessions?id=SESSION_UUID" \
-H "x-api-key: mc_live_abc123..."# Search for segments containing "roadmap"
curl -s "https://xrhwfuquudleamotznzx.supabase.co/rest/v1/mc_transcript_segments?text=ilike.%25roadmap%25&order=created_at.desc&limit=20" \
-H "apikey: YOUR_ANON_KEY" \
-H "Authorization: Bearer USER_SUPABASE_JWT"API-key endpoints are served by Edge Functions; direct table reads use Supabase PostgREST with JWT auth. Base URL: https://xrhwfuquudleamotznzx.supabase.co
| Method | Path | Description |
|---|---|---|
| GET | /functions/v1/mc-api-sessions | List sessions with API-key or JWT auth |
| GET | /functions/v1/mc-api-sessions?id={session_uuid} | Get one session with recordings, transcript, and segments |
| GET | /rest/v1/mc_sessions | List sessions for a signed-in Supabase user |
| GET | /rest/v1/mc_transcript_segments?session_id=eq.{session_uuid} | Get transcript segments with JWT auth |
| GET | /rest/v1/mc_transcript_segments?text=ilike.%{query}% | Search transcript segments with JWT auth |
| GET | /rest/v1/mc_recordings?session_id=eq.{session_uuid} | Get recording metadata with JWT auth |
| POST | /functions/v1/mc-api-upload-token | Create a scoped signed upload URL for mc-recordings |
| GET | /rest/v1/api_keys | List API keys for the signed-in user |
| POST | /rest/v1/api_keys | Create a new API key |
| DELETE | /rest/v1/api_keys?id=eq.{id} | Revoke an API key |
| GET | /rest/v1/webhook_endpoints | List webhook endpoints for the signed-in user |
| POST | /rest/v1/webhook_endpoints | Create a webhook endpoint |
Since all MeetCapture data lives in Supabase, you can use any official Supabase client library to access it. No custom SDK needed.
@supabase/supabase-jssupabase-pysupabase_fluttersupabase-swiftsupabase-ktRate limits are applied per API key. Exceeding the limit returns a 429 response with a Retry-After header.
Burst limit: 10 req/sec
Burst limit: 100 req/sec
Burst limit: Custom
Receive real-time notifications when meeting events occur. All payloads are signed with HMAC-SHA256 using your webhook secret.
{
"event": "session.started",
"timestamp": "2026-04-05T10:32:45Z",
"data": {
"session_id": "SESSION_UUID",
"platform": "zoom",
"title": "Q4 Planning",
"participants": 4
}
}Get your API key and start building with meeting data in minutes.