Greetings and welcome to the documentation of the tl;dv API! This API is designed to seamlessly integrate tl;dv functionalities into your applications, making it easier for your users to access transcripts, notes, or import your meetings. Let's explore the details together.
Current API Version: v1alpha1
(v1 Alpha 1).
You are pioneering the tl;dv API, and we're excited to have you on board! Embark with us on the alpha phase adventure! Expect upcoming changes as we sculpt this API masterpiece, evolving towards the stable v1 release. Your invaluable feedback during this period will be our guiding star. Anticipate a slew of updates, and maybe a surprise or two – who said versioning can't be thrilling?
In the tl;dv API universe, we're currently all about that production data. So there is no alternate realities or sandbox
just yet. We're working on it, though, so stay tuned!
Production API Endpoint: https://pasta.tldv.io (brace yourselves, this endpoint may choose to change its pasta shape, but we will keep you updated)
To unlock the tl;dv Public API's treasure trove, you need the key – THE API key - that's it. It's the golden ticket to seamless integration.
Once you have your API key, you can include it in the header of all your API requests.
x-api-key: YOUR_API_KEY
Replace YOUR_API_KEY
with the actual key. If you're using a client library, it should be as simple as setting the header value.
Security is essential – all API requests must be made over HTTPS. No plain HTTP invites, and don't forget your key; requests without it will kindly be refused. The data you can access with the Public API is the same that you can access via the web-app. So if you don't have access to meetings, transcripts or notes via the web-app, the API will politely let you know with a 403 Forbidden response.
Need assistance, have a brilliant idea, or just want to say hello? Our support team is ready and waiting at support@tldv.io. Alternatively, drop by via the Intercom Widget.
Have fun! 🎉
Meetings (or recordings) related endpoints. With tl;dv you can manage your meetings. So far you can only import new ones, but more functionalities are coming soon.
Import a meeting, recording, or other media from a URL. The URL must be publicly accessible, and the media must be in a supported format.
MeetingImportControllerBody
name required | string The name of the meeting/recording imported |
url required | string <url> The url of the meeting/recording imported. Important: the url must be publicly accessible and the media must be in a supported format. Supported formats are: .mp3, .mp4, .wav, .m4a, .mkv, .mov, .avi, .wma, .flac. |
happenedAt | string\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d.... The date of the meeting/recording. If not provided, the current date will be used |
dryRun | boolean For testing purposes: whether to run the import as a dry run. If true, the import will not be persisted to the database, and nothing will be run. |
{- "name": "string",
- "url": "string",
- "happenedAt": "string",
- "dryRun": true
}
{- "success": true,
- "jobId": "string",
- "message": "string"
}
query | string The query to search for |
page | number > 0 The page number to return. Default is 1 |
limit | number > 0 The number of results to return per page. Default is 50 |
string or string The date to search from | |
string or string The date to search to | |
onlyParticipated | boolean Whether to only return meetings the user participated in. Default is false |
meetingType | string Enum: "internal" "external" Filters meetings by type: internal (all participants from the same organization) or external (includes at least one participant from another organization). Defaults to both if not provided |
const axios = require('axios'); let config = { method: 'get', maxBodyLength: Infinity, url: 'https://pasta.tldv.io/v1alpha1/meetings?<query-params>', headers: { 'Content-Type': 'application/json', 'x-api-key': '••••••' } }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
{- "page": 0,
- "pages": 0,
- "total": 0,
- "pageSize": 0,
- "results": [
- {
- "id": "string",
- "name": "string",
- "happenedAt": "string",
- "url": "string",
- "organizer": {
- "name": "string",
- "email": "string"
}, - "invitees": [
- {
- "name": "string",
- "email": "string"
}
]
}
]
}
Get a meeting by its id. The meeting is returned in a human readable format
meetingId required | string[^\/#\?]+? |
const axios = require('axios'); let config = { method: 'get', maxBodyLength: Infinity, url: 'https://pasta.tldv.io/v1alpha1/meetings/653663ac7c8dbd00130f11d9', headers: { 'Content-Type': 'application/json', 'x-api-key': '••••••' } }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
{- "id": "string",
- "name": "string",
- "happenedAt": "string",
- "url": "string",
- "organizer": {
- "name": "string",
- "email": "string"
}, - "invitees": [
- {
- "name": "string",
- "email": "string"
}
]
}
Transcripts related endpoints. With tl;dv you can get the transcript of a meeting, in a structured format.
Get the transcript of a meeting by its id. The transcript is returned in a human readable format. The transcript is returned only if it is complete
meetingId required | string[^\/#\?]+? |
const axios = require('axios'); let config = { method: 'get', maxBodyLength: Infinity, url: 'https://pasta.tldv.io/v1alpha1/meetings/653663ac7c8dbd00130f11d9/transcript', headers: { 'Content-Type': 'application/json', 'x-api-key': '••••••' } }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
{- "id": "string",
- "meetingId": "string",
- "data": [
- {
- "speaker": "string",
- "text": "string",
- "startTime": 0,
- "endTime": 0
}
]
}
Highlights (or notes) related endpoints. With tl;dv you can get the highlights of your meetings.
Get the highlights of a meeting by its id. The highlights are returned in a human readable format. The highlights are returned only if the transcript is complete
meetingId required | string[^\/#\?]+? |
const axios = require('axios'); let config = { method: 'get', maxBodyLength: Infinity, url: 'https://pasta.tldv.io/v1alpha1/meetings/653663ac7c8dbd00130f11d9/highlights', headers: { 'Content-Type': 'application/json', 'x-api-key': '••••••' } }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); });
{- "meetingId": "string",
- "data": [
- {
- "text": "string",
- "startTime": 0,
- "source": "manual",
- "category": {
- "label": "string"
}
}
]
}