tl;dv API (v1alpha1)

Introduction

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.

Versioning

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?

Environment & Endpoint

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)

Authentication

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.

Obtaining an API Key

Including the API Key in Requests

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.

Authorization

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.

Support & Feature Requests

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

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 from a URL

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.

Authorizations:
Api Key Authentication
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "url": "string",
  • "happenedAt": "string",
  • "dryRun": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "jobId": "string",
  • "message": "string"
}

Get a list of meeting

Authorizations:
Api Key Authentication
query Parameters
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

Responses

Request samples


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);
});
        

Response samples

Content type
application/json
{
  • "page": 0,
  • "pages": 0,
  • "total": 0,
  • "pageSize": 0,
  • "results": [
    ]
}

Get a meeting by its id

Get a meeting by its id. The meeting is returned in a human readable format

Authorizations:
Api Key Authentication
path Parameters
meetingId
required
string[^\/#\?]+?

Responses

Request samples


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);
});
        

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "happenedAt": "string",
  • "url": "string",
  • "organizer": {
    },
  • "invitees": [
    ]
}

Transcripts

Transcripts related endpoints. With tl;dv you can get the transcript of a meeting, in a structured format.

Get transcript by meeting id

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

Authorizations:
Api Key Authentication
path Parameters
meetingId
required
string[^\/#\?]+?

Responses

Request samples


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);
});
        

Response samples

Content type
application/json
{
  • "id": "string",
  • "meetingId": "string",
  • "data": [
    ]
}

Highlights

Highlights (or notes) related endpoints. With tl;dv you can get the highlights of your meetings.

Get highlights by meeting id

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

Authorizations:
Api Key Authentication
path Parameters
meetingId
required
string[^\/#\?]+?

Responses

Request samples


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);
});
        

Response samples

Content type
application/json
{
  • "meetingId": "string",
  • "data": [
    ]
}