List transcripts
curl --request GET \
--url https://api.aircaps.com/v1/transcripts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aircaps.com/v1/transcripts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aircaps.com/v1/transcripts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "list",
"data": [
{
"id": "tr_01k6z3m4q8w7e5r2t1y0u9i8o7",
"object": "transcript",
"status": "completed",
"created_at": "2026-10-06T18:01:02.123Z",
"started_at": "2026-10-06T18:01:02.456Z",
"completed_at": "2026-10-06T18:01:31.789Z",
"audio_url": null,
"file_id": "file_01k6z3m4q8w7e5r2t1y0u9i8o7",
"language_code": "en",
"model": "a5s-async-v1",
"audio_duration": 3600.512,
"metadata": {
"meeting_id": 42
},
"webhook_url": "https://example.com/hooks/aircaps",
"webhook_status_code": 200,
"error": null
}
],
"has_more": true,
"next_before": "tr_01k6z3m4q8w7e5r2t1y0u9i8o7"
}{
"error": {
"type": "invalid_request_error",
"code": "unsupported_language",
"message": "language 'de' is not supported; only English (\"en\", \"en-US\", ...) is available today. Multilingual support is planned.",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}{
"error": {
"type": "authentication_error",
"code": "unauthorized",
"message": "invalid API key",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}{
"error": {
"type": "permission_error",
"code": "account_disabled",
"message": "this account is disabled",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}{
"error": {
"type": "api_error",
"code": "internal_error",
"message": "internal error",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}Transcripts
List transcripts
Your transcripts, newest first. Items omit the result fields (text, speakers, utterances, words).
GET
/
v1
/
transcripts
List transcripts
curl --request GET \
--url https://api.aircaps.com/v1/transcripts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aircaps.com/v1/transcripts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aircaps.com/v1/transcripts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "list",
"data": [
{
"id": "tr_01k6z3m4q8w7e5r2t1y0u9i8o7",
"object": "transcript",
"status": "completed",
"created_at": "2026-10-06T18:01:02.123Z",
"started_at": "2026-10-06T18:01:02.456Z",
"completed_at": "2026-10-06T18:01:31.789Z",
"audio_url": null,
"file_id": "file_01k6z3m4q8w7e5r2t1y0u9i8o7",
"language_code": "en",
"model": "a5s-async-v1",
"audio_duration": 3600.512,
"metadata": {
"meeting_id": 42
},
"webhook_url": "https://example.com/hooks/aircaps",
"webhook_status_code": 200,
"error": null
}
],
"has_more": true,
"next_before": "tr_01k6z3m4q8w7e5r2t1y0u9i8o7"
}{
"error": {
"type": "invalid_request_error",
"code": "unsupported_language",
"message": "language 'de' is not supported; only English (\"en\", \"en-US\", ...) is available today. Multilingual support is planned.",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}{
"error": {
"type": "authentication_error",
"code": "unauthorized",
"message": "invalid API key",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}{
"error": {
"type": "permission_error",
"code": "account_disabled",
"message": "this account is disabled",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}{
"error": {
"type": "api_error",
"code": "internal_error",
"message": "internal error",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}Authorizations
Your API key: Authorization: Bearer aircaps_sk_...
Query Parameters
Number of transcripts to return.
Required range:
1 <= x <= 100Only transcripts with this status.
Available options:
queued, processing, completed, error Pagination cursor: the next_before of the previous page.