tl;dv API
Access meeting recordings, transcripts, highlights, and AI-generated notes from tl;dv via the REST API.
Official docs:
https://doc.tldv.io/index.html
When to Use
Use this skill when you need to:
- List and retrieve meeting recordings from Zoom, Google Meet, or Microsoft Teams
- Get structured transcripts with speaker identification and timestamps
- Access AI-generated meeting highlights, topics, and summaries
- Download meeting recordings
- Import external meeting recordings into tl;dv
How to Use
All examples below assume you have TLDV_TOKEN set.
Base URL: https://pasta.tldv.io
API version: v1alpha1 (alpha — endpoints may change before stable v1 release).
Authentication uses the x-api-key header (not Bearer).
Health Check
Verify API Connectivity
curl -s "https://pasta.tldv.io/v1alpha1/health" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq .
Meetings
List Meetings
curl -s "https://pasta.tldv.io/v1alpha1/meetings" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '.results[] | {id, name, happenedAt, duration, organizer: .organizer.name}'
List Meetings with Pagination
curl -s "https://pasta.tldv.io/v1alpha1/meetings?page=1&pageSize=10" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '{page, pages, total, meetings: [.results[] | {id, name, happenedAt}]}'
Get Meeting by ID
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '{id, name, happenedAt, duration, url, organizer, invitees}'
Download Meeting Recording
Returns a 302 redirect to a signed download URL (expires after 6 hours). Use -L to follow the redirect, or omit it to inspect the URL:
curl -s -I "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/download" --header "x-api-key: $(printenv TLDV_TOKEN)" | grep -i location
To download the recording directly:
curl -s -L -o /tmp/tldv_recording.mp4 "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/download" --header "x-api-key: $(printenv TLDV_TOKEN)"
Import a Meeting
Write to /tmp/tldv_request.json:
{
"url": "https://example.com/recording.mp4"
}
curl -s -X POST "https://pasta.tldv.io/v1alpha1/meetings/import" --header "x-api-key: $(printenv TLDV_TOKEN)" --header "Content-Type: application/json" -d @/tmp/tldv_request.json | jq .
Transcripts
Get Meeting Transcript
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/transcript" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '.data[] | {speaker, text, startTime, endTime}'
Get Full Transcript as Plain Text
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/transcript" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq -r '.data[] | "\(.speaker): \(.text)"'
Highlights / Notes
Get Meeting Highlights
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/highlights" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '.data[] | {text, startTime, source, topic: .topic.title, summary: .topic.summary}'
Get Topic Summaries Only
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/highlights" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '[.data[] | .topic | select(. != null)] | unique_by(.title) | .[] | {title, summary}'
Guidelines
- Authentication uses the
x-api-keyheader, notAuthorization: Bearer. Every request must include--header "x-api-key: $(printenv TLDV_TOKEN)". - The API is versioned at
v1alpha1. This is an alpha API — endpoints and response formats may change. - All requests must use HTTPS. Plain HTTP requests are rejected.
- API access requires the meeting organizer to have a Pro, Business, or Enterprise plan. Free plan organizers have no API access.
- Meeting IDs are strings. Use
jqto extractidfields from list responses. - Transcripts are only returned when processing is complete. If a meeting was just recorded, the transcript may not be available yet.
- Download URLs from the
/downloadendpoint expire after 6 hours. - Pagination: the meetings list returns
page,pages,total, andpageSizefields. Use?page=Nto navigate pages. - Use
<placeholder>for dynamic IDs that the user must replace (e.g.,<meeting_id>). - Write request bodies to
/tmp/tldv_request.jsonbefore sending.