The IP Gateway can communicate with Keep directly and thus bypass the need for a controller; however, it can be used as a downstream device also.
Item -> BaseInfo -> EngageDeviceInfo -> EngageIpGatewayInfo
Field | Type | Inherited from | Description |
---|---|---|---|
Href | String | Item | Gets or sets the Href value |
CommonName | String | BaseInfo | Gets or sets the CommonName value |
ConcurrencyVersion | Nullable<Int64> | BaseInfo | Gets or sets the ConcurrencyVersion value |
InFolderHref | String | BaseInfo | Gets or sets the InFolderHref value |
InFolderKey | String | BaseInfo | Gets or sets the InFolderKey value |
IsGlobal | Boolean | BaseInfo | Gets or sets the IsGlobal value |
Key | String | BaseInfo | Gets or sets the Key value |
Links | List<Link> | BaseInfo | Gets or sets the Links value |
Metadata | MetadataItem[] | BaseInfo | Gets or sets the Metadata value |
Monikers | MonikerItem[] | BaseInfo | Gets or sets the Monikers value |
Notes | NoteInfo[] | BaseInfo | Gets or sets the Notes value |
ObjectLinks | ObjectLinkItem[] | BaseInfo | Gets or sets the ObjectLinks value |
Tags | String[] | BaseInfo | Gets or sets the Tags value |
DeviceReference | String | EngageDeviceInfo | Gets or sets the DeviceReference value |
DeviceType | String | EngageDeviceInfo | Gets or sets the DeviceType value |
LastUpdatedOn | Nullable<DateTime> | EngageDeviceInfo | Gets or sets the LastUpdatedOn value |
SerialNumberLong | String | EngageDeviceInfo | Gets or sets the SerialNumberLong value |
SerialNumberShort | String | EngageDeviceInfo | Gets or sets the SerialNumberShort value |
Timestamp | String | EngageDeviceInfo | Gets or sets the Timestamp value |
Timezone | String | EngageDeviceInfo | Gets or sets the Timezone value |
Version | String | EngageDeviceInfo | Gets or sets the Version value |
HostName | String | EngageIpGatewayInfo | Gets or sets the HostName value |
LastPing | Nullable<DateTime> | EngageIpGatewayInfo | Gets or sets the LastPing value |
Status | EngageIpGatewayStatusItem | EngageIpGatewayInfo | Gets or sets the Status value |
{
"Href" : "String",
"CommonName" : "String",
"ConcurrencyVersion" : "Nullable\<Int64\>",
"InFolderHref" : "String",
"InFolderKey" : "String",
"IsGlobal" : "Boolean",
"Key" : "String",
"Links" : "List\<[Link](/object-model/link)\>",
"Metadata" : "[MetadataItem](/object-model/metadataitem)[]",
"Monikers" : "[MonikerItem](/object-model/monikeritem)[]",
"Notes" : "[NoteInfo](/object-model/noteinfo)[]",
"ObjectLinks" : "[ObjectLinkItem](/object-model/objectlinkitem)[]",
"Tags" : "String[]",
"DeviceReference" : "String",
"DeviceType" : "String",
"LastUpdatedOn" : "Nullable\<DateTime\>",
"SerialNumberLong" : "String",
"SerialNumberShort" : "String",
"Timestamp" : "String",
"Timezone" : "String",
"Version" : "String",
"HostName" : "String",
"LastPing" : "Nullable\<DateTime\>",
"Status" : "[EngageIpGatewayStatusItem](/object-model/engageipgatewaystatusitem)"
}
Example in C#
// Returns: EngageIpGatewayInfo
var engageIpGatewayInfo = await client.AddEngageIpGatewayAsync(FolderInfo folder, EngageIpGatewayInfo item);
Example in CURL
curl -X POST \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/engageipgateways \
-H 'Authorization: Bearer TOKEN_GOES_HERE' \
-H 'cache-control: no-cache' \
-d '{
"$type":"Feenics.Keep.WebApi.Model.EngageIpGatewayInfo, Feenics.Keep.WebApi.Model",
"HostName":null,
"Status":null,
"LastPing":null,
"DeviceType":null,
"SerialNumberShort":"666",
"SerialNumberLong":"666",
"DeviceReference":null,
"Timestamp":null,
"Timezone":null,
"LastUpdatedOn":null,
"Version":null,
"Key":null,
"CommonName":"EngageReader_for_cURL",
"InFolderHref":null,
"InFolderKey":null,
"Links":[],
"ObjectLinks":null,
"Metadata":null,
"Notes":null,
"Tags":null,
"Monikers":null,
"Href":null
}'
Example in C#
// Returns: nothing
await client.DeleteEngageIpGatewayAsync(EngageIpGatewayInfo item);
Example in CURL
curl -X DELETE \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/engageipgateways/ENGAGEIPGATEWAY.KEY \
-H 'Authorization: Bearer TOKEN_GOES_HERE'
Example in C#
// Returns: IEnumerable<EngageIpGatewayInfo>
var engageIpGatewayInfo = await client.GetEngageIpGatewayAsync(FolderInfo folder);
Example in CURL
curl -X GET \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/engageipgateways \
-H 'Authorization: Bearer TOKEN_GOES_HERE'
Example in C#
// Returns: nothing
await client.UpdateEngageGatewayLastPingAsync(EngageIpGatewayInfo item);
Example in CURL
curl -X PUT \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/engageipgateways/ENGAGEIPGATEWAY.KEY/lastping \
-H 'Authorization: Bearer TOKEN_GOES_HERE' \
-H 'Content-Type: application/json' \
-d '{
"$type":"Feenics.Keep.WebApi.Model.EngageIpGatewayInfo, Feenics.Keep.WebApi.Model",
"HostName":null,
"Status":null,
"LastPing":DATETIME,
"DeviceType":null,
"SerialNumberShort":"111",
"SerialNumberLong":"111",
"DeviceReference":null,
"Timestamp":null,
"Timezone":null,
"LastUpdatedOn":null,
"Version":null,
"Key":"ENGAGEIPGATEWAY.KEY",
"CommonName":"EngageReader_for_cURL",
"InFolderHref":"/api/f/INSTANCE.KEY",
"InFolderKey":"INSTANCE.KEY",
"Links":
[
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Status",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"status","Text":"Status"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"LastPing",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"lastping",
"Text":"Engage IP Gateway Last Ping"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"LastUpdatedOn",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"lastupdatedon",
"Text":"Last Updated On"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Version",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"version",
"Text":"Version"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Meta",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"meta",
"Text":"Metadata"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Monikers","Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"monikers","Text":"Monikers"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"CommonName",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"commonname",
"Text":"Common Name"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Images",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"images",
"Text":"Images"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"TakeOwnership",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"takeownership",
"Text":"Take Ownership"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Connections",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"connections",
"Text":"Connected Objects"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"References",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"references",
"Text":"Referencing Objects"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Notes",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"notes",
"Text":"Notes"
}
}
],
"ObjectLinks":
[
{
"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebA.Model",
"Href":null,
"LinkedObjectKey":"INSTANCE.KEY",
"CommonName":"INSTANCE_NAME","Relation":"InInstance",
"MetaDataBson":
{
"$type":"System.Byte[], mscorlib",
"$value":""
}
},
{
"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebA.Model",
"Href":null,
"LinkedObjectKey":"INSTANCE.KEY",
"CommonName":"INSTANCE_NAME",
"Relation":"InstanceScope",
"MetaDataBson":
{
"$type":"System.Byte[], mscorlib",
"$value":""
}
}
],
"Metadata":[],
"Notes":[],
"Tags":[],
"Monikers":[],
"Href":"/api/f/INSTANCE.KEY/engageipgateways/ENGAGEIPGATEWAY.KEY"
}'
Example in C#
// Returns: nothing
await client.UpdateEngageIpGatewayAsync(EngageIpGatewayInfo item);
Example in CURL
curl -X PUT \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/engageipgateways/ENGAGEIPGATEWAY.KEY \
-H 'Authorization: Bearer TOKEN_GOES_HERE' \
-H 'Content-Type: application/json' \
-d '{
"$type":"Feenics.Keep.WebApi.Model.EngageIpGatewayInfo, Feenics.Keep.WebApi.Model",
"HostName":null,
"Status":null,
"LastPing":null,
"DeviceType":null,
"SerialNumberShort":"666",
"SerialNumberLong":"666",
"DeviceReference":null,
"Timestamp":null,
"Timezone":null,
"LastUpdatedOn":null,
"Version":null,
"Key":"ENGAGEIPGATEWAY.KEY",
"CommonName":"EngageReader_for_cURL",
"InFolderHref":"/api/f/INSTANCE.KEY",
"InFolderKey":"INSTANCE.KEY",
"Links":
[
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Status",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"status","Text":"Status"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"LastPing",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"lastping","Text":"Engage IP Gateway Last Ping"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"LastUpdatedOn",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"lastupdatedon",
"Text":"Last Updated On"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Version",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"version",
"Text":"Version"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Meta",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"meta",
"Text":"Metadata"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Monikers",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"monikers",
"Text":"Monikers"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"CommonName",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"commonname",
"Text":"Common Name"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Images",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"images",
"Text":"Images"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"TakeOwnership",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"takeownership",
"Text":"Take Ownership"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Connections",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"connections",
"Text":"Connected Objects"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"References",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"references",
"Text":"Referencing Objects"
}
},
{
"$type":"Feenics.Keep.WebApi.Model.Link, Feenics.Keep.WebApi.Model",
"Relation":"Notes",
"Anchor":
{
"$type":"Feenics.Keep.WebApi.Model.Anchor, Feenics.Keep.WebApi.Model",
"Href":"notes",
"Text":"Notes"
}
}
],
"ObjectLinks":
[
{
"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
"Href":null,
"LinkedObjectKey":"INSTANCE.KEY",
"CommonName":"INSTANCE_NAME",
"Relation":"InInstance",
"MetaDataBson":
{
"$type":"System.Byte[], mscorlib",
"$value":""
}
},
{
"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
"Href":null,
"LinkedObjectKey":"INSTANCE.KEY",
"CommonName":"INSTANCE_NAME",
"Relation":"InstanceScope",
"MetaDataBson":
{
"$type":"System.Byte[], mscorlib",
"$value":""
}
}
],
"Metadata":[],
"Notes":[],
"Tags":[],
"Monikers":[],
"Href":"/api/f/INSTANCE.KEY/engageipgateways/ENGAGEIPGATEWAY.KEY"
}'
Example in C#
// Returns: nothing
await client.UpdateEngageIpGatewayStatusAsync(EngageIpGatewayInfo gateway, EngageIpGatewayStatusItem status);
Example in CURL
curl -X PUT \
https://keepapi.feenicshosting.com/api/f/INSTANCE.KEY/engageipgateways/ENGAGEIPGATEWAY.KEY/status \
-H 'Authorization: Bearer TOKEN_GOES_HERE' \
-H 'Content-Type: application/json' \
-d ENGAGEIPGATEWAY.STATUSITEM