Difference between revisions of "DVR Service"

From MythTV Official Wiki
Jump to: navigation, search
(GetUpcoming)
m (Reverted edits by Airdrummer (talk) to last revision by Pvr4me)
(14 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
=What is this?=
 +
See [[Services API]]
 +
 +
 
=Dvr Service API List=
 
=Dvr Service API List=
  
Line 8: Line 12:
 
| align="center"  |<b>Description</b>  
 
| align="center"  |<b>Description</b>  
 
|-  
 
|-  
| [[DVR_Service#GetUpcoming | GetUpcoming]]
+
| [[DVR_Service#GetUpcomingList | GetUpcomingList]]
 
| align="center"  | No
 
| align="center"  | No
 
| Query information on all upcoming programs matching recording rules.
 
| Query information on all upcoming programs matching recording rules.
 
|-  
 
|-  
| style="background:silver" | [[DVR_Service#GetExpiring | GetExpiring]]
+
| style="background:silver" | [[DVR_Service#GetExpiringList | GetExpiringList]]
 
| style="background:silver" align="center" | No
 
| style="background:silver" align="center" | No
 
| style="background:silver" | Query information on recorded programs which are set to expire.
 
| style="background:silver" | Query information on recorded programs which are set to expire.
 
|-  
 
|-  
| [[DVR_Service#GetRecorded | GetRecorded]]
+
| [[DVR_Service#GetRecordedList | GetRecordedList]]
 
| align="center"  | No
 
| align="center"  | No
 
| Query information on all recorded programs.
 
| Query information on all recorded programs.
 
|-  
 
|-  
| style="background:silver" | [[DVR_Service#Encoders | Encoders]]
+
| style="background:silver" | [[DVR_Service#GetRecorded | GetRecorded]]
 
| style="background:silver" align="center" | No
 
| style="background:silver" align="center" | No
| style="background:silver" | Query information on configured capture devices, and their current activity.
+
| style="background:silver" | Query information on a single item from recordings.
 +
|-
 +
| [[DVR_Service#GetConflictList | GetConflictList]]
 +
| align="center" | No
 +
| Query information on upcoming items which will not record due to conflicts.
 +
|-
 +
| style="background:silver" |[[DVR_Service#RemoveRecorded | RemoveRecorded]]
 +
| style="background:silver" align="center" | Yes
 +
| style="background:silver" | Remove a Recording from the database and disk.
 +
|-
 +
| [[DVR_Service#GetEncoderList | GetEncoderList]]
 +
| align="center" | No
 +
| Query information on configured capture devices, and their current activity.
 +
|-
 +
| style="background:silver" |[[DVR_Service#RemoveRecordSchedule | RemoveRecordSchedule]]
 +
| style="background:silver" align="center" | Yes
 +
| style="background:silver" | Remove a Recording rule.
 +
|-
 +
| [[DVR_Service#GetRecordScheduleList | GetRecordScheduleList]]
 +
| align="center" | No
 +
| Query all configured recording rules, and return them in a list.
 +
|-
 +
| style="background:silver" |[[DVR_Service#GetRecordSchedule | GetRecordSchedule]]
 +
| style="background:silver" align="center" | No
 +
| style="background:silver" | Return a single recording rule, by record id.
 +
|-
 +
| [[DVR_Service#EnableRecordSchedule | EnableRecordSchedule]]
 +
| align="center" | Yes
 +
| Enable a recording schedule, by record id.
 +
|-
 +
| style="background:silver" |[[DVR_Service#DisableRecordSchedule | DisableRecordSchedule]]
 +
| style="background:silver" align="center" | Yes
 +
| style="background:silver" | Disable a recording schedule, by record id.
 
|}
 
|}
 
</center>
 
</center>
Line 28: Line 64:
 
=Dvr APIs=
 
=Dvr APIs=
  
==GetUpcoming==
+
==GetUpcomingList==
  
The <span style="color:LimeGreen">GetUpcoming</span> API takes the following arguments:
+
The <span style="color:LimeGreen">GetUpcomingList</span> API takes the following arguments:
  
 
:<span style="color:SteelBlue">StartIndex</Span> ('''Optional''')
 
:<span style="color:SteelBlue">StartIndex</Span> ('''Optional''')
Line 46: Line 82:
 
Example Query:
 
Example Query:
  
<code>http://BackendServerIP:6544/Dvr/GetUpcoming?StartIndex=2&Count=1&ShowAll=true</code>
+
<code>http://BackendServerIP:6544/Dvr/GetUpcomingList?StartIndex=2&Count=1&ShowAll=true</code>
  
 
Example Return:
 
Example Return:
Line 74: Line 110:
 
         <LastModified>2011-09-12T20:02:18</LastModified>
 
         <LastModified>2011-09-12T20:02:18</LastModified>
 
         <ProgramFlags>13643781</ProgramFlags>
 
         <ProgramFlags>13643781</ProgramFlags>
         <Hostname>Holmes</Hostname>
+
         <HostName>Holmes</HostName>
 +
        <FileName></FileName>
 
         <Airdate>2011-09-12</Airdate>
 
         <Airdate>2011-09-12</Airdate>
 
         <Inetref>210841</Inetref>
 
         <Inetref>210841</Inetref>
Line 115: Line 152:
 
             <RecordId>1126</RecordId>
 
             <RecordId>1126</RecordId>
 
             <RecGroup>Default</RecGroup>
 
             <RecGroup>Default</RecGroup>
 +
            <StorageGroup>Default</StorageGroup>
 
             <PlayGroup>Default</PlayGroup>
 
             <PlayGroup>Default</PlayGroup>
 
             <RecType>0</RecType>
 
             <RecType>0</RecType>
Line 126: Line 164:
 
</ProgramList></pre>
 
</ProgramList></pre>
  
==GetExpiring==
+
==GetExpiringList==
  
The <span style="color:LimeGreen">GetExpiring</span> API takes the following arguments:
+
The <span style="color:LimeGreen">GetExpiringList</span> API takes the following arguments:
  
 
:<span style="color:SteelBlue">StartIndex</Span> ('''Optional''')
 
:<span style="color:SteelBlue">StartIndex</Span> ('''Optional''')
Line 140: Line 178:
 
Example Query:
 
Example Query:
  
<code>http://BackendServerIP:6544/Dvr/GetExpiring?StartIndex=2&Count=1</code>
+
<code>http://BackendServerIP:6544/Dvr/GetExpiringList?StartIndex=2&Count=1</code>
  
 
Example Return:
 
Example Return:
Line 168: Line 206:
 
         <LastModified>2011-09-12T20:02:18</LastModified>
 
         <LastModified>2011-09-12T20:02:18</LastModified>
 
         <ProgramFlags>13643781</ProgramFlags>
 
         <ProgramFlags>13643781</ProgramFlags>
         <Hostname>Holmes</Hostname>
+
         <HostName>Holmes</HostName>
 +
        <FileName></FileName>
 
         <Airdate>2011-09-12</Airdate>
 
         <Airdate>2011-09-12</Airdate>
 
         <Inetref>210841</Inetref>
 
         <Inetref>210841</Inetref>
Line 209: Line 248:
 
             <RecordId>1126</RecordId>
 
             <RecordId>1126</RecordId>
 
             <RecGroup>Default</RecGroup>
 
             <RecGroup>Default</RecGroup>
 +
            <StorageGroup>Default</StorageGroup>
 
             <PlayGroup>Default</PlayGroup>
 
             <PlayGroup>Default</PlayGroup>
 
             <RecType>0</RecType>
 
             <RecType>0</RecType>
Line 220: Line 260:
 
</ProgramList></pre>
 
</ProgramList></pre>
  
==GetRecorded==
+
==GetRecordedList==
  
The <span style="color:LimeGreen">GetRecorded</span> API takes the following arguments:
+
The <span style="color:LimeGreen">GetRecordedList</span> API takes the following arguments:
  
 
:<span style="color:SteelBlue">StartIndex</Span> ('''Optional''')
 
:<span style="color:SteelBlue">StartIndex</Span> ('''Optional''')
Line 238: Line 278:
 
Example Query:
 
Example Query:
  
<code>http://BackendServerIP:6544/Dvr/GetRecorded?StartIndex=2&Count=1&Descending=true</code>
+
<code>http://BackendServerIP:6544/Dvr/GetRecordedList?StartIndex=2&Count=1&Descending=true</code>
  
 
Example Return:
 
Example Return:
Line 266: Line 306:
 
         <LastModified>2011-09-12T20:02:18</LastModified>
 
         <LastModified>2011-09-12T20:02:18</LastModified>
 
         <ProgramFlags>13643781</ProgramFlags>
 
         <ProgramFlags>13643781</ProgramFlags>
         <Hostname>Holmes</Hostname>
+
         <HostName>Holmes</HostName>
 +
        <FileName>1234_2011111111T09:00:00</FileName>
 
         <Airdate>2011-09-12</Airdate>
 
         <Airdate>2011-09-12</Airdate>
 
         <Inetref>210841</Inetref>
 
         <Inetref>210841</Inetref>
Line 307: Line 348:
 
             <RecordId>1126</RecordId>
 
             <RecordId>1126</RecordId>
 
             <RecGroup>Default</RecGroup>
 
             <RecGroup>Default</RecGroup>
 +
            <StorageGroup>Default</StorageGroup>
 
             <PlayGroup>Default</PlayGroup>
 
             <PlayGroup>Default</PlayGroup>
 
             <RecType>0</RecType>
 
             <RecType>0</RecType>
Line 318: Line 360:
 
</ProgramList></pre>
 
</ProgramList></pre>
  
==Encoders==
+
==GetRecorded==
 +
 
 +
The <span style="color:LimeGreen">GetRecorded</span> API takes the following arguments:
 +
 
 +
:<span style="color:SteelBlue">ChanId</Span> ('''Required''')
 +
:: '''Parameter Type:''' Integer
 +
:: The database channel id for the guide item.
 +
 
 +
:<span style="color:SteelBlue">StartTime</Span> ('''Required''')
 +
:: '''Parameter Type:''' String
 +
:: The recording start time for the item.  This should be in MySQL ISO format, eg: 2011-08-29 18:59:00.  You can replace the space with %20 or T.
 +
 
 +
Example Query:
 +
 
 +
<code>http://BackendServerIP:6544/Dvr/GetRecorded?StartTime=2011-10-03T19:00:00&ChanId=2066</code>
 +
 
 +
Example Return:
 +
 
 +
<pre>
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<Program version="1.1" serializerVersion="1.1">
 +
    <StartTime>2011-10-03T19:00:00</StartTime>
 +
    <EndTime>2011-10-03T20:00:00</EndTime>
 +
    <Title>Little House on the Prairie</Title>
 +
    <SubTitle>Make a Joyful Noise</SubTitle>
 +
    <Category>Drama</Category>
 +
    <CatType>series</CatType>
 +
    <Repeat>true</Repeat>
 +
    <SeriesId>EP00002633</SeriesId>
 +
    <ProgramId>EP000026330155</ProgramId>
 +
    <Stars>0</Stars>
 +
    <FileSize>0</FileSize>
 +
    <LastModified>2011-10-03T19:00:00</LastModified>
 +
    <ProgramFlags>4096</ProgramFlags>
 +
    <HostName></HostName>
 +
    <FileName>1234_2011111111T09:00:00</FileName>
 +
    <Airdate>1981-01-26</Airdate>
 +
    Joe Kagan works up the courage to court Hester Sue, and learns she plans to marry an undertaker (Mel Stewart).
 +
    <Inetref></Inetref>
 +
    <Season>0</Season>
 +
    <Episode>0</Episode>
 +
    <Channel>
 +
        <ChanId>2066</ChanId>
 +
        <ChanNum>185</ChanNum>
 +
        <CallSign>HLMRK</CallSign>
 +
        <IconURL></IconURL>
 +
        <ChannelName>Hallmark Channel (Pacific)</ChannelName>
 +
        <MplexId>0</MplexId>
 +
        <TransportId>0</TransportId>
 +
        <ServiceId>0</ServiceId>
 +
        <NetworkId>0</NetworkId>
 +
        <ATSCMajorChan>0</ATSCMajorChan>
 +
        <ATSCMinorChan>0</ATSCMinorChan>
 +
        <Format></Format>
 +
        <Modulation></Modulation>
 +
        <Frequency>0</Frequency>
 +
        <FrequencyId></FrequencyId>
 +
        <FrequencyTable></FrequencyTable>
 +
        <FineTune>0</FineTune>
 +
        <SIStandard></SIStandard>
 +
        <ChanFilters></ChanFilters>
 +
        <SourceId>0</SourceId>
 +
        <InputId>0</InputId>
 +
        <CommFree>0</CommFree>
 +
        <UseEIT>false</UseEIT>
 +
        <Visible>false</Visible>
 +
        <XMLTVID></XMLTVID>
 +
        <DefaultAuth></DefaultAuth>
 +
        <Programs/>
 +
    </Channel>
 +
    <Recording>
 +
        <Status>0</Status>
 +
        <Priority>0</Priority>
 +
        <StartTs></StartTs>
 +
        <EndTs></EndTs>
 +
        <RecordId>0</RecordId>
 +
        <RecGroup></RecGroup>
 +
        <StorageGroup>Default</StorageGroup>
 +
        <PlayGroup></PlayGroup>
 +
        <RecType>0</RecType>
 +
        <DupInType>1</DupInType>
 +
        <DupMethod>1</DupMethod>
 +
        <EncoderId>0</EncoderId>
 +
        <Profile></Profile>
 +
    </Recording>
 +
</Program>
 +
</pre>
 +
 
 +
==GetConflictList==
 +
 
 +
The <span style="color:LimeGreen">GetConflictList</span> API takes the following arguments:
 +
 
 +
:<span style="color:SteelBlue">StartIndex</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The numerical starting index in the list of Conflicting programs.
 +
 
 +
:<span style="color:SteelBlue">Count</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The number of items to return in the result.
 +
 
 +
Example Query:
 +
 
 +
<code>http://BackendServerIP:6544/Dvr/GetConflictList?StartIndex=0</code>
 +
 
 +
Example Return:
 +
 
 +
<pre>
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<Program version="1.1" serializerVersion="1.1">
 +
    <StartTime>2011-10-03T19:00:00</StartTime>
 +
    <EndTime>2011-10-03T20:00:00</EndTime>
 +
    <Title>Little House on the Prairie</Title>
 +
    <SubTitle>Make a Joyful Noise</SubTitle>
 +
    <Category>Drama</Category>
 +
    <CatType>series</CatType>
 +
    <Repeat>true</Repeat>
 +
    <SeriesId>EP00002633</SeriesId>
 +
    <ProgramId>EP000026330155</ProgramId>
 +
    <Stars>0</Stars>
 +
    <FileSize>0</FileSize>
 +
    <LastModified>2011-10-03T19:00:00</LastModified>
 +
    <ProgramFlags>4096</ProgramFlags>
 +
    <HostName></HostName>
 +
    <FileName></FileName>
 +
    <Airdate>1981-01-26</Airdate>
 +
    Joe Kagan works up the courage to court Hester Sue, and learns she plans to marry an undertaker (Mel Stewart).
 +
    <Inetref></Inetref>
 +
    <Season>0</Season>
 +
    <Episode>0</Episode>
 +
    <Channel>
 +
        <ChanId>2066</ChanId>
 +
        <ChanNum>185</ChanNum>
 +
        <CallSign>HLMRK</CallSign>
 +
        <IconURL></IconURL>
 +
        <ChannelName>Hallmark Channel (Pacific)</ChannelName>
 +
        <MplexId>0</MplexId>
 +
        <TransportId>0</TransportId>
 +
        <ServiceId>0</ServiceId>
 +
        <NetworkId>0</NetworkId>
 +
        <ATSCMajorChan>0</ATSCMajorChan>
 +
        <ATSCMinorChan>0</ATSCMinorChan>
 +
        <Format></Format>
 +
        <Modulation></Modulation>
 +
        <Frequency>0</Frequency>
 +
        <FrequencyId></FrequencyId>
 +
        <FrequencyTable></FrequencyTable>
 +
        <FineTune>0</FineTune>
 +
        <SIStandard></SIStandard>
 +
        <ChanFilters></ChanFilters>
 +
        <SourceId>0</SourceId>
 +
        <InputId>0</InputId>
 +
        <CommFree>0</CommFree>
 +
        <UseEIT>false</UseEIT>
 +
        <Visible>false</Visible>
 +
        <XMLTVID></XMLTVID>
 +
        <DefaultAuth></DefaultAuth>
 +
        <Programs/>
 +
    </Channel>
 +
    <Recording>
 +
        <Status>0</Status>
 +
        <Priority>0</Priority>
 +
        <StartTs></StartTs>
 +
        <EndTs></EndTs>
 +
        <RecordId>0</RecordId>
 +
        <RecGroup></RecGroup>
 +
        <StorageGroup>Default</StorageGroup>
 +
        <PlayGroup></PlayGroup>
 +
        <RecType>0</RecType>
 +
        <DupInType>1</DupInType>
 +
        <DupMethod>1</DupMethod>
 +
        <EncoderId>0</EncoderId>
 +
        <Profile></Profile>
 +
    </Recording>
 +
</Program>
 +
</pre>
 +
 
 +
==GetEncoderList==
  
The <span style="color:LimeGreen">Encoders</span> API takes no arguments.
+
The <span style="color:LimeGreen">GetEncoderList</span> API takes no arguments.
  
 
Example Query:
 
Example Query:
  
<code>http://BackendServerIP:6544/Dvr/Encoders</code>
+
<code>http://BackendServerIP:6544/Dvr/GetEncoderList</code>
  
 
Example Return:
 
Example Return:
Line 354: Line 572:
 
             <LastModified></LastModified>
 
             <LastModified></LastModified>
 
             <ProgramFlags>0</ProgramFlags>
 
             <ProgramFlags>0</ProgramFlags>
             <Hostname></Hostname>
+
             <HostName></HostName>
 
             <Airdate></Airdate>
 
             <Airdate></Airdate>
 
             <Inetref></Inetref>
 
             <Inetref></Inetref>
Line 395: Line 613:
 
                 <RecordId>0</RecordId>
 
                 <RecordId>0</RecordId>
 
                 <RecGroup></RecGroup>
 
                 <RecGroup></RecGroup>
 +
                <StorageGroup>Default</StorageGroup>
 
                 <PlayGroup></PlayGroup>
 
                 <PlayGroup></PlayGroup>
 
                 <RecType>0</RecType>
 
                 <RecType>0</RecType>
Line 407: Line 626:
 
</EncoderList>
 
</EncoderList>
 
</pre>
 
</pre>
 +
 +
==RemoveRecordSchedule==
 +
 +
The <span style="color:LimeGreen">RemoveRecordSchedule</span> API takes the following arguments:
 +
 +
:<span style="color:SteelBlue">RecordId</Span> ('''Required''')
 +
:: '''Parameter Type:''' Integer
 +
:: The database id of the recording rule to be removed.
 +
 +
Example Query:
 +
 +
<code>http://BackendServerIP:6544/Dvr/RemoveRecordSchedule?RecordId=106</code>
 +
 +
Example Return:
 +
 +
Returns a boolean value.  True if the file was successfully removed, false if the removal failed for any reason.
 +
 +
<pre>
 +
<bool>true</bool>
 +
</pre>
 +
 +
==GetRecordScheduleList==
 +
 +
The <span style="color:LimeGreen">GetRecordScheduleList</span> API takes the following arguments:
 +
 +
:<span style="color:SteelBlue">StartIndex</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The numerical starting index in the list of recording rules.
 +
 +
:<span style="color:SteelBlue">Count</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The number of items to return in the result.
 +
 +
Example Query:
 +
 +
<code>http://BackendServerIP:6544/Dvr/GetRecordScheduleList?StartIndex=0&Count=1</code>
 +
 +
Example Return:
 +
 +
<pre>
 +
<RecRuleList version="1.0" serializerVersion="1.1">
 +
    <StartIndex>0</StartIndex>
 +
    <Count>63</Count>
 +
    <TotalAvailable>63</TotalAvailable>
 +
    <AsOf>2011-11-09T19:22:03</AsOf>
 +
    <Version>0.25.20111102-1</Version>
 +
    <ProtoVer>69</ProtoVer>
 +
    <RecRules>
 +
        <RecRule>
 +
            <Id>1126</Id>
 +
            <ParentId>0</ParentId>
 +
            <Inactive>false</Inactive>
 +
            <Title>Alphas</Title>
 +
            <SubTitle/>
 +
            <Season>1</Season>
 +
            <Episode>1</Episode>
 +
            <Category>Drama</Category>
 +
            <StartTime>2011-11-09T00:00:00</StartTime>
 +
            <EndTime>2011-11-09T00:00:00</EndTime>
 +
            <SeriesId>EP01410873</SeriesId>
 +
            <ProgramId>EP014108730001</ProgramId>
 +
            <Inetref>210841</Inetref>
 +
            <ChanId>3736</ChanId>
 +
            <CallSign>SYFYHD</CallSign>
 +
            <Day>4</Day>
 +
            <Time>22:00:00</Time>
 +
            <FindId>734696</FindId>
 +
            <Type>3</Type>
 +
            <SearchType>0</SearchType>
 +
            <RecPriority>1</RecPriority>
 +
            <PreferredInput>0</PreferredInput>
 +
            <StartOffset>0</StartOffset>
 +
            <EndOffset>0</EndOffset>
 +
            <DupMethod>6</DupMethod>
 +
            <DupIn>15</DupIn>
 +
            <Filter>0</Filter>
 +
            <RecProfile>Default</RecProfile>
 +
            <RecGroup>Default</RecGroup>
 +
            <StorageGroup>Default</StorageGroup>
 +
            <PlayGroup>Default</PlayGroup>
 +
            <AutoExpire>true</AutoExpire>
 +
            <MaxEpisodes>0</MaxEpisodes>
 +
            <MaxNewest>false</MaxNewest>
 +
            <AutoCommflag>true</AutoCommflag>
 +
            <AutoTranscode>false</AutoTranscode>
 +
            <AutoMetaLookup>true</AutoMetaLookup>
 +
            <AutoUserJob1>false</AutoUserJob1>
 +
            <AutoUserJob2>false</AutoUserJob2>
 +
            <AutoUserJob3>false</AutoUserJob3>
 +
            <AutoUserJob4>false</AutoUserJob4>
 +
            <Transcoder>0</Transcoder>
 +
            <NextRecording/>
 +
            <LastRecorded>2011-09-26T18:59:59</LastRecorded>
 +
            <LastDeleted>2011-10-31T17:41:57</LastDeleted>
 +
            <AverageDelay>0</AverageDelay>
 +
        </RecRule>
 +
    </RecRules>
 +
</RecRuleList>
 +
</pre>
 +
 +
==GetRecordSchedule==
 +
 +
The <span style="color:LimeGreen">GetRecordSchedule</span> API takes the following arguments:
 +
 +
:<span style="color:SteelBlue">RecordId</Span> ('''Required''')
 +
:: '''Parameter Type:''' Integer
 +
:: The Recording rule ID for the rule to be looked up.
 +
 +
Example Query:
 +
 +
<code>http://BackendServerIP:6544/Dvr/GetRecordSchedule?RecordId=1234</code>
 +
 +
Example Return:
 +
 +
<pre>
 +
<RecRule version="1.0" serializerVersion="1.1">
 +
    <Id>1126</Id>
 +
    <ParentId>0</ParentId>
 +
    <Inactive>false</Inactive>
 +
    <Title>Alphas</Title>
 +
    <SubTitle/>
 +
    <Season>1</Season>
 +
    <Episode>1</Episode>
 +
    <Category>Drama</Category>
 +
    <StartTime>2011-11-09T00:00:00</StartTime>
 +
    <EndTime>2011-11-09T00:00:00</EndTime>
 +
    <SeriesId>EP01410873</SeriesId>
 +
    <ProgramId>EP014108730001</ProgramId>
 +
    <Inetref>210841</Inetref>
 +
    <ChanId>3736</ChanId>
 +
    <CallSign>SYFYHD</CallSign>
 +
    <Day>4</Day>
 +
    <Time>22:00:00</Time>
 +
    <FindId>734696</FindId>
 +
    <Type>3</Type>
 +
    <SearchType>0</SearchType>
 +
    <RecPriority>1</RecPriority>
 +
    <PreferredInput>0</PreferredInput>
 +
    <StartOffset>0</StartOffset>
 +
    <EndOffset>0</EndOffset>
 +
    <DupMethod>6</DupMethod>
 +
    <DupIn>15</DupIn>
 +
    <Filter>0</Filter>
 +
    <RecProfile>Default</RecProfile>
 +
    <RecGroup>Default</RecGroup>
 +
    <StorageGroup>Default</StorageGroup>
 +
    <PlayGroup>Default</PlayGroup>
 +
    <AutoExpire>true</AutoExpire>
 +
    <MaxEpisodes>0</MaxEpisodes>
 +
    <MaxNewest>false</MaxNewest>
 +
    <AutoCommflag>true</AutoCommflag>
 +
    <AutoTranscode>false</AutoTranscode>
 +
    <AutoMetaLookup>true</AutoMetaLookup>
 +
    <AutoUserJob1>false</AutoUserJob1>
 +
    <AutoUserJob2>false</AutoUserJob2>
 +
    <AutoUserJob3>false</AutoUserJob3>
 +
    <AutoUserJob4>false</AutoUserJob4>
 +
    <Transcoder>0</Transcoder>
 +
    <NextRecording/>
 +
    <LastRecorded>2011-09-26T18:59:59</LastRecorded>
 +
    <LastDeleted>2011-10-31T17:41:57</LastDeleted>
 +
    <AverageDelay>0</AverageDelay>
 +
</RecRule>
 +
</pre>
 +
==EnableRecordSchedule==
 +
 +
The <span style="color:LimeGreen">EnableRecordSchedule</span> API takes the following arguments:
 +
 +
:<span style="color:SteelBlue">RecordId</Span> ('''Required''')
 +
:: '''Parameter Type:''' Integer
 +
:: The database id of the recording rule to be enabled.
 +
 +
Example Query:
 +
 +
<code>http://BackendServerIP:6544/Dvr/EnableRecordSchedule?RecordId=106</code>
 +
 +
Example Return:
 +
 +
Returns a boolean value.  True if the file was successfully removed, false if the removal failed for any reason.
 +
 +
<pre>
 +
<bool>true</bool>
 +
</pre>
 +
 +
==DisableRecordSchedule==
 +
 +
The <span style="color:LimeGreen">DisableRecordSchedule</span> API takes the following arguments:
 +
 +
:<span style="color:SteelBlue">RecordId</Span> ('''Required''')
 +
:: '''Parameter Type:''' Integer
 +
:: The database id of the recording rule to be removed.
 +
 +
Example Query:
 +
 +
<code>http://BackendServerIP:6544/Dvr/DisableRecordSchedule?RecordId=106</code>
 +
 +
Example Return:
 +
 +
Returns a boolean value.  True if the file was successfully removed, false if the removal failed for any reason.
 +
 +
<pre>
 +
<bool>true</bool>
 +
</pre>
 +
 +
[[Category:Services_API]]

Revision as of 19:13, 19 November 2013

What is this?

See Services API


Dvr Service API List

API Command POST Required? Description
GetUpcomingList No Query information on all upcoming programs matching recording rules.
GetExpiringList No Query information on recorded programs which are set to expire.
GetRecordedList No Query information on all recorded programs.
GetRecorded No Query information on a single item from recordings.
GetConflictList No Query information on upcoming items which will not record due to conflicts.
RemoveRecorded Yes Remove a Recording from the database and disk.
GetEncoderList No Query information on configured capture devices, and their current activity.
RemoveRecordSchedule Yes Remove a Recording rule.
GetRecordScheduleList No Query all configured recording rules, and return them in a list.
GetRecordSchedule No Return a single recording rule, by record id.
EnableRecordSchedule Yes Enable a recording schedule, by record id.
DisableRecordSchedule Yes Disable a recording schedule, by record id.

Dvr APIs

GetUpcomingList

The GetUpcomingList API takes the following arguments:

StartIndex (Optional)
Parameter Type: Integer
The numerical starting index in the list of upcoming programs.
Count (Optional)
Parameter Type: Integer
The number of items to return in the result.
ShowAll (Optional)
Parameter Type: Boolean
Show all items which match recording rules, regardless of whether or not they will record (conflicts, previously recorded, etc.).

Example Query:

http://BackendServerIP:6544/Dvr/GetUpcomingList?StartIndex=2&Count=1&ShowAll=true

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<ProgramList version="1.0" serializerVersion="1.1">
<StartIndex>2</StartIndex>
<Count>1</Count>
<TotalAvailable>15</TotalAvailable>
<AsOf>2011-10-02T16:09:52</AsOf>
<Version>0.25.20110928-1</Version>
<ProtoVer>69</ProtoVer>
<Programs>
    <Program>
        <StartTime>2011-09-12T19:00:00</StartTime>
        <EndTime>2011-09-12T20:01:00</EndTime>
        <Title>Alphas</Title>
        <SubTitle>Blind Spot</SubTitle>
        <Category>Drama</Category>
        <CatType></CatType>
        <Repeat>true</Repeat>
        <SeriesId>EP01410873</SeriesId>
        <ProgramId>EP014108730010</ProgramId>
        <Stars>0</Stars>
        <FileSize>5143875332</FileSize>
        <LastModified>2011-09-12T20:02:18</LastModified>
        <ProgramFlags>13643781</ProgramFlags>
        <HostName>Holmes</HostName>
        <FileName></FileName>
        <Airdate>2011-09-12</Airdate>
        <Inetref>210841</Inetref>
        <Season>1</Season>
        <Episode>9</Episode>
        <Channel>
            <ChanId>34736</ChanId>
            <ChanNum>736</ChanNum>
            <CallSign>SYFYHD</CallSign>
            <IconURL></IconURL>
            <ChannelName>Syfy HD</ChannelName>
            <MplexId>0</MplexId>
            <TransportId>0</TransportId>
            <ServiceId>0</ServiceId>
            <NetworkId>0</NetworkId>
            <ATSCMajorChan>0</ATSCMajorChan>
            <ATSCMinorChan>0</ATSCMinorChan>
            <Format></Format>
            <Modulation></Modulation>
            <Frequency>0</Frequency>
            <FrequencyId></FrequencyId>
            <FrequencyTable></FrequencyTable>
            <FineTune>0</FineTune>
            <SIStandard></SIStandard>
            <ChanFilters></ChanFilters>
            <SourceId>0</SourceId>
            <InputId>0</InputId>
            <CommFree>0</CommFree>
            <UseEIT>false</UseEIT>
            <Visible>false</Visible>
            <XMLTVID></XMLTVID>
            <DefaultAuth></DefaultAuth>
            <Programs/>
        </Channel>
        <Recording>
            <Status>-3</Status>
            <Priority>0</Priority>
            <StartTs>2011-09-12T18:59:00</StartTs>
            <EndTs>2011-09-12T20:02:15</EndTs>
            <RecordId>1126</RecordId>
            <RecGroup>Default</RecGroup>
            <StorageGroup>Default</StorageGroup>
            <PlayGroup>Default</PlayGroup>
            <RecType>0</RecType>
            <DupInType>15</DupInType>
            <DupMethod>6</DupMethod>
            <EncoderId>0</EncoderId>
            <Profile>Default</Profile>
        </Recording>
    </Program>
</Programs>
</ProgramList>

GetExpiringList

The GetExpiringList API takes the following arguments:

StartIndex (Optional)
Parameter Type: Integer
The numerical starting index in the list of expiring programs.
Count (Optional)
Parameter Type: Integer
The number of items to return in the result.

Example Query:

http://BackendServerIP:6544/Dvr/GetExpiringList?StartIndex=2&Count=1

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<ProgramList version="1.0" serializerVersion="1.1">
<StartIndex>2</StartIndex>
<Count>1</Count>
<TotalAvailable>15</TotalAvailable>
<AsOf>2011-10-02T16:09:52</AsOf>
<Version>0.25.20110928-1</Version>
<ProtoVer>69</ProtoVer>
<Programs>
    <Program>
        <StartTime>2011-09-12T19:00:00</StartTime>
        <EndTime>2011-09-12T20:01:00</EndTime>
        <Title>Alphas</Title>
        <SubTitle>Blind Spot</SubTitle>
        <Category>Drama</Category>
        <CatType></CatType>
        <Repeat>true</Repeat>
        <SeriesId>EP01410873</SeriesId>
        <ProgramId>EP014108730010</ProgramId>
        <Stars>0</Stars>
        <FileSize>5143875332</FileSize>
        <LastModified>2011-09-12T20:02:18</LastModified>
        <ProgramFlags>13643781</ProgramFlags>
        <HostName>Holmes</HostName>
        <FileName></FileName>
        <Airdate>2011-09-12</Airdate>
        <Inetref>210841</Inetref>
        <Season>1</Season>
        <Episode>9</Episode>
        <Channel>
            <ChanId>34736</ChanId>
            <ChanNum>736</ChanNum>
            <CallSign>SYFYHD</CallSign>
            <IconURL></IconURL>
            <ChannelName>Syfy HD</ChannelName>
            <MplexId>0</MplexId>
            <TransportId>0</TransportId>
            <ServiceId>0</ServiceId>
            <NetworkId>0</NetworkId>
            <ATSCMajorChan>0</ATSCMajorChan>
            <ATSCMinorChan>0</ATSCMinorChan>
            <Format></Format>
            <Modulation></Modulation>
            <Frequency>0</Frequency>
            <FrequencyId></FrequencyId>
            <FrequencyTable></FrequencyTable>
            <FineTune>0</FineTune>
            <SIStandard></SIStandard>
            <ChanFilters></ChanFilters>
            <SourceId>0</SourceId>
            <InputId>0</InputId>
            <CommFree>0</CommFree>
            <UseEIT>false</UseEIT>
            <Visible>false</Visible>
            <XMLTVID></XMLTVID>
            <DefaultAuth></DefaultAuth>
            <Programs/>
        </Channel>
        <Recording>
            <Status>-3</Status>
            <Priority>0</Priority>
            <StartTs>2011-09-12T18:59:00</StartTs>
            <EndTs>2011-09-12T20:02:15</EndTs>
            <RecordId>1126</RecordId>
            <RecGroup>Default</RecGroup>
            <StorageGroup>Default</StorageGroup>
            <PlayGroup>Default</PlayGroup>
            <RecType>0</RecType>
            <DupInType>15</DupInType>
            <DupMethod>6</DupMethod>
            <EncoderId>0</EncoderId>
            <Profile>Default</Profile>
        </Recording>
    </Program>
</Programs>
</ProgramList>

GetRecordedList

The GetRecordedList API takes the following arguments:

StartIndex (Optional)
Parameter Type: Integer
The numerical starting index in the list of expiring programs.
Count (Optional)
Parameter Type: Integer
The number of items to return in the result.
Descending (Optional)
Parameter Type: Boolean
Controls whether results are returned in forward or reverse chronological order.

Example Query:

http://BackendServerIP:6544/Dvr/GetRecordedList?StartIndex=2&Count=1&Descending=true

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<ProgramList version="1.0" serializerVersion="1.1">
<StartIndex>2</StartIndex>
<Count>1</Count>
<TotalAvailable>15</TotalAvailable>
<AsOf>2011-10-02T16:09:52</AsOf>
<Version>0.25.20110928-1</Version>
<ProtoVer>69</ProtoVer>
<Programs>
    <Program>
        <StartTime>2011-09-12T19:00:00</StartTime>
        <EndTime>2011-09-12T20:01:00</EndTime>
        <Title>Alphas</Title>
        <SubTitle>Blind Spot</SubTitle>
        <Category>Drama</Category>
        <CatType></CatType>
        <Repeat>true</Repeat>
        <SeriesId>EP01410873</SeriesId>
        <ProgramId>EP014108730010</ProgramId>
        <Stars>0</Stars>
        <FileSize>5143875332</FileSize>
        <LastModified>2011-09-12T20:02:18</LastModified>
        <ProgramFlags>13643781</ProgramFlags>
        <HostName>Holmes</HostName>
        <FileName>1234_2011111111T09:00:00</FileName>
        <Airdate>2011-09-12</Airdate>
        <Inetref>210841</Inetref>
        <Season>1</Season>
        <Episode>9</Episode>
        <Channel>
            <ChanId>34736</ChanId>
            <ChanNum>736</ChanNum>
            <CallSign>SYFYHD</CallSign>
            <IconURL></IconURL>
            <ChannelName>Syfy HD</ChannelName>
            <MplexId>0</MplexId>
            <TransportId>0</TransportId>
            <ServiceId>0</ServiceId>
            <NetworkId>0</NetworkId>
            <ATSCMajorChan>0</ATSCMajorChan>
            <ATSCMinorChan>0</ATSCMinorChan>
            <Format></Format>
            <Modulation></Modulation>
            <Frequency>0</Frequency>
            <FrequencyId></FrequencyId>
            <FrequencyTable></FrequencyTable>
            <FineTune>0</FineTune>
            <SIStandard></SIStandard>
            <ChanFilters></ChanFilters>
            <SourceId>0</SourceId>
            <InputId>0</InputId>
            <CommFree>0</CommFree>
            <UseEIT>false</UseEIT>
            <Visible>false</Visible>
            <XMLTVID></XMLTVID>
            <DefaultAuth></DefaultAuth>
            <Programs/>
        </Channel>
        <Recording>
            <Status>-3</Status>
            <Priority>0</Priority>
            <StartTs>2011-09-12T18:59:00</StartTs>
            <EndTs>2011-09-12T20:02:15</EndTs>
            <RecordId>1126</RecordId>
            <RecGroup>Default</RecGroup>
            <StorageGroup>Default</StorageGroup>
            <PlayGroup>Default</PlayGroup>
            <RecType>0</RecType>
            <DupInType>15</DupInType>
            <DupMethod>6</DupMethod>
            <EncoderId>0</EncoderId>
            <Profile>Default</Profile>
        </Recording>
    </Program>
</Programs>
</ProgramList>

GetRecorded

The GetRecorded API takes the following arguments:

ChanId (Required)
Parameter Type: Integer
The database channel id for the guide item.
StartTime (Required)
Parameter Type: String
The recording start time for the item. This should be in MySQL ISO format, eg: 2011-08-29 18:59:00. You can replace the space with %20 or T.

Example Query:

http://BackendServerIP:6544/Dvr/GetRecorded?StartTime=2011-10-03T19:00:00&ChanId=2066

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<Program version="1.1" serializerVersion="1.1">
    <StartTime>2011-10-03T19:00:00</StartTime>
    <EndTime>2011-10-03T20:00:00</EndTime>
    <Title>Little House on the Prairie</Title>
    <SubTitle>Make a Joyful Noise</SubTitle>
    <Category>Drama</Category>
    <CatType>series</CatType>
    <Repeat>true</Repeat>
    <SeriesId>EP00002633</SeriesId>
    <ProgramId>EP000026330155</ProgramId>
    <Stars>0</Stars>
    <FileSize>0</FileSize>
    <LastModified>2011-10-03T19:00:00</LastModified>
    <ProgramFlags>4096</ProgramFlags>
    <HostName></HostName>
    <FileName>1234_2011111111T09:00:00</FileName>
    <Airdate>1981-01-26</Airdate>
     Joe Kagan works up the courage to court Hester Sue, and learns she plans to marry an undertaker (Mel Stewart).
    <Inetref></Inetref>
    <Season>0</Season>
    <Episode>0</Episode>
    <Channel>
        <ChanId>2066</ChanId>
        <ChanNum>185</ChanNum>
        <CallSign>HLMRK</CallSign>
        <IconURL></IconURL>
        <ChannelName>Hallmark Channel (Pacific)</ChannelName>
        <MplexId>0</MplexId>
        <TransportId>0</TransportId>
        <ServiceId>0</ServiceId>
        <NetworkId>0</NetworkId>
        <ATSCMajorChan>0</ATSCMajorChan>
        <ATSCMinorChan>0</ATSCMinorChan>
        <Format></Format>
        <Modulation></Modulation>
        <Frequency>0</Frequency>
        <FrequencyId></FrequencyId>
        <FrequencyTable></FrequencyTable>
        <FineTune>0</FineTune>
        <SIStandard></SIStandard>
        <ChanFilters></ChanFilters>
        <SourceId>0</SourceId>
        <InputId>0</InputId>
        <CommFree>0</CommFree>
        <UseEIT>false</UseEIT>
        <Visible>false</Visible>
        <XMLTVID></XMLTVID>
        <DefaultAuth></DefaultAuth>
        <Programs/>
    </Channel>
    <Recording>
        <Status>0</Status>
        <Priority>0</Priority>
        <StartTs></StartTs>
        <EndTs></EndTs>
        <RecordId>0</RecordId>
        <RecGroup></RecGroup>
        <StorageGroup>Default</StorageGroup>
        <PlayGroup></PlayGroup>
        <RecType>0</RecType>
        <DupInType>1</DupInType>
        <DupMethod>1</DupMethod>
        <EncoderId>0</EncoderId>
        <Profile></Profile>
    </Recording>
</Program>

GetConflictList

The GetConflictList API takes the following arguments:

StartIndex (Optional)
Parameter Type: Integer
The numerical starting index in the list of Conflicting programs.
Count (Optional)
Parameter Type: Integer
The number of items to return in the result.

Example Query:

http://BackendServerIP:6544/Dvr/GetConflictList?StartIndex=0

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<Program version="1.1" serializerVersion="1.1">
    <StartTime>2011-10-03T19:00:00</StartTime>
    <EndTime>2011-10-03T20:00:00</EndTime>
    <Title>Little House on the Prairie</Title>
    <SubTitle>Make a Joyful Noise</SubTitle>
    <Category>Drama</Category>
    <CatType>series</CatType>
    <Repeat>true</Repeat>
    <SeriesId>EP00002633</SeriesId>
    <ProgramId>EP000026330155</ProgramId>
    <Stars>0</Stars>
    <FileSize>0</FileSize>
    <LastModified>2011-10-03T19:00:00</LastModified>
    <ProgramFlags>4096</ProgramFlags>
    <HostName></HostName>
    <FileName></FileName>
    <Airdate>1981-01-26</Airdate>
     Joe Kagan works up the courage to court Hester Sue, and learns she plans to marry an undertaker (Mel Stewart).
    <Inetref></Inetref>
    <Season>0</Season>
    <Episode>0</Episode>
    <Channel>
        <ChanId>2066</ChanId>
        <ChanNum>185</ChanNum>
        <CallSign>HLMRK</CallSign>
        <IconURL></IconURL>
        <ChannelName>Hallmark Channel (Pacific)</ChannelName>
        <MplexId>0</MplexId>
        <TransportId>0</TransportId>
        <ServiceId>0</ServiceId>
        <NetworkId>0</NetworkId>
        <ATSCMajorChan>0</ATSCMajorChan>
        <ATSCMinorChan>0</ATSCMinorChan>
        <Format></Format>
        <Modulation></Modulation>
        <Frequency>0</Frequency>
        <FrequencyId></FrequencyId>
        <FrequencyTable></FrequencyTable>
        <FineTune>0</FineTune>
        <SIStandard></SIStandard>
        <ChanFilters></ChanFilters>
        <SourceId>0</SourceId>
        <InputId>0</InputId>
        <CommFree>0</CommFree>
        <UseEIT>false</UseEIT>
        <Visible>false</Visible>
        <XMLTVID></XMLTVID>
        <DefaultAuth></DefaultAuth>
        <Programs/>
    </Channel>
    <Recording>
        <Status>0</Status>
        <Priority>0</Priority>
        <StartTs></StartTs>
        <EndTs></EndTs>
        <RecordId>0</RecordId>
        <RecGroup></RecGroup>
        <StorageGroup>Default</StorageGroup>
        <PlayGroup></PlayGroup>
        <RecType>0</RecType>
        <DupInType>1</DupInType>
        <DupMethod>1</DupMethod>
        <EncoderId>0</EncoderId>
        <Profile></Profile>
    </Recording>
</Program>

GetEncoderList

The GetEncoderList API takes no arguments.

Example Query:

http://BackendServerIP:6544/Dvr/GetEncoderList

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<EncoderList version="1.0" serializerVersion="1.1">
<Encoders>
    <Encoder>
        <Id>1</Id>
        <HostName>Holmes</HostName>
        <Local>true</Local>
        <Connected>true</Connected>
        <State>0</State>
        <SleepStatus>8</SleepStatus>
        <LowOnFreeSpace>false</LowOnFreeSpace>
        <Recording>
            <StartTime></StartTime>
            <EndTime></EndTime>
            <Title></Title>
            <SubTitle></SubTitle>
            <Category></Category>
            <CatType></CatType>
            <Repeat>false</Repeat>
            <SeriesId></SeriesId>
            <ProgramId></ProgramId>
            <Stars>0</Stars>
            <FileSize>0</FileSize>
            <LastModified></LastModified>
            <ProgramFlags>0</ProgramFlags>
            <HostName></HostName>
            <Airdate></Airdate>
            <Inetref></Inetref>
            <Season>0</Season>
            <Episode>0</Episode>
            <Channel>
                <ChanId>0</ChanId>
                <ChanNum></ChanNum>
                <CallSign></CallSign>
                <IconURL></IconURL>
                <ChannelName></ChannelName>
                <MplexId>0</MplexId>
                <TransportId>0</TransportId>
                <ServiceId>0</ServiceId>
                <NetworkId>0</NetworkId>
                <ATSCMajorChan>0</ATSCMajorChan>
                <ATSCMinorChan>0</ATSCMinorChan>
                <Format></Format>
                <Modulation></Modulation>
                <Frequency>0</Frequency>
                <FrequencyId></FrequencyId>
                <FrequencyTable></FrequencyTable>
                <FineTune>0</FineTune>
                <SIStandard></SIStandard>
                <ChanFilters></ChanFilters>
                <SourceId>0</SourceId>
                <InputId>0</InputId>
                <CommFree>0</CommFree>
                <UseEIT>true</UseEIT>
                <Visible>true</Visible>
                <XMLTVID></XMLTVID>
                <DefaultAuth></DefaultAuth>
                <Programs/>
            </Channel>
            <Recording>
                <Status>0</Status>
                <Priority>0</Priority>
                <StartTs></StartTs>
                <EndTs></EndTs>
                <RecordId>0</RecordId>
                <RecGroup></RecGroup>
                <StorageGroup>Default</StorageGroup>
                <PlayGroup></PlayGroup>
                <RecType>0</RecType>
                <DupInType>1</DupInType>
                <DupMethod>1</DupMethod>
                <EncoderId>0</EncoderId>
                <Profile></Profile>
            </Recording>
        </Recording>
    </Encoder>
</Encoders>
</EncoderList>

RemoveRecordSchedule

The RemoveRecordSchedule API takes the following arguments:

RecordId (Required)
Parameter Type: Integer
The database id of the recording rule to be removed.

Example Query:

http://BackendServerIP:6544/Dvr/RemoveRecordSchedule?RecordId=106

Example Return:

Returns a boolean value. True if the file was successfully removed, false if the removal failed for any reason.

<bool>true</bool>

GetRecordScheduleList

The GetRecordScheduleList API takes the following arguments:

StartIndex (Optional)
Parameter Type: Integer
The numerical starting index in the list of recording rules.
Count (Optional)
Parameter Type: Integer
The number of items to return in the result.

Example Query:

http://BackendServerIP:6544/Dvr/GetRecordScheduleList?StartIndex=0&Count=1

Example Return:

<RecRuleList version="1.0" serializerVersion="1.1">
    <StartIndex>0</StartIndex>
    <Count>63</Count>
    <TotalAvailable>63</TotalAvailable>
    <AsOf>2011-11-09T19:22:03</AsOf>
    <Version>0.25.20111102-1</Version>
    <ProtoVer>69</ProtoVer>
    <RecRules>
        <RecRule>
            <Id>1126</Id>
            <ParentId>0</ParentId>
            <Inactive>false</Inactive>
            <Title>Alphas</Title>
            <SubTitle/>
            <Season>1</Season>
            <Episode>1</Episode>
            <Category>Drama</Category>
            <StartTime>2011-11-09T00:00:00</StartTime>
            <EndTime>2011-11-09T00:00:00</EndTime>
            <SeriesId>EP01410873</SeriesId>
            <ProgramId>EP014108730001</ProgramId>
            <Inetref>210841</Inetref>
            <ChanId>3736</ChanId>
            <CallSign>SYFYHD</CallSign>
            <Day>4</Day>
            <Time>22:00:00</Time>
            <FindId>734696</FindId>
            <Type>3</Type>
            <SearchType>0</SearchType>
            <RecPriority>1</RecPriority>
            <PreferredInput>0</PreferredInput>
            <StartOffset>0</StartOffset>
            <EndOffset>0</EndOffset>
            <DupMethod>6</DupMethod>
            <DupIn>15</DupIn>
            <Filter>0</Filter>
            <RecProfile>Default</RecProfile>
            <RecGroup>Default</RecGroup>
            <StorageGroup>Default</StorageGroup>
            <PlayGroup>Default</PlayGroup>
            <AutoExpire>true</AutoExpire>
            <MaxEpisodes>0</MaxEpisodes>
            <MaxNewest>false</MaxNewest>
            <AutoCommflag>true</AutoCommflag>
            <AutoTranscode>false</AutoTranscode>
            <AutoMetaLookup>true</AutoMetaLookup>
            <AutoUserJob1>false</AutoUserJob1>
            <AutoUserJob2>false</AutoUserJob2>
            <AutoUserJob3>false</AutoUserJob3>
            <AutoUserJob4>false</AutoUserJob4>
            <Transcoder>0</Transcoder>
            <NextRecording/>
            <LastRecorded>2011-09-26T18:59:59</LastRecorded>
            <LastDeleted>2011-10-31T17:41:57</LastDeleted>
            <AverageDelay>0</AverageDelay>
        </RecRule>
    </RecRules>
</RecRuleList>

GetRecordSchedule

The GetRecordSchedule API takes the following arguments:

RecordId (Required)
Parameter Type: Integer
The Recording rule ID for the rule to be looked up.

Example Query:

http://BackendServerIP:6544/Dvr/GetRecordSchedule?RecordId=1234

Example Return:

<RecRule version="1.0" serializerVersion="1.1">
    <Id>1126</Id>
    <ParentId>0</ParentId>
    <Inactive>false</Inactive>
    <Title>Alphas</Title>
    <SubTitle/>
    <Season>1</Season>
    <Episode>1</Episode>
    <Category>Drama</Category>
    <StartTime>2011-11-09T00:00:00</StartTime>
    <EndTime>2011-11-09T00:00:00</EndTime>
    <SeriesId>EP01410873</SeriesId>
    <ProgramId>EP014108730001</ProgramId>
    <Inetref>210841</Inetref>
    <ChanId>3736</ChanId>
    <CallSign>SYFYHD</CallSign>
    <Day>4</Day>
    <Time>22:00:00</Time>
    <FindId>734696</FindId>
    <Type>3</Type>
    <SearchType>0</SearchType>
    <RecPriority>1</RecPriority>
    <PreferredInput>0</PreferredInput>
    <StartOffset>0</StartOffset>
    <EndOffset>0</EndOffset>
    <DupMethod>6</DupMethod>
    <DupIn>15</DupIn>
    <Filter>0</Filter>
    <RecProfile>Default</RecProfile>
    <RecGroup>Default</RecGroup>
    <StorageGroup>Default</StorageGroup>
    <PlayGroup>Default</PlayGroup>
    <AutoExpire>true</AutoExpire>
    <MaxEpisodes>0</MaxEpisodes>
    <MaxNewest>false</MaxNewest>
    <AutoCommflag>true</AutoCommflag>
    <AutoTranscode>false</AutoTranscode>
    <AutoMetaLookup>true</AutoMetaLookup>
    <AutoUserJob1>false</AutoUserJob1>
    <AutoUserJob2>false</AutoUserJob2>
    <AutoUserJob3>false</AutoUserJob3>
    <AutoUserJob4>false</AutoUserJob4>
    <Transcoder>0</Transcoder>
    <NextRecording/>
    <LastRecorded>2011-09-26T18:59:59</LastRecorded>
    <LastDeleted>2011-10-31T17:41:57</LastDeleted>
    <AverageDelay>0</AverageDelay>
</RecRule>

EnableRecordSchedule

The EnableRecordSchedule API takes the following arguments:

RecordId (Required)
Parameter Type: Integer
The database id of the recording rule to be enabled.

Example Query:

http://BackendServerIP:6544/Dvr/EnableRecordSchedule?RecordId=106

Example Return:

Returns a boolean value. True if the file was successfully removed, false if the removal failed for any reason.

<bool>true</bool>

DisableRecordSchedule

The DisableRecordSchedule API takes the following arguments:

RecordId (Required)
Parameter Type: Integer
The database id of the recording rule to be removed.

Example Query:

http://BackendServerIP:6544/Dvr/DisableRecordSchedule?RecordId=106

Example Return:

Returns a boolean value. True if the file was successfully removed, false if the removal failed for any reason.

<bool>true</bool>