Skip to main content

Get Recordings

Retrieves a list of live TV recordings with optional filtering.
curl -X GET "https://your-server/LiveTv/Recordings?limit=50" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Recordings

Authentication

Requires LiveTvAccess policy authorization.

Query Parameters

channelId
string
Filter by channel ID
userId
string (Guid)
Filter by user and attach user data
startIndex
integer
The record index to start at. All items with a lower index will be dropped from the results
limit
integer
The maximum number of records to return
status
string
Filter by recording status: New, InProgress, Completed, Cancelled, ConflictedOk, ConflictedNotOk, Error
isInProgress
boolean
Filter by recordings that are in progress, or not
seriesTimerId
string
Filter by recordings belonging to a series timer
enableImages
boolean
Include image information in output
imageTypeLimit
integer
The max number of images to return, per image type
enableImageTypes
array
The image types to include in the output (comma-delimited)
fields
array
Additional fields of information to return in the output (comma-delimited)
enableUserData
boolean
Include user data
isMovie
boolean
Filter for movies
isSeries
boolean
Filter for series
isKids
boolean
Filter for kids content
isSports
boolean
Filter for sports
isNews
boolean
Filter for news
isLibraryItem
boolean
Filter for is library item
enableTotalRecordCount
boolean
default:"true"
Return total record count

Response

Items
array
Array of recording items
TotalRecordCount
integer
Total number of recordings
StartIndex
integer
Starting index of the returned results

Status Codes

  • 200 - Live TV recordings returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Recording

Retrieves detailed information about a specific live TV recording.
curl -X GET "https://your-server/LiveTv/Recordings/{recordingId}" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Recordings/{recordingId}

Authentication

Requires LiveTvAccess policy authorization.

Path Parameters

recordingId
string (Guid)
required
The recording ID

Query Parameters

userId
string (Guid)
Attach user data for this user

Response

BaseItemDto
object
Detailed recording information including metadata, images, and playback info

Status Codes

  • 200 - Recording returned successfully
  • 404 - Recording not found
  • 401 - Unauthorized
  • 403 - Forbidden

Delete Recording

Deletes a live TV recording.
curl -X DELETE "https://your-server/LiveTv/Recordings/{recordingId}" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
DELETE
endpoint
string
required
/LiveTv/Recordings/{recordingId}

Authentication

Requires LiveTvManagement policy authorization.

Path Parameters

recordingId
string (Guid)
required
The recording ID to delete

Status Codes

  • 204 - Recording deleted successfully
  • 404 - Recording not found
  • 401 - Unauthorized
  • 403 - Forbidden (requires LiveTvManagement policy)

Get Recording Folders

Retrieves the list of recording folders.
curl -X GET "https://your-server/LiveTv/Recordings/Folders" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Recordings/Folders

Authentication

Requires LiveTvAccess policy authorization.

Query Parameters

userId
string (Guid)
Filter by user and attach user data

Response

Items
array
Array of folder items containing recording folders
TotalRecordCount
integer
Total number of folders

Status Codes

  • 200 - Recording folders returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Live Recording Stream

Gets a stream of an active live recording.
curl -X GET "https://your-server/LiveTv/LiveRecordings/{recordingId}/stream" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY" \
  --output recording.ts

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/LiveRecordings/{recordingId}/stream

Path Parameters

recordingId
string
required
The recording ID

Response

Returns a video file stream of the active recording.

Status Codes

  • 200 - Recording stream returned successfully
  • 404 - Recording not found or not active

Get Timers

Retrieves a list of live TV timers (scheduled recordings).
curl -X GET "https://your-server/LiveTv/Timers" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Timers

Authentication

Requires LiveTvAccess policy authorization.

Query Parameters

channelId
string
Filter by channel ID
seriesTimerId
string
Filter by timers belonging to a series timer
isActive
boolean
Filter by timers that are active
isScheduled
boolean
Filter by timers that are scheduled

Response

Items
array
Array of timer information
TotalRecordCount
integer
Total number of timers

Status Codes

  • 200 - Timers returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Timer

Retrieves a specific timer by ID.
curl -X GET "https://your-server/LiveTv/Timers/{timerId}" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Timers/{timerId}

Authentication

Requires LiveTvAccess policy authorization.

Path Parameters

timerId
string
required
The timer ID

Response

TimerInfoDto
object
Detailed timer information

Status Codes

  • 200 - Timer returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Default Timer

Retrieves default values for a new timer, optionally based on a program.
curl -X GET "https://your-server/LiveTv/Timers/Defaults?programId=PROGRAM_ID" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Timers/Defaults

Authentication

Requires LiveTvAccess policy authorization.

Query Parameters

programId
string
Attach default values based on a program

Response

SeriesTimerInfoDto
object
Default timer values

