Skip to main content
GET
/
recordings
/
{id}
curl https://api.bota.dev/v1/recordings/rec_abc123 \
  -H "Authorization: Bearer sk_live_..."
{
  "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"
    },
    {
      "id": "med_002",
      "type": "image",
      "mime_type": "image/jpeg",
      "file_size_bytes": 245000,
      "status": "uploaded",
      "captured_at": "2025-01-15T09:05:30Z",
      "created_at": "2025-01-15T10:01:00Z"
    },
    {
      "id": "med_003",
      "type": "image",
      "mime_type": "image/jpeg",
      "file_size_bytes": 312000,
      "status": "uploaded",
      "captured_at": "2025-01-15T09:15:00Z",
      "created_at": "2025-01-15T10:01:00Z"
    }
  ],
  "metadata": {
    "meeting_type": "interview",
    "location": "office"
  },
  "created_at": "2025-01-15T10:00:00Z"
}
Retrieve the details of an existing recording by its unique identifier.

Authentication

Requires an API key with recordings:read scope.
curl https://api.bota.dev/v1/recordings/rec_abc123 \
  -H "Authorization: Bearer sk_live_..."

Path Parameters

id
string
required
The recording’s unique identifier (e.g., rec_abc123).

Response

Returns the recording object.
{
  "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"
    },
    {
      "id": "med_002",
      "type": "image",
      "mime_type": "image/jpeg",
      "file_size_bytes": 245000,
      "status": "uploaded",
      "captured_at": "2025-01-15T09:05:30Z",
      "created_at": "2025-01-15T10:01:00Z"
    },
    {
      "id": "med_003",
      "type": "image",
      "mime_type": "image/jpeg",
      "file_size_bytes": 312000,
      "status": "uploaded",
      "captured_at": "2025-01-15T09:15:00Z",
      "created_at": "2025-01-15T10:01:00Z"
    }
  ],
  "metadata": {
    "meeting_type": "interview",
    "location": "office"
  },
  "created_at": "2025-01-15T10:00:00Z"
}

Response Fields

FieldTypeDescription
idstringUnique identifier for the recording (rec_*).
device_idstringID of the device that captured the recording.
end_user_idstringID of the associated end user.
namestringHuman-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, video/mp4).
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.
metadataobjectArbitrary key-value metadata.
created_atstringISO 8601 timestamp of when the recording was created.