GET api/Programs?subLevels={subLevels}

Gets all you have access to.

Request Information

URI Parameters

NameDescriptionTypeAdditional information
subLevels

Levels to include under this object, as applicable. -1 (the default) returns all sublevels.

integer

Default value is -1

Body Parameters

None.

Response Information

Resource Description

Collection of

GetProgramsResponse
NameDescriptionTypeAdditional information
Programs

Array of Programs

Collection of Program

None.

Messages

Array of messages

Collection of Message

None.

ServerInformation

Relevant information regarding the Server

ServerInformation

None.

VersionInformation

Relevant information regarding the API's version

VersionInformation

None.

Response Formats

application/json, text/json, text/html

Sample:
{
  "Programs": [
    {
      "ID": 1,
      "Name": "sample string 2",
      "Description": "sample string 3",
      "StartDate": "2025-11-09T21:27:48.27041+10:00",
      "FinishDate": "2025-11-09T21:27:48.27041+10:00",
      "OwnerID": 6,
      "OwnerType": 10,
      "Settings": {
        "AutoCancel": true,
        "HaltQueueOnError": true,
        "CommandRetryLimit": 1,
        "ResendOnError": true,
        "ResendOnErrorLimit": 1,
        "AllowStartDateAdjustment": true,
        "SendPeriod": "00:00:00.1234567"
      },
      "ProgramGroups": [
        {
          "ID": 1,
          "Name": "sample string 2",
          "Description": "sample string 3",
          "ParentGroupID": 4,
          "DisplayIndex": 5,
          "Offset": "00:00:00.1234567",
          "StartDate": "2025-11-09T21:27:48.27041+10:00",
          "FinishDate": "2025-11-09T21:27:48.27041+10:00",
          "LinkID": 9,
          "LinkObjectType": 0,
          "LinkType": 0,
          "TotalTime": "00:00:00.1234567",
          "ProgramSteps": [
            {
              "ID": 1,
              "GroupID": 2,
              "Description": "sample string 3",
              "ProgramStepType": 0,
              "DisplayIndex": 1,
              "LinkID": 4,
              "LinkObjectType": 0,
              "LinkType": 0,
              "DeviceID": 5,
              "DeviceName": "sample string 6",
              "SetValue": 7.1,
              "ReturnValue": 8.1,
              "StartDate": "2025-11-09T21:27:48.27041+10:00",
              "FinishDate": "2025-11-09T21:27:48.27041+10:00",
              "StartOffset": "00:00:00.1234567",
              "FinishOffset": "00:00:00.1234567",
              "Offset": "00:00:00.1234567",
              "Duration": "00:00:00.1234567",
              "LinkedDeviceID": 15,
              "LinkedDeviceName": "sample string 16",
              "LinkCutoffValue": 17.1,
              "BatchTotalised": true
            },
            {
              "ID": 1,
              "GroupID": 2,
              "Description": "sample string 3",
              "ProgramStepType": 0,
              "DisplayIndex": 1,
              "LinkID": 4,
              "LinkObjectType": 0,
              "LinkType": 0,
              "DeviceID": 5,
              "DeviceName": "sample string 6",
              "SetValue": 7.1,
              "ReturnValue": 8.1,
              "StartDate": "2025-11-09T21:27:48.27041+10:00",
              "FinishDate": "2025-11-09T21:27:48.27041+10:00",
              "StartOffset": "00:00:00.1234567",
              "FinishOffset": "00:00:00.1234567",
              "Offset": "00:00:00.1234567",
              "Duration": "00:00:00.1234567",
              "LinkedDeviceID": 15,
              "LinkedDeviceName": "sample string 16",
              "LinkCutoffValue": 17.1,
              "BatchTotalised": true
            }
          ]
        },
        {
          "ID": 1,
          "Name": "sample string 2",
          "Description": "sample string 3",
          "ParentGroupID": 4,
          "DisplayIndex": 5,
          "Offset": "00:00:00.1234567",
          "StartDate": "2025-11-09T21:27:48.27041+10:00",
          "FinishDate": "2025-11-09T21:27:48.27041+10:00",
          "LinkID": 9,
          "LinkObjectType": 0,
          "LinkType": 0,
          "TotalTime": "00:00:00.1234567",
          "ProgramSteps": [
            {
              "ID": 1,
              "GroupID": 2,
              "Description": "sample string 3",
              "ProgramStepType": 0,
              "DisplayIndex": 1,
              "LinkID": 4,
              "LinkObjectType": 0,
              "LinkType": 0,
              "DeviceID": 5,
              "DeviceName": "sample string 6",
              "SetValue": 7.1,
              "ReturnValue": 8.1,
              "StartDate": "2025-11-09T21:27:48.27041+10:00",
              "FinishDate": "2025-11-09T21:27:48.27041+10:00",
              "StartOffset": "00:00:00.1234567",
              "FinishOffset": "00:00:00.1234567",
              "Offset": "00:00:00.1234567",
              "Duration": "00:00:00.1234567",
              "LinkedDeviceID": 15,
              "LinkedDeviceName": "sample string 16",
              "LinkCutoffValue": 17.1,
              "BatchTotalised": true
            },
            {
              "ID": 1,
              "GroupID": 2,
              "Description": "sample string 3",
              "ProgramStepType": 0,
              "DisplayIndex": 1,
              "LinkID": 4,
              "LinkObjectType": 0,
              "LinkType": 0,
              "DeviceID": 5,
              "DeviceName": "sample string 6",
              "SetValue": 7.1,
              "ReturnValue": 8.1,
              "StartDate": "2025-11-09T21:27:48.27041+10:00",
              "FinishDate": "2025-11-09T21:27:48.27041+10:00",
              "StartOffset": "00:00:00.1234567",
              "FinishOffset": "00:00:00.1234567",
              "Offset": "00:00:00.1234567",
              "Duration": "00:00:00.1234567",
              "LinkedDeviceID": 15,
              "LinkedDeviceName": "sample string 16",
              "LinkCutoffValue": 17.1,
              "BatchTotalised": true
            }
          ]
        }
      ]
    },
    {
      "ID": 1,
      "Name": "sample string 2",
      "Description": "sample string 3",
      "StartDate": "2025-11-09T21:27:48.27041+10:00",
      "FinishDate": "2025-11-09T21:27:48.27041+10:00",
      "OwnerID": 6,
      "OwnerType": 10,
      "Settings": {
        "AutoCancel": true,
        "HaltQueueOnError": true,
        "CommandRetryLimit": 1,
        "ResendOnError": true,
        "ResendOnErrorLimit": 1,
        "AllowStartDateAdjustment": true,
        "SendPeriod": "00:00:00.1234567"
      },
      "ProgramGroups": [
        {
          "ID": 1,
          "Name": "sample string 2",
          "Description": "sample string 3",
          "ParentGroupID": 4,
          "DisplayIndex": 5,
          "Offset": "00:00:00.1234567",
          "StartDate": "2025-11-09T21:27:48.27041+10:00",
          "FinishDate": "2025-11-09T21:27:48.27041+10:00",
          "LinkID": 9,
          "LinkObjectType": 0,
          "LinkType": 0,
          "TotalTime": "00:00:00.1234567",
          "ProgramSteps": [
            {
              "ID": 1,
              "GroupID": 2,
              "Description": "sample string 3",
              "ProgramStepType": 0,
              "DisplayIndex": 1,
              "LinkID": 4,
              "LinkObjectType": 0,
              "LinkType": 0,
              "DeviceID": 5,
              "DeviceName": "sample string 6",
              "SetValue": 7.1,
              "ReturnValue": 8.1,
              "StartDate": "2025-11-09T21:27:48.27041+10:00",
              "FinishDate": "2025-11-09T21:27:48.27041+10:00",
              "StartOffset": "00:00:00.1234567",
              "FinishOffset": "00:00:00.1234567",
              "Offset": "00:00:00.1234567",
              "Duration": "00:00:00.1234567",
              "LinkedDeviceID": 15,
              "LinkedDeviceName": "sample string 16",
              "LinkCutoffValue": 17.1,
              "BatchTotalised": true
            },
            {
              "ID": 1,
              "GroupID": 2,
              "Description": "sample string 3",
              "ProgramStepType": 0,
              "DisplayIndex": 1,
              "LinkID": 4,
              "LinkObjectType": 0,
              "LinkType": 0,
              "DeviceID": 5,
              "DeviceName": "sample string 6",
              "SetValue": 7.1,
              "ReturnValue": 8.1,
              "StartDate": "2025-11-09T21:27:48.27041+10:00",
              "FinishDate": "2025-11-09T21:27:48.27041+10:00",
              "StartOffset": "00:00:00.1234567",
              "FinishOffset": "00:00:00.1234567",
              "Offset": "00:00:00.1234567",
              "Duration": "00:00:00.1234567",
              "LinkedDeviceID": 15,
              "LinkedDeviceName": "sample string 16",
              "LinkCutoffValue": 17.1,
              "BatchTotalised": true
            }
          ]
        },
        {
          "ID": 1,
          "Name": "sample string 2",
          "Description": "sample string 3",
          "ParentGroupID": 4,
          "DisplayIndex": 5,
          "Offset": "00:00:00.1234567",
          "StartDate": "2025-11-09T21:27:48.27041+10:00",
          "FinishDate": "2025-11-09T21:27:48.27041+10:00",
          "LinkID": 9,
          "LinkObjectType": 0,
          "LinkType": 0,
          "TotalTime": "00:00:00.1234567",
          "ProgramSteps": [
            {
              "ID": 1,
              "GroupID": 2,
              "Description": "sample string 3",
              "ProgramStepType": 0,
              "DisplayIndex": 1,
              "LinkID": 4,
              "LinkObjectType": 0,
              "LinkType": 0,
              "DeviceID": 5,
              "DeviceName": "sample string 6",
              "SetValue": 7.1,
              "ReturnValue": 8.1,
              "StartDate": "2025-11-09T21:27:48.27041+10:00",
              "FinishDate": "2025-11-09T21:27:48.27041+10:00",
              "StartOffset": "00:00:00.1234567",
              "FinishOffset": "00:00:00.1234567",
              "Offset": "00:00:00.1234567",
              "Duration": "00:00:00.1234567",
              "LinkedDeviceID": 15,
              "LinkedDeviceName": "sample string 16",
              "LinkCutoffValue": 17.1,
              "BatchTotalised": true
            },
            {
              "ID": 1,
              "GroupID": 2,
              "Description": "sample string 3",
              "ProgramStepType": 0,
              "DisplayIndex": 1,
              "LinkID": 4,
              "LinkObjectType": 0,
              "LinkType": 0,
              "DeviceID": 5,
              "DeviceName": "sample string 6",
              "SetValue": 7.1,
              "ReturnValue": 8.1,
              "StartDate": "2025-11-09T21:27:48.27041+10:00",
              "FinishDate": "2025-11-09T21:27:48.27041+10:00",
              "StartOffset": "00:00:00.1234567",
              "FinishOffset": "00:00:00.1234567",
              "Offset": "00:00:00.1234567",
              "Duration": "00:00:00.1234567",
              "LinkedDeviceID": 15,
              "LinkedDeviceName": "sample string 16",
              "LinkCutoffValue": 17.1,
              "BatchTotalised": true
            }
          ]
        }
      ]
    }
  ],
  "Messages": [
    {
      "Severity": 0,
      "MessageCode": 1,
      "CodeDesc": 2,
      "MessageText": "sample string 3",
      "RecordNumber": 4
    },
    {
      "Severity": 0,
      "MessageCode": 1,
      "CodeDesc": 2,
      "MessageText": "sample string 3",
      "RecordNumber": 4
    }
  ],
  "ServerInformation": {
    "CurrentTimeUTC": "2025-11-09T21:27:48.27041+10:00",
    "BuildDateUTC": "2025-11-09T21:27:48.27041+10:00"
  },
  "VersionInformation": {
    "Major": 1,
    "Minor": 3,
    "Hotfix": 7,
    "Beta": false,
    "Version": "1.3.7"
  }
}

