Skip to main content

Base URL

All API requests should be made to:
https://app.transcord.app/api/v1

Authentication

Include your API key in the Authorization header:
Authorization: Bearer tr_live_your_api_key
See Authentication for details on getting and managing API keys.

Endpoints

Account

MethodEndpointDescription
GET/v1/meGet current user and subscription info

Recordings

MethodEndpointDescription
GET/v1/recordingsList all recordings
GET/v1/recordings/:idGet a single recording with transcript
DELETE/v1/recordings/:idDelete a recording
GET/v1/recordings/:id/transcriptGet transcript in various formats
GET/v1/recordings/:id/audioGet audio file URL

Response Format

All responses are JSON with consistent structure:

Success Response

{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 100,
    "totalPages": 5,
    "hasMore": true
  }
}

Error Response

{
  "error": "Description of what went wrong"
}

HTTP Status Codes

CodeMeaning
200Success
202Accepted - Resource is still processing
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
403Forbidden - Valid key but no access to resource
404Not Found - Resource doesn’t exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Rate Limits

  • 100 requests per minute per API key
  • Rate limit headers are included in responses:
    • X-RateLimit-Limit: Maximum requests per window
    • X-RateLimit-Remaining: Requests remaining
    • X-RateLimit-Reset: Unix timestamp when limit resets

Pagination

List endpoints support pagination with these parameters:
ParameterTypeDefaultDescription
pageinteger1Page number (1-indexed)
limitinteger20Results per page (max 100)
Response includes pagination info:
{
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 47,
    "totalPages": 3,
    "hasMore": true
  }
}