BETA: API & Feeds

Trying it out for jobs on v2023.02.17.1927

RSS feed

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Channels DVR Server</title>
    <link>http://192.168.1.3:8089/admin/browse/jobs?sort=date_added</link>
    <description>Scheduled Jobs</description>

Following <link>http://192.168.1.3:8089/admin/browse/jobs?sort=date_added</link> results in javascript error

Atom feed

<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom">
  <title>Channels DVR Server</title>
  <id>http://192.168.1.3:8089/admin/browse/jobs?sort=date_added</id>
  <updated>2023-02-18T21:25:35-08:00</updated>
  <subtitle>Scheduled Jobs</subtitle>
  <link href="http://192.168.1.3:8089/admin/browse/jobs?sort=date_added"></link>

Following <id>http://192.168.1.3:8089/admin/browse/jobs?sort=date_added</id> results in javascript error
Following <link>http://192.168.1.3:8089/admin/browse/jobs?sort=date_added</link> results in javascript error

In fact going to http://192.168.1.3:8089/admin/browse/jobs results in javascript error

Looks like an excellent start with the API's.

Just looking at one series episode as an example, I see the JSON output for JOBS is missing the following information;
Airing.Categories
Airing.FullSummary
Airing.ProgramID
Airing.SeriesID

Would it be easy to add these?

Haven't looked at Specials, Sports Events or Movies yet.

We don’t really expose that info anywhere, but I think this is a good place to do that.

I’ll look into it for sure.

3 Likes

Thanks, I use those in a lot of my curl/jq scripts and also copy/paste the last three into the MCEBuddy Metadata json files Channels DVR generates for recordings. Hopefully those are in one of the other API's for Library files (I have to check).
Nope, looks like just seriesID (as show_id) appears for Library files.

Another request, this one for Imported content.
This appears in /dvr/files, but not the new API.
Path
which shows where the imported file is on disk.

Thanks for considering it.

Update: Actually would like to see that for all Library file types (since it's already there in /dvr/files)

3 Likes

Ahh, this URL is incorrect, that's why. This has been resolved in the latest pre-release.

Thank you!

Aww shucks!
And I thought it was a new scheduled jobs browser that let you filter by Title or Channel.
Can we get the channel added to the API for Jobs?
/dvr/jobs > .Airing.Channel NOT .Channels

No, this is the format of the public api, please adjust your scripts accordingly.

OK, I'll quit asking for things :smile:

1 Like

Nah, your previous suggestions were great and useful. Keep the feedback coming.

5 Likes

Very cool, this is fun exploring and learning from. For now I just found a little typo:

1 Like

How embarrassing!

1 Like

Fixed. Also fixed the copy buttons.

1 Like

I found from the latest beta that Tablo was not in it I had to use Docker

Nice. I've added upcoming DVR jobs to my calendar (BusyCal) and a feed showing recent DVR imports to my RSS reader (Reeder.) I just had to edit the copied URL to include my server's internal IP address (10.0.1.xx instead of xxxxxxxxxxxx.u.channelsdvr.net) and also change https:// to http:// for these to work. I'll tinker with Home Assistant and other integration ideas next. This is very cool, working great!

Maybe I'm misunderstanding something but if I set the API and Feed Explorer to output JSON and Videos, I this this API:

http://<DVR_IP>:8089/api/v1/videos

I was expecting that it would return the JSON for videos that were added to the Video Sources directories defined in the Local Content section the the settings web UI. What it returns is null ("").

The videos do show up by selecting "All Recordings".
http://<DVR_IP>:8089/api/v1/all

1 Like

Working for me.

Weird. When I drop videos into the directory, Channels sees it and imports it.
My video source path defined in Local Content is something like this:
/volume1/path1/path2/path2/video
Then under the /video directory I have a bunch or group folders that contain the actual video files.
Like:
/video/group1/video1.mp4
/video/group2/video2.mp4
/video/group3/video3.mp4

I don't have any nested folders under the /groupx/ path.

Setting the type to "All Recordings" and right-most pulldown to "Imports" does return all the videos I would expect.