Status Codes

  • 200 - Default values returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Create Timer

Creates a new live TV timer (scheduled recording).
curl -X POST "https://your-server/LiveTv/Timers" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "ChannelId": "channel-id",
    "ProgramId": "program-id",
    "PrePaddingSeconds": 60,
    "PostPaddingSeconds": 300
  }'

Endpoint

method
string
required
POST
endpoint
string
required
/LiveTv/Timers

Authentication

Requires LiveTvManagement policy authorization.

Request Body

ChannelId
string
required
Channel ID to record from
ProgramId
string
required
Program ID to record
PrePaddingSeconds
integer
Seconds to start recording before the program starts
PostPaddingSeconds
integer
Seconds to continue recording after the program ends

Status Codes

  • 204 - Timer created successfully
  • 401 - Unauthorized
  • 403 - Forbidden (requires LiveTvManagement policy)
  • 400 - Bad request

Update Timer

Updates an existing live TV timer.
curl -X POST "https://your-server/LiveTv/Timers/{timerId}" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "Id": "timer-id",
    "PrePaddingSeconds": 120,
    "PostPaddingSeconds": 600
  }'

Endpoint

method
string
required
POST
endpoint
string
required
/LiveTv/Timers/{timerId}

Authentication

Requires LiveTvManagement policy authorization.

Path Parameters

timerId
string
required
The timer ID to update

Request Body

TimerInfoDto object with updated values.

Status Codes

  • 204 - Timer updated successfully
  • 401 - Unauthorized
  • 403 - Forbidden
  • 400 - Bad request

Cancel Timer

Cancels a live TV timer.
curl -X DELETE "https://your-server/LiveTv/Timers/{timerId}" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
DELETE
endpoint
string
required
/LiveTv/Timers/{timerId}

Authentication

Requires LiveTvManagement policy authorization.

Path Parameters

timerId
string
required
The timer ID to cancel

Status Codes

  • 204 - Timer cancelled successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Series Timers

Retrieves a list of series timers (recurring recordings).
curl -X GET "https://your-server/LiveTv/SeriesTimers" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/SeriesTimers

Authentication

Requires LiveTvAccess policy authorization.

Query Parameters

sortBy
string
Sort by SortName or Priority
sortOrder
string
Sort order: Ascending or Descending

Response

Items
array
Array of series timer information
TotalRecordCount
integer
Total number of series timers

Status Codes

  • 200 - Series timers returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Series Timer

Retrieves a specific series timer by ID.
curl -X GET "https://your-server/LiveTv/SeriesTimers/{timerId}" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/SeriesTimers/{timerId}

Authentication

Requires LiveTvAccess policy authorization.

Path Parameters

timerId
string
required
The series timer ID

Response

SeriesTimerInfoDto
object
Detailed series timer information

Status Codes

  • 200 - Series timer returned successfully
  • 404 - Series timer not found
  • 401 - Unauthorized
  • 403 - Forbidden

Create Series Timer

Creates a new series timer (recurring recording).
curl -X POST "https://your-server/LiveTv/SeriesTimers" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "ChannelId": "channel-id",
    "ProgramId": "program-id",
    "RecordAnyChannel": false,
    "RecordAnyTime": false,
    "RecordNewOnly": true
  }'

Endpoint

method
string
required
POST
endpoint
string
required
/LiveTv/SeriesTimers

Authentication

Requires LiveTvManagement policy authorization.

Request Body

SeriesTimerInfoDto object with series timer configuration.

Status Codes

  • 204 - Series timer created successfully
  • 401 - Unauthorized
  • 403 - Forbidden
  • 400 - Bad request

Update Series Timer

Updates an existing series timer.
curl -X POST "https://your-server/LiveTv/SeriesTimers/{timerId}" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "Id": "timer-id",
    "RecordNewOnly": true
  }'

Endpoint

method
string
required
POST
endpoint
string
required
/LiveTv/SeriesTimers/{timerId}

Authentication

Requires LiveTvManagement policy authorization.

Path Parameters

timerId
string
required
The series timer ID to update

Request Body

SeriesTimerInfoDto object with updated values.

Status Codes

  • 204 - Series timer updated successfully
  • 401 - Unauthorized
  • 403 - Forbidden
  • 400 - Bad request

Cancel Series Timer

Cancels a series timer.
curl -X DELETE "https://your-server/LiveTv/SeriesTimers/{timerId}" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
DELETE
endpoint
string
required
/LiveTv/SeriesTimers/{timerId}

Authentication

Requires LiveTvManagement policy authorization.

Path Parameters

timerId
string
required
The series timer ID to cancel

Status Codes

  • 204 - Series timer cancelled successfully
  • 401 - Unauthorized
  • 403 - Forbidden