application/xml, text/xml

Sample:
<GetProgramsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/RimikAPI.Models.Responses">
  <Messages xmlns:d2p1="http://schemas.datacontract.org/2004/07/RimikAPI.Services">
    <d2p1:Common.Message>
      <d2p1:CodeDesc>2</d2p1:CodeDesc>
      <d2p1:MessageCode>1</d2p1:MessageCode>
      <d2p1:MessageText>sample string 3</d2p1:MessageText>
      <d2p1:RecordNumber>4</d2p1:RecordNumber>
      <d2p1:Severity>Information</d2p1:Severity>
    </d2p1:Common.Message>
    <d2p1:Common.Message>
      <d2p1:CodeDesc>2</d2p1:CodeDesc>
      <d2p1:MessageCode>1</d2p1:MessageCode>
      <d2p1:MessageText>sample string 3</d2p1:MessageText>
      <d2p1:RecordNumber>4</d2p1:RecordNumber>
      <d2p1:Severity>Information</d2p1:Severity>
    </d2p1:Common.Message>
  </Messages>
  <ServerInformation xmlns:d2p1="http://schemas.datacontract.org/2004/07/RimikAPI.Services.Metadata">
    <d2p1:BuildDateUTC>2025-11-09T21:27:48.27041+10:00</d2p1:BuildDateUTC>
    <d2p1:CurrentTimeUTC>2025-11-09T21:27:48.27041+10:00</d2p1:CurrentTimeUTC>
  </ServerInformation>
  <VersionInformation xmlns:d2p1="http://schemas.datacontract.org/2004/07/RimikAPI.Services.Metadata" />
  <Programs xmlns:d2p1="http://schemas.datacontract.org/2004/07/RimikAPI.Models">
    <d2p1:APIStructs.Program>
      <d2p1:Description>sample string 3</d2p1:Description>
      <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
      <d2p1:ID>1</d2p1:ID>
      <d2p1:Name>sample string 2</d2p1:Name>
      <d2p1:OwnerID>6</d2p1:OwnerID>
      <d2p1:OwnerType>Device</d2p1:OwnerType>
      <d2p1:ProgramGroups>
        <d2p1:APIStructs.ProgramGroup>
          <d2p1:Description>sample string 3</d2p1:Description>
          <d2p1:DisplayIndex>5</d2p1:DisplayIndex>
          <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
          <d2p1:ID>1</d2p1:ID>
          <d2p1:LinkID>9</d2p1:LinkID>
          <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
          <d2p1:LinkType>StartToStart</d2p1:LinkType>
          <d2p1:Name>sample string 2</d2p1:Name>
          <d2p1:Offset>PT0.1234567S</d2p1:Offset>
          <d2p1:ParentGroupID>4</d2p1:ParentGroupID>
          <d2p1:ProgramSteps>
            <d2p1:APIStructs.ProgramStep>
              <d2p1:BatchTotalised>true</d2p1:BatchTotalised>
              <d2p1:Description>sample string 3</d2p1:Description>
              <d2p1:DeviceID>5</d2p1:DeviceID>
              <d2p1:DeviceName>sample string 6</d2p1:DeviceName>
              <d2p1:DisplayIndex>1</d2p1:DisplayIndex>
              <d2p1:Duration>PT0.1234567S</d2p1:Duration>
              <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
              <d2p1:FinishOffset>PT0.1234567S</d2p1:FinishOffset>
              <d2p1:GroupID>2</d2p1:GroupID>
              <d2p1:ID>1</d2p1:ID>
              <d2p1:LinkCutoffValue>17.1</d2p1:LinkCutoffValue>
              <d2p1:LinkID>4</d2p1:LinkID>
              <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
              <d2p1:LinkType>StartToStart</d2p1:LinkType>
              <d2p1:LinkedDeviceID>15</d2p1:LinkedDeviceID>
              <d2p1:LinkedDeviceName>sample string 16</d2p1:LinkedDeviceName>
              <d2p1:Offset>PT0.1234567S</d2p1:Offset>
              <d2p1:ProgramStepType>None</d2p1:ProgramStepType>
              <d2p1:ReturnValue>8.1</d2p1:ReturnValue>
              <d2p1:SetValue>7.1</d2p1:SetValue>
              <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
              <d2p1:StartOffset>PT0.1234567S</d2p1:StartOffset>
            </d2p1:APIStructs.ProgramStep>
            <d2p1:APIStructs.ProgramStep>
              <d2p1:BatchTotalised>true</d2p1:BatchTotalised>
              <d2p1:Description>sample string 3</d2p1:Description>
              <d2p1:DeviceID>5</d2p1:DeviceID>
              <d2p1:DeviceName>sample string 6</d2p1:DeviceName>
              <d2p1:DisplayIndex>1</d2p1:DisplayIndex>
              <d2p1:Duration>PT0.1234567S</d2p1:Duration>
              <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
              <d2p1:FinishOffset>PT0.1234567S</d2p1:FinishOffset>
              <d2p1:GroupID>2</d2p1:GroupID>
              <d2p1:ID>1</d2p1:ID>
              <d2p1:LinkCutoffValue>17.1</d2p1:LinkCutoffValue>
              <d2p1:LinkID>4</d2p1:LinkID>
              <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
              <d2p1:LinkType>StartToStart</d2p1:LinkType>
              <d2p1:LinkedDeviceID>15</d2p1:LinkedDeviceID>
              <d2p1:LinkedDeviceName>sample string 16</d2p1:LinkedDeviceName>
              <d2p1:Offset>PT0.1234567S</d2p1:Offset>
              <d2p1:ProgramStepType>None</d2p1:ProgramStepType>
              <d2p1:ReturnValue>8.1</d2p1:ReturnValue>
              <d2p1:SetValue>7.1</d2p1:SetValue>
              <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
              <d2p1:StartOffset>PT0.1234567S</d2p1:StartOffset>
            </d2p1:APIStructs.ProgramStep>
          </d2p1:ProgramSteps>
          <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
          <d2p1:TotalTime>PT0.1234567S</d2p1:TotalTime>
        </d2p1:APIStructs.ProgramGroup>
        <d2p1:APIStructs.ProgramGroup>
          <d2p1:Description>sample string 3</d2p1:Description>
          <d2p1:DisplayIndex>5</d2p1:DisplayIndex>
          <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
          <d2p1:ID>1</d2p1:ID>
          <d2p1:LinkID>9</d2p1:LinkID>
          <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
          <d2p1:LinkType>StartToStart</d2p1:LinkType>
          <d2p1:Name>sample string 2</d2p1:Name>
          <d2p1:Offset>PT0.1234567S</d2p1:Offset>
          <d2p1:ParentGroupID>4</d2p1:ParentGroupID>
          <d2p1:ProgramSteps>
            <d2p1:APIStructs.ProgramStep>
              <d2p1:BatchTotalised>true</d2p1:BatchTotalised>
              <d2p1:Description>sample string 3</d2p1:Description>
              <d2p1:DeviceID>5</d2p1:DeviceID>
              <d2p1:DeviceName>sample string 6</d2p1:DeviceName>
              <d2p1:DisplayIndex>1</d2p1:DisplayIndex>
              <d2p1:Duration>PT0.1234567S</d2p1:Duration>
              <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
              <d2p1:FinishOffset>PT0.1234567S</d2p1:FinishOffset>
              <d2p1:GroupID>2</d2p1:GroupID>
              <d2p1:ID>1</d2p1:ID>
              <d2p1:LinkCutoffValue>17.1</d2p1:LinkCutoffValue>
              <d2p1:LinkID>4</d2p1:LinkID>
              <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
              <d2p1:LinkType>StartToStart</d2p1:LinkType>
              <d2p1:LinkedDeviceID>15</d2p1:LinkedDeviceID>
              <d2p1:LinkedDeviceName>sample string 16</d2p1:LinkedDeviceName>
              <d2p1:Offset>PT0.1234567S</d2p1:Offset>
              <d2p1:ProgramStepType>None</d2p1:ProgramStepType>
              <d2p1:ReturnValue>8.1</d2p1:ReturnValue>
              <d2p1:SetValue>7.1</d2p1:SetValue>
              <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
              <d2p1:StartOffset>PT0.1234567S</d2p1:StartOffset>
            </d2p1:APIStructs.ProgramStep>
            <d2p1:APIStructs.ProgramStep>
              <d2p1:BatchTotalised>true</d2p1:BatchTotalised>
              <d2p1:Description>sample string 3</d2p1:Description>
              <d2p1:DeviceID>5</d2p1:DeviceID>
              <d2p1:DeviceName>sample string 6</d2p1:DeviceName>
              <d2p1:DisplayIndex>1</d2p1:DisplayIndex>
              <d2p1:Duration>PT0.1234567S</d2p1:Duration>
              <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
              <d2p1:FinishOffset>PT0.1234567S</d2p1:FinishOffset>
              <d2p1:GroupID>2</d2p1:GroupID>
              <d2p1:ID>1</d2p1:ID>
              <d2p1:LinkCutoffValue>17.1</d2p1:LinkCutoffValue>
              <d2p1:LinkID>4</d2p1:LinkID>
              <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
              <d2p1:LinkType>StartToStart</d2p1:LinkType>
              <d2p1:LinkedDeviceID>15</d2p1:LinkedDeviceID>
              <d2p1:LinkedDeviceName>sample string 16</d2p1:LinkedDeviceName>
              <d2p1:Offset>PT0.1234567S</d2p1:Offset>
              <d2p1:ProgramStepType>None</d2p1:ProgramStepType>
              <d2p1:ReturnValue>8.1</d2p1:ReturnValue>
              <d2p1:SetValue>7.1</d2p1:SetValue>
              <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
              <d2p1:StartOffset>PT0.1234567S</d2p1:StartOffset>
            </d2p1:APIStructs.ProgramStep>
          </d2p1:ProgramSteps>
          <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
          <d2p1:TotalTime>PT0.1234567S</d2p1:TotalTime>
        </d2p1:APIStructs.ProgramGroup>
      </d2p1:ProgramGroups>
      <d2p1:Settings>
        <d2p1:AllowStartDateAdjustment>true</d2p1:AllowStartDateAdjustment>
        <d2p1:AutoCancel>true</d2p1:AutoCancel>
        <d2p1:CommandRetryLimit>1</d2p1:CommandRetryLimit>
        <d2p1:HaltQueueOnError>true</d2p1:HaltQueueOnError>
        <d2p1:ResendOnError>true</d2p1:ResendOnError>
        <d2p1:ResendOnErrorLimit>1</d2p1:ResendOnErrorLimit>
        <d2p1:SendPeriod>PT0.1234567S</d2p1:SendPeriod>
      </d2p1:Settings>
      <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
    </d2p1:APIStructs.Program>
    <d2p1:APIStructs.Program>
      <d2p1:Description>sample string 3</d2p1:Description>
      <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
      <d2p1:ID>1</d2p1:ID>
      <d2p1:Name>sample string 2</d2p1:Name>
      <d2p1:OwnerID>6</d2p1:OwnerID>
      <d2p1:OwnerType>Device</d2p1:OwnerType>
      <d2p1:ProgramGroups>
        <d2p1:APIStructs.ProgramGroup>
          <d2p1:Description>sample string 3</d2p1:Description>
          <d2p1:DisplayIndex>5</d2p1:DisplayIndex>
          <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
          <d2p1:ID>1</d2p1:ID>
          <d2p1:LinkID>9</d2p1:LinkID>
          <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
          <d2p1:LinkType>StartToStart</d2p1:LinkType>
          <d2p1:Name>sample string 2</d2p1:Name>
          <d2p1:Offset>PT0.1234567S</d2p1:Offset>
          <d2p1:ParentGroupID>4</d2p1:ParentGroupID>
          <d2p1:ProgramSteps>
            <d2p1:APIStructs.ProgramStep>
              <d2p1:BatchTotalised>true</d2p1:BatchTotalised>
              <d2p1:Description>sample string 3</d2p1:Description>
              <d2p1:DeviceID>5</d2p1:DeviceID>
              <d2p1:DeviceName>sample string 6</d2p1:DeviceName>
              <d2p1:DisplayIndex>1</d2p1:DisplayIndex>
              <d2p1:Duration>PT0.1234567S</d2p1:Duration>
              <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
              <d2p1:FinishOffset>PT0.1234567S</d2p1:FinishOffset>
              <d2p1:GroupID>2</d2p1:GroupID>
              <d2p1:ID>1</d2p1:ID>
              <d2p1:LinkCutoffValue>17.1</d2p1:LinkCutoffValue>
              <d2p1:LinkID>4</d2p1:LinkID>
              <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
              <d2p1:LinkType>StartToStart</d2p1:LinkType>
              <d2p1:LinkedDeviceID>15</d2p1:LinkedDeviceID>
              <d2p1:LinkedDeviceName>sample string 16</d2p1:LinkedDeviceName>
              <d2p1:Offset>PT0.1234567S</d2p1:Offset>
              <d2p1:ProgramStepType>None</d2p1:ProgramStepType>
              <d2p1:ReturnValue>8.1</d2p1:ReturnValue>
              <d2p1:SetValue>7.1</d2p1:SetValue>
              <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
              <d2p1:StartOffset>PT0.1234567S</d2p1:StartOffset>
            </d2p1:APIStructs.ProgramStep>
            <d2p1:APIStructs.ProgramStep>
              <d2p1:BatchTotalised>true</d2p1:BatchTotalised>
              <d2p1:Description>sample string 3</d2p1:Description>
              <d2p1:DeviceID>5</d2p1:DeviceID>
              <d2p1:DeviceName>sample string 6</d2p1:DeviceName>
              <d2p1:DisplayIndex>1</d2p1:DisplayIndex>
              <d2p1:Duration>PT0.1234567S</d2p1:Duration>
              <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
              <d2p1:FinishOffset>PT0.1234567S</d2p1:FinishOffset>
              <d2p1:GroupID>2</d2p1:GroupID>
              <d2p1:ID>1</d2p1:ID>
              <d2p1:LinkCutoffValue>17.1</d2p1:LinkCutoffValue>
              <d2p1:LinkID>4</d2p1:LinkID>
              <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
              <d2p1:LinkType>StartToStart</d2p1:LinkType>
              <d2p1:LinkedDeviceID>15</d2p1:LinkedDeviceID>
              <d2p1:LinkedDeviceName>sample string 16</d2p1:LinkedDeviceName>
              <d2p1:Offset>PT0.1234567S</d2p1:Offset>
              <d2p1:ProgramStepType>None</d2p1:ProgramStepType>
              <d2p1:ReturnValue>8.1</d2p1:ReturnValue>
              <d2p1:SetValue>7.1</d2p1:SetValue>
              <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
              <d2p1:StartOffset>PT0.1234567S</d2p1:StartOffset>
            </d2p1:APIStructs.ProgramStep>
          </d2p1:ProgramSteps>
          <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
          <d2p1:TotalTime>PT0.1234567S</d2p1:TotalTime>
        </d2p1:APIStructs.ProgramGroup>
        <d2p1:APIStructs.ProgramGroup>
          <d2p1:Description>sample string 3</d2p1:Description>
          <d2p1:DisplayIndex>5</d2p1:DisplayIndex>
          <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
          <d2p1:ID>1</d2p1:ID>
          <d2p1:LinkID>9</d2p1:LinkID>
          <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
          <d2p1:LinkType>StartToStart</d2p1:LinkType>
          <d2p1:Name>sample string 2</d2p1:Name>
          <d2p1:Offset>PT0.1234567S</d2p1:Offset>
          <d2p1:ParentGroupID>4</d2p1:ParentGroupID>
          <d2p1:ProgramSteps>
            <d2p1:APIStructs.ProgramStep>
              <d2p1:BatchTotalised>true</d2p1:BatchTotalised>
              <d2p1:Description>sample string 3</d2p1:Description>
              <d2p1:DeviceID>5</d2p1:DeviceID>
              <d2p1:DeviceName>sample string 6</d2p1:DeviceName>
              <d2p1:DisplayIndex>1</d2p1:DisplayIndex>
              <d2p1:Duration>PT0.1234567S</d2p1:Duration>
              <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
              <d2p1:FinishOffset>PT0.1234567S</d2p1:FinishOffset>
              <d2p1:GroupID>2</d2p1:GroupID>
              <d2p1:ID>1</d2p1:ID>
              <d2p1:LinkCutoffValue>17.1</d2p1:LinkCutoffValue>
              <d2p1:LinkID>4</d2p1:LinkID>
              <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
              <d2p1:LinkType>StartToStart</d2p1:LinkType>
              <d2p1:LinkedDeviceID>15</d2p1:LinkedDeviceID>
              <d2p1:LinkedDeviceName>sample string 16</d2p1:LinkedDeviceName>
              <d2p1:Offset>PT0.1234567S</d2p1:Offset>
              <d2p1:ProgramStepType>None</d2p1:ProgramStepType>
              <d2p1:ReturnValue>8.1</d2p1:ReturnValue>
              <d2p1:SetValue>7.1</d2p1:SetValue>
              <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
              <d2p1:StartOffset>PT0.1234567S</d2p1:StartOffset>
            </d2p1:APIStructs.ProgramStep>
            <d2p1:APIStructs.ProgramStep>
              <d2p1:BatchTotalised>true</d2p1:BatchTotalised>
              <d2p1:Description>sample string 3</d2p1:Description>
              <d2p1:DeviceID>5</d2p1:DeviceID>
              <d2p1:DeviceName>sample string 6</d2p1:DeviceName>
              <d2p1:DisplayIndex>1</d2p1:DisplayIndex>
              <d2p1:Duration>PT0.1234567S</d2p1:Duration>
              <d2p1:FinishDate>2025-11-09T21:27:48.27041+10:00</d2p1:FinishDate>
              <d2p1:FinishOffset>PT0.1234567S</d2p1:FinishOffset>
              <d2p1:GroupID>2</d2p1:GroupID>
              <d2p1:ID>1</d2p1:ID>
              <d2p1:LinkCutoffValue>17.1</d2p1:LinkCutoffValue>
              <d2p1:LinkID>4</d2p1:LinkID>
              <d2p1:LinkObjectType>None</d2p1:LinkObjectType>
              <d2p1:LinkType>StartToStart</d2p1:LinkType>
              <d2p1:LinkedDeviceID>15</d2p1:LinkedDeviceID>
              <d2p1:LinkedDeviceName>sample string 16</d2p1:LinkedDeviceName>
              <d2p1:Offset>PT0.1234567S</d2p1:Offset>
              <d2p1:ProgramStepType>None</d2p1:ProgramStepType>
              <d2p1:ReturnValue>8.1</d2p1:ReturnValue>
              <d2p1:SetValue>7.1</d2p1:SetValue>
              <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
              <d2p1:StartOffset>PT0.1234567S</d2p1:StartOffset>
            </d2p1:APIStructs.ProgramStep>
          </d2p1:ProgramSteps>
          <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
          <d2p1:TotalTime>PT0.1234567S</d2p1:TotalTime>
        </d2p1:APIStructs.ProgramGroup>
      </d2p1:ProgramGroups>
      <d2p1:Settings>
        <d2p1:AllowStartDateAdjustment>true</d2p1:AllowStartDateAdjustment>
        <d2p1:AutoCancel>true</d2p1:AutoCancel>
        <d2p1:CommandRetryLimit>1</d2p1:CommandRetryLimit>
        <d2p1:HaltQueueOnError>true</d2p1:HaltQueueOnError>
        <d2p1:ResendOnError>true</d2p1:ResendOnError>
        <d2p1:ResendOnErrorLimit>1</d2p1:ResendOnErrorLimit>
        <d2p1:SendPeriod>PT0.1234567S</d2p1:SendPeriod>
      </d2p1:Settings>
      <d2p1:StartDate>2025-11-09T21:27:48.27041+10:00</d2p1:StartDate>
    </d2p1:APIStructs.Program>
  </Programs>
</GetProgramsResponse>