Skip to main content
GET
/
recordings
curl "https://api.bota.dev/v1/recordings?status=completed&limit=10" \
  -H "Authorization: Bearer sk_live_..."
{
  "data": [
    {
      "id": "rec_abc123",
      "device_id": "dev_abc123",
      "end_user_id": "eu_xyz789",
      "name": "Product interview - Jane Doe",
      "status": "completed",
      "duration_ms": 1800000,
      "started_at": "2025-01-15T09:00:00Z",
      "ended_at": "2025-01-15T09:30:00Z",
      "transcription_id": "txn_abc123",
      "media": [
        {
          "id": "med_001",
          "type": "audio",
          "mime_type": "audio/opus",
          "file_size_bytes": 2048576,
          "status": "uploaded",
          "captured_at": "2025-01-15T09:00:00Z",
          "created_at": "2025-01-15T10:00:00Z"
        }
      ],
      "metadata": {
        "meeting_type": "interview"
      },
      "created_at": "2025-01-15T10:00:00Z"
    },
    {
      "id": "rec_def456",
      "device_id": "dev_abc123",
      "end_user_id": "eu_xyz789",
      "name": null,
      "status": "completed",
      "duration_ms": 900000,
      "started_at": "2025-01-14T14:00:00Z",
      "ended_at": "2025-01-14T14:15:00Z",
      "transcription_id": "txn_def456",
      "media": [
        {
          "id": "med_010",
          "type": "audio",
          "mime_type": "audio/opus",
          "file_size_bytes": 1024000,
          "status": "uploaded",
          "captured_at": "2025-01-14T14:00:00Z",
          "created_at": "2025-01-14T15:00:00Z"
        }
      ],
      "metadata": null,
      "created_at": "2025-01-14T15:00:00Z"
    }
  ],
  "has_more": true
}
Retrieve a paginated list of recordings in your project, with optional filters for device, end user, and status.

Authentication

Requires an API key with recordings:read scope.
curl "https://api.bota.dev/v1/recordings?status=completed&limit=10" \
  -H "Authorization: Bearer sk_live_..."

Query Parameters

limit
integer
default:"25"
Maximum number of items to return (1-100).
offset
integer
default:"0"
Number of items to skip for pagination.
device_id
string
Filter recordings by device.
end_user_id
string
Filter recordings by end user.
status
string
Filter by status: pending, uploaded, processing, completed, or failed.

Response

Returns a paginated list of recording objects.
{
  "data": [
    {
      "id": "rec_abc123",
      "device_id": "dev_abc123",
      "end_user_id": "eu_xyz789",
      "name": "Product interview - Jane Doe",
      "status": "completed",
      "duration_ms": 1800000,
      "started_at": "2025-01-15T09:00:00Z",
      "ended_at": "2025-01-15T09:30:00Z",
      "transcription_id": "txn_abc123",
      "media": [
        {
          "id": "med_001",
          "type": "audio",
          "mime_type": "audio/opus",
          "file_size_bytes": 2048576,
          "status": "uploaded",
          "captured_at": "2025-01-15T09:00:00Z",
          "created_at": "2025-01-15T10:00:00Z"
        }
      ],
      "metadata": {
        "meeting_type": "interview"
      },
      "created_at": "2025-01-15T10:00:00Z"
    },
    {
      "id": "rec_def456",
      "device_id": "dev_abc123",
      "end_user_id": "eu_xyz789",
      "name": null,
      "status": "completed",
      "duration_ms": 900000,
      "started_at": "2025-01-14T14:00:00Z",
      "ended_at": "2025-01-14T14:15:00Z",
      "transcription_id": "txn_def456",
      "media": [
        {
          "id": "med_010",
          "type": "audio",
          "mime_type": "audio/opus",
          "file_size_bytes": 1024000,
          "status": "uploaded",
          "captured_at": "2025-01-14T14:00:00Z",
          "created_at": "2025-01-14T15:00:00Z"
        }
      ],
      "metadata": null,
      "created_at": "2025-01-14T15:00:00Z"
    }
  ],
  "has_more": true
}

Response Fields

FieldTypeDescription
dataarrayArray of recording objects.
has_morebooleanWhether there are more results beyond this page.
Each recording object in data contains:
FieldTypeDescription
idstringUnique identifier for the recording (prefixed with rec_).
device_idstringID of the device that captured the recording.
end_user_idstringID of the associated end user.
namestring | nullHuman-readable name for the recording.
statusstringCurrent recording status: pending, uploaded, processing, completed, or failed.
duration_msinteger | nullRecording duration in milliseconds.
started_atstringISO 8601 timestamp of when the recording started.
ended_atstringISO 8601 timestamp of when the recording ended.
transcription_idstring | nullID of the associated transcription.
mediaarrayFiles associated with this recording (audio, images, video).
media[].idstringMedia identifier (med_*).
media[].typestringMedia type: audio, image, or video.
media[].mime_typestringMIME type (e.g., audio/opus, image/jpeg).
media[].file_size_bytesintegerFile size in bytes.
media[].statusstringUpload status: pending, uploaded.
media[].captured_atstring | nullISO 8601 timestamp of when the media was captured.
media[].created_atstringISO 8601 timestamp of when the media record was created.
metadataobject | nullArbitrary key-value metadata.
created_atstringISO 8601 timestamp of when the recording was created.