Endpoint Manager REST API v3.21

Endpoint Manager REST API v3.21
Table of Contents
Endpoint Manager API Summary ........................................................................................ 6
XML Headers ...................................................................................................................... 6
Context Type ...................................................................................................................... 6
URI Prefix............................................................................................................................ 6
URI Parameters .................................................................................................................. 6
Return Codes/Values ........................................................................................................ 6
Schema Definition.............................................................................................................. 7
Asynchronous Query Requests........................................................................................ 8
Query Types.................................................................................................................... 8
Get Endpoint Registration Status .................................................................................. 11
Configure Endpoint Registration (EPM registration of Endpoints)......................... 11
Creating an Endpoint ...................................................................................................... 12
Deleting an Endpoint ...................................................................................................... 13
Updating an Endpoint..................................................................................................... 13
Updating Endpoint Name............................................................................................... 13
Updating Endpoint Description..................................................................................... 13
Updating Endpoint Timezone........................................................................................ 14
Updating Endpoint Location Code ................................................................................ 14
Updating Endpoint Billing ID ......................................................................................... 14
Retrieving an Endpoint................................................................................................... 15
Searching For Endpoints w/WildCard ......................................................................... 15
Set an Endpoint Watch.................................................................................................... 16
Clear an Endpoint Watch................................................................................................ 17
Get all Watches from an Endpoint ................................................................................ 17
Batch Loading Endpoints ............................................................................................... 18
Sending a Debug Command to an Endpoint ................................................................ 18
Deleting all Debug Records for an Endpoint ............................................................... 18
Sending a Configuration to an Endpoint ...................................................................... 19
Canceling a Configuration Snapshot from an Endpoint............................................. 20
Canceling a Published Configuration on a Group ....................................................... 20
Restoring an Endpoint’s Configuration(s)................................................................... 20
Getting Endpoint Debug Commands............................................................................. 20
Getting All Endpoint Debug Entries .............................................................................. 21
Activating Logging For an Endpoint ............................................................................. 21
Deactivating Logging For an Endpoint......................................................................... 21
Get A List Of Endpoint Device Types ............................................................................ 21
Getting Topic Logs For a Log Type & Interval ............................................................. 22
Getting Topic Logs For a Log Type & Interval w/Paging........................................... 22
Getting Topic Logs By Type............................................................................................ 23
Delete All Logs By Topic ID............................................................................................ 23
Delete All Logs By Topic ID Prior To Date ................................................................... 23
Join An Endpoint to a Dynamic Group.......................................................................... 23
Determine Dynamic Groups for all Endpoints ............................................................ 24
Set a Performance Parameter on an Endpoint............................................................ 24
Delete/Cancel a Performance Parameter From an Endpoint ................................... 24
Getting an Endpoint’s Performance Parameters ........................................................ 25
ACS Set Parameter ........................................................................................................... 25
ACS GET Parameter......................................................................................................... 26
Getting an Endpoint’s Installed Items .......................................................................... 26
Getting Info for an Endpoint Installed Item................................................................. 26
Deleting an Endpoint Installed Item............................................................................. 27
Send a vsCVT to an Endpoint......................................................................................... 27
Managing Performance Parameters.................................................................................. 28
Get All Active Performance Parameters....................................................................... 28
Creating a Group.............................................................................................................. 29
Deleting a Group.............................................................................................................. 29
Updating a Group............................................................................................................. 30
Retrieving a Group .......................................................................................................... 30
Retrieving all Groups ...................................................................................................... 30
Retrieving all Dynamic Groups...................................................................................... 30
Retrieving all Dynamic Groups by Activation Status ................................................. 31
Retrieving all Static Groups............................................................................................ 31
Setting the Activation Status of a Group ...................................................................... 32
Get Group Endpoint Attachment Metrics..................................................................... 32
Managing Watches............................................................................................................... 33
Create a Watch ................................................................................................................. 33
Update a Watch................................................................................................................ 33
Get a Watch....................................................................................................................... 34
Get all Watches................................................................................................................. 34
Delete a Watch ................................................................................................................. 34
Publishing a Watch to a Group ...................................................................................... 34
Delete/Cancel a Watch from a Group........................................................................... 35
Manage Parameters ............................................................................................................. 36
Create a Parameter.......................................................................................................... 36
Update a Parameter......................................................................................................... 36
Get a Parameter ............................................................................................................... 36
Get all Parameters ........................................................................................................... 37
Delete a Parameter.......................................................................................................... 38
Managing Configurations.................................................................................................... 38
Creating a Configuration................................................................................................. 38
Update a Configuration................................................................................................... 38
Get a Configuration.......................................................................................................... 39
Get all Configurations...................................................................................................... 40
Delete a Configuration .................................................................................................... 41
Publish a Group’s Configuration to its Endpoints....................................................... 41
Managing Debug Items........................................................................................................ 41
Deleting all Debug Records By Date ............................................................................. 41
Managing Topics .................................................................................................................. 41
Create a Topic................................................................................................................... 41
Delete a Topic................................................................................................................... 42
Get a Topic........................................................................................................................ 42
Get all Topics .................................................................................................................... 42
Update Topic .................................................................................................................... 42
Manage Rules........................................................................................................................ 43
Create a Rule..................................................................................................................... 43
Delete a Rule..................................................................................................................... 43
Get a Rule.......................................................................................................................... 43
Get all Rules ...................................................................................................................... 43
Update Rule ...................................................................................................................... 44
Manage Application Download.......................................................................................... 44
Uploading an Image......................................................................................................... 44
Uploading an Image via SFTP ........................................................................................ 44
Uploading an Image w/asynchronous response status............................................. 45
Get an Image upload status ............................................................................................ 45
Getting an Image (Used by an Endpoint to download an image/component file) 45
Delete an Image ............................................................................................................... 45
Getting a list of available images ................................................................................... 46
Associate an Image to a Group....................................................................................... 46
Disassociate an Image From a Group ........................................................................... 46
Get Group CVT(s)............................................................................................................. 46
Publish a Group’s CVT Configuration ........................................................................... 47
Get All Groups CVT(s) ..................................................................................................... 47
Get A Group’s Package(s) for CVT................................................................................ 47
Diagnostics............................................................................................................................ 48
Get EPM Current State .................................................................................................... 48
Get Endpoint Count ......................................................................................................... 48
Get Group Count............................................................................................................... 48
Get Dynamic Group Count.............................................................................................. 49
Get Fixed Group Count.................................................................................................... 49
Get Topic Count................................................................................................................ 49
Get Watch Count .............................................................................................................. 49
Get Log Count ................................................................................................................... 50
Get Parameters Count..................................................................................................... 50
Get Configuration Count................................................................................................. 50
Get Application File Count.............................................................................................. 50
Get Rule Count.................................................................................................................. 51
Get Debug Count .............................................................................................................. 51
Get Published Object Count............................................................................................ 51
Get Current vsCVT State ................................................................................................. 52
Reports .................................................................................................................................. 53
Generate Endpoint To JID Mapping Report................................................................. 53
Generate Endpoint Group Associations Report .......................................................... 53
High Availability................................................................................................................... 54
Get HA Node Status ......................................................................................................... 54
Log File Management .......................................................................................................... 55
Get Log File Directory Listing By Type......................................................................... 55
Get Log File Entry By Type and ID ................................................................................ 55
Get Associated Debug Logfile By Debug ID.................................................................. 55
Get Log File Directory Listing By File Type and ID..................................................... 55
Delete All Log Files By Type........................................................................................... 56
Delete Log File By Type and ID...................................................................................... 56
Endpoint Responder Metrics ............................................................................................. 57
Get Metric by Type .......................................................................................................... 57
Command 2000 (Cmd2K)................................................................................................... 58
Create EC........................................................................................................................... 58
Update EC.......................................................................................................................... 58
Delete EC........................................................................................................................... 58
Get EC ................................................................................................................................ 59
Get ECs............................................................................................................................... 59
Get Cmd2K Logs Directory Listing By EC..................................................................... 60
Get Cmd2K Logfile From EC........................................................................................... 60
Send Cmd2K Command .................................................................................................. 61
Get Cmd2K Command/Response History By STB MAC Address ............................. 62
Delete Device Log History .............................................................................................. 62
Endpoint Manager API Summary
The following document describes the REST interface for provisioning Endpoint
Manager components.
XML Headers
Each API response will contain a standard XML header:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Context Type
The request header must specify the following Context Type:
•
application/xml
URI Prefix
All request URLs must have the following URL prefix:
http://<host>:8080/endpointMgr/api/
For example, to create an Endpoint specify:
http://<endpoint_mgr_host>:8080/endpointMgr/api/endpoint/1234
URI Parameters
Parameters for an API URI may have parametric values in the URI definition. The
parameters are indicated by {} in the URI format. For example, the following Create
Endpoint snippet request format indicates an ID parameter is required.
../api/endpoint/{id}
Return Codes/Values
A status object will be returned for each request. The status object will contain
either an error message tag, or an error message tag, and request data. The error
message tag will be empty if there are no errors. Otherwise, the error message tag
will be populated with error information.
The standard HTTP error codes that may be returned are:
•
•
•
•
•
•
•
200 Ok
201 Created
400 Bad Request
401 Unauthorized
404 Not Found
405 Method Not Allowed
500 Internal Error , a status object is returned and the errormsg is
populated on error
Note: The order of child elements under a parent tag is not guaranteed. For
example:
<Endpoint>
<BillingID/>
<LocationCode/>
</Endpoint>
<Endpoint>
<LocationCode/>
<BillingID/>
</Endpoint>
The XML structure components may contain additional elements. Any additional
elements must be ignored.
Schema Definition
The Endpoint Manager REST API transactions are validated against the Endpoint
Manager XSD Schema. The following URI are for example purposes, although, client
implementations should use the EPM XSD Schema as the document of record
regarding the EPM REST entities. See the following schema definition references for
all Endpoint Manager messaging:
• Endpoint Manager XML Schema, EDCS-1108678
• Application Download XML Schema, EDCS-1113640
• EPM Image Manifest XSD, EDCS-1139564
Namespaces
All Endpoint Manager messages are defined in the XML/XSD schema specifications.
Each schema has a defined namespace. Therefore, all messages will contain a
namespace designation to and from the Endpoint Manager. For example, the
following message to create a group may be constructed like the following:
<EndpointGroup xmlns="http://protocols. cis co. com /spvtg /conductor/endpointMa nager">
<GroupDescription>TheiPadGroup< /GroupDes cription>
<GroupName>iPadGroup</Grou pNa me>
</EndpointGroup>
Asynchronous Query Requests
There are a few actions in Endpoint Manager that are long running. In that, the
request could take a long time to complete. The following describes how to retrieve
the results of an asynchronous message transaction.
For all asynchronous actions, the API will return an asynchronous response status
object. This object contains the status of the requested action, as well as a
transaction ID and a timeout value. The client is expected to use the transaction ID
and timeout to request the result of an asynchronous request. The timeout value is
an indicator to the client caller how long the transaction may take. The client caller
should wait until the timeout period before requesting the results of a transaction.
For example, sending a debug command to an Endpoint will return a
DebugAsyncStatus object:
<DebugAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</DebugAsyncStatus>
The client caller should wait for the timeout period (in milliseconds) and then
request the result of the transaction with the following URI:
queryResult/transaction/{transactionID}/type/{transactionType}
The queryResult call will return an appropriate response object based on the type
specified. See Query Types table below.
The following is a list of asynchronous request and their corresponding responses.
See individual requests for details:
Query Types
Type
Description
sendDebug
Sends debug requests to an
Endpoint
listDebug
sendConfig (future)
setPerfParameter
Requests a list of all debug
commands from an Endpoint
Sends a configuration to an
Endpoint
Sends a performance
Query Response
<DebugStatus>
<errormsg/>
<EndpointDebug/>
</DebugStatus>
<EndpointDebugListStatus>
<errormsg/>
<DebugCmds>
<DebugCmd>
<Command/>
<Parameter/>
</DebugCmd>
:
</DebugCmds>
</EndpointDebugListStatus>
<ConfigStatus>
<errormsg/>
<EndpointConfig/>
</ConfigStatus>
<ParameterStatus>
cancelPerfParameter
queryPerfParameter
parameter to an Endpoint
Deletes a performance
parameter on an Endpoint
Queries for performance
parameters on an Endpoint
setWatch
Sets a watch on an Endpoint
getWatches
Gets watches from an
endpoint
deleteWatch
Deletes a watch on an
Endpoint
getInstalledItems
getInstalledItemInfo
deleteInstalledItem
restore
Gets the list of Installed Items
from an Endpoint
Get the information for an
Installed Item
Deletes an Installed Item from
an Endpoint
Restores an Endpoint’s
configurations to the current
settings
cancelConfiguration
Cancels a configuration
snapshot on an Endpoint
SetCommand
Sets a Parameter on an
Endpoint
GetCommand
Gets a Parameter value from
an Endpoint
<errormsg/>
<EndpointParameter/>
</ParameterStatus>
<ParameterStatus>
<errormsg/>
<EndpointParameter/>
</ParameterStatus>
<PerformanceListStatus>
<errormsg/>
<PublishIDs>
<PublishID/>
</PublishIDs>
</PerformanceListStatus>
<WatchStatus>
<errormsg/>
<EndpointWatch/>
</WatchStatus>
<EndpointWatchListStatus>
<errormsg/>
<EndpointWatches>
<EndpointWatch/>
</EndpointWatches>
</EndpointWatchListStatus>
<WatchStatus>
<errormsg/>
<EndpointWatch/>
</WatchStatus>
<InstalledItemListStatus>
<InstalledItemsData>
<InstalledItemsSpec/>
</InstalledItemsData>
</InstalledItemListStatus>
<InstalledItemStatus>
<errormsg/>
<InstalledItemsData/>
</InstalledItemStatus>
<InstalledItemStatus>
<errormsg/>
<InstalledItemsData/>
</InstalledItemStatus>
<RestoreStatus>
<errormsg/>
<RestoreCommandReply>
<VersionID>1</VersionID>
<Status>Success</Status>
<ConfigurationID>1980363e-48d5-423f-b0017755d7ac1e12</ConfigurationID>
:
<EndpointJID>[email protected]</EndpointJID>
<EndpointTime>2013-07-10T17:02:24.00004:00</EndpointTime>
</RestoreCommandReply>
</RestoreStatus>
<ConfigIdListStatus>
<ID>1980363e-48d5-423f-b001-7755d7ac1e12</ID>
:
<errormsg/>
</ConfigIdListStatus>
<SetCommandStatus>
<errormsg/>
</SetCommandStatus>
<GetCommandStatus>
<errormsg/>
<ACSValue>
<name/>
<type/>
<value/>
</ACSValue>
</GetCommandStatus>
Manage Endpoints
Get Endpoint Registration Status
URI
Method
Request Body
Returns
Example Reply
endpoint/registration/status
GET
N/A
200 Ok
500 Internal Error
<RegistrationStatus>
<errormsg/>
<RegistrationAllowed/>
</RegistrationStatus>
Note: RegistrationAllowed possible values are { “true”, “false” }
Configure Endpoint Registration (EPM registration of Endpoints)
URI
Method
Request Body
Returns
Example Reply
endpoint/registration/{action}
PUT
N/A
200 Ok
500 Internal Error
Enable – Allow Endpoint registrations
Disable – Disallow Endpoint registrations
Note: The possible actions are {“enable”, ”disable”}
Creating an Endpoint
URI
Method
Request Body
endpoint/{id}
POST
Returns
201 Created
500 Internal Error
Example Reply
Payload
<Endpoint>
<EndpointName/>
<TimeZone/>
<LocationCode/>
<BillingID/>
<EndpointDescription/>
<JID/>
</Endpoint>
<EndpointStatus>
<Endpoint>
<ActivationFlag>false</ActivationFlag>
<BillingID>1100</BillingID>
<connected>false</connected>
<CreationTime>2011-10-14T10:53:17.298-04:00</CreationTime>
<EndpointDescription>This is my first endpoint for Conductor</EndpointDescription>
<EndpointID>8001</EndpointID>
<EndpointName>My First Endpoint</EndpointName>
<LastSignon>2011-10-14T10:53:17.298-04:00</LastSignon>
<LocationCode>5500</LocationCode>
<LoggingFlag>false</LoggingFlag>
<ManagedFlag>false</ManagedFlag>
<TypeID/>
<JID/>
<GroupIDs>
<GroupID/>
</GroupIDs>
<ConfigurationId/>
<PubSubId/>
<AppIdList/>
<TimeZone>5</TimeZone>
<MetadataList>
<Metadata/>
</MetadataList>
<Events>
<Event/>
</Events>
<Watches>
<Watch/>
</Watches>
<Debugs>
<Debug/>
</Debugs>
<LastUpdateTime>2011-10-14T10:53:17.298-04:00</LastUpdateTime>
</Endpoint>
<errormsg/>
</EndpointStatus>
Deleting an Endpoint
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}
DELETE
N/A
200 Ok
500 Internal Error
<EndpointStatus>
<errormsg/>
<Endpoint/>
</EndpointStatus>
Updating an Endpoint
URI
Method
Request Body
endpoint/{id}
PUT
Returns
201 Created
500 Internal Error
Example Reply
<Endpoint>
<EndpointName/>
<TimeZone/>
<LocationCode/>
<BillingID/>
<EndpointDescription/>
</Endpoint>
The updated endpoint object
Updating Endpoint Name
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/name/{name}
PUT
N/A
200 Ok
500 Internal Error
<EndpointStatus>
<Endpoint/>
<errormsg/>
</EndpointStatus>
Updating Endpoint Description
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/description/{description}
PUT
N/A
200 Ok
500 Internal Error
<EndpointStatus>
<Endpoint/>
<errormsg/>
</EndpointStatus>
Updating Endpoint Timezone
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/timezone/{timezone}
PUT
N/A
200 Ok
500 Internal Error
<EndpointStatus>
<Endpoint/>
<errormsg/>
</EndpointStatus>
Updating Endpoint Location Code
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/locationcode/{locationcode}
PUT
N/A
200 Ok
500 Internal Error
<EndpointStatus>
<Endpoint/>
<errormsg/>
</EndpointStatus>
Updating Endpoint Billing ID
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/billingid/{ billingid }
PUT
N/A
200 Ok
500 Internal Error
<EndpointStatus>
<Endpoint/>
<errormsg/>
</EndpointStatus>
Retrieving an Endpoint
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}
GET
N/A
200 Ok
500 Internal Error
<EndpointStatus>
<Endpoint/>
<errormsg/>
</EndpointStatus>
Searching For Endpoints w/WildCard
URI
Method
Request Body
Returns
Example Reply
Search String
Criteria
endpoint/search/identifier/{keyType}/searchstr/{searchString}
GET
N/A
200 Ok
500 Internal Error
<EndpointIdListStatus>
<EndpointIds>
<EndpointId/>
:
</EndpointIds>
<errormsg/>
</EndpointIdListStatus>
A wildcard ‘*’ may be used in the searchString. For example, searching for all IDs with the substring of
‘smith@mytelecom’
../*smith@mytelecom*.com
Note: The max number of results returned is 1000. An error will be returned if the result set is larger then the max
number of results.
Set an Endpoint Watch
URI
Method
Request Body
Returns
Example Reply
endpoint/{endpointId}/watch/{watchId}
PUT
N/A
200 Ok
500 Internal Error
<WatchAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</WatchAsyncStatus>
Clear an Endpoint Watch
URI
Method
Request Body
Returns
Example Reply
endpoint/{endpointId}/watch/{watchId}
DELETE
N/A
200 Ok
500 Internal Error
<WatchAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</WatchAsyncStatus>
Get all Watches from an Endpoint
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/watches
GET
N/A
200 Ok
500 Internal Error
<WatchAsyncListStatus>
<errormsg/>
<transactionID/>
<timeout/>
</WatchAsyncListStatus>
Batch Loading Endpoints
URI
Method
Request Body
endpoints
POST
Returns
201 Created
500 Internal Error
Example Reply
<EndpointBatch>
<Endpoints>
<Endpoint/>
:
</Endpoints>
</EndpointBatch>
<EndpointBatchStatus>
<failures>
<EndpointStatus>
<errormsg/>
<Endpoint/>
</EndpointStatus>
:
</failures>
<numberOfFailures/>
<numberProcessed/>
</EndpointBatchStatus>
Sending a Debug Command to an Endpoint
URI
Method
Request Body
endpoint/{id}/debug/send
PUT
Example Reply
<DebugAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</DebugAsyncStatus>
<SendDebugCommand/>
Note: Up to 13 parameters are allowed
200 Ok
500 Internal Error
Deleting all Debug Records for an Endpoint
URI
Method
Request Body
Example Reply
cleardebug/endpointid/{endpointId}
DELETE
N//A
200 Ok
500 Internal Error
<DebugStatus/>
Sending a Configuration to an Endpoint
URI
Method
Request Body
Example Reply
endpoint/{endpointId}/config/{configId}/send
PUT
N/A
200 Ok
500 Internal Error
<ConfigAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</ConfigAsyncStatus>
Canceling a Configuration Snapshot from an Endpoint
URI
Method
Request Body
Returns
Example Reply
endpoint/{endpointId}/config/cancel
PUT
N/A
200 Ok
500 Internal Error
<AsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</AsyncStatus>
Canceling a Published Configuration on a Group
URI
Method
Request Body
Returns
Example Reply
configcancel/{groupID}
DELETE
N/A
200 Ok
500 Internal Error
<ConfigStatus>
<errormsg/>
</ConfigStatus>
Restoring an Endpoint’s Configuration(s)
URI
Method
Request Body
Example Reply
endpoint/{endpointId}/restore
PUT
N/A
200 Ok
500 Internal Error
<AsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</AsyncStatus>
Getting Endpoint Debug Commands
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/debugs
GET
N/A
200 Ok
500 Internal Error
<DebugAsyncListStatus>
<errormsg/>
<transactionID/>
<timeout/>
</DebugAsyncListStatus>
Getting All Endpoint Debug Entries
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/debugs/ack
GET
N/A
200 Ok
500 Internal Error
<DebugListStatus>
<errormsg/>
<EndpointDebugs>
:
<EndpointDebug/>
</EndpointDebugs>
</DebugListStatus>
Note: Returns all debug entries for endpoint
Activating Logging For an Endpoint
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/log/activate
PUT
N/A
200 Ok
500 Internal Error
<LogStatus>
<errormsg/>
</LogStatus>
Deactivating Logging For an Endpoint
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/log/deactivate
PUT
N/A
200 Ok
500 Internal Error
<LogStatus>
<errormsg/>
</LogStatus>
Get A List Of Endpoint Device Types
URI
Method
Request Body
Returns
Example Reply
Endpoints/devicetypes
GET
N/A
200 Ok
500 Internal Error
<DeviceTypesListStatus>
<errormsg/>
<DeviceType>iPhone</DeviceType>
<DeviceType>Unknown</DeviceType>
:
</DeviceTypesListStatus>
Getting Topic Logs For a Log Type & Interval
URI
Method
Request
Body
Returns
Example
Reply
topic/{id}/log/{log_type}/query/start/{start_time}/end/{end_time}
GET
N/A
200 Ok
500 Internal Error
<LogListStatus>
<errormsg/>
<EndpointLogs>
<EndpointLog/>
:
</EndpointLogs>
</LogListStatus>
Note: Start/End times must be specified in XSD dateTime format and UTC timezone.
Ex: 2002-05-30T09:30:10Z
Getting Topic Logs For a Log Type & Interval w/Paging
URI
Request
Header
Return
Header
Method
Request
Body
Returns
Example
Reply
topic/{id}/log/{log_type}/query/start/{start_time}/end/{end_time}
Range: items=0-n (this is the range of items per page requested)
Content-Range: items 0-2/N (this is the range of items returns/total
number of items available)
GET
N/A
200 Ok
500 Internal Error
<LogListStatus>
<errormsg/>
<EndpointLogs>
<EndpointLog/>
:
</EndpointLogs>
</LogListStatus>
Note: Start/End times must be specified in XSD dateTime format and UTC timezone.
Ex: 2002-05-30T09:30:10Z
Getting Topic Logs By Type
URI
Method
Request Body
Returns
Example Reply
topic/{id}/logs/{log_type}
GET
N/A
200 Ok
500 Internal Error
<LogListStatus>
<errormsg/>
<EndpointLogs>
<EndpointLog/>
:
</EndpointLogs>
</LogListStatus>
Note: The possible types are: {“ Watch” , “ Event” , “ Performance” }
Delete All Logs By Topic ID
URI
Method
Request Body
Returns
Example Reply
cleartopiclogs/{topicId}
DELETE
N/A
200 Ok
500 Internal Error
<LogStatus>
<errormsg/>
</LogStatus>
Delete All Logs By Topic ID Prior To Date
URI
Method
Request Body
Returns
Example Reply
cleartopiclogs/{topicId}/date/{date}
DELETE
N/A
200 Ok
500 Internal Error
<LogStatus>
<errormsg/>
</LogStatus>
Join An Endpoint to a Dynamic Group
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/joindynamicgroup
PUT
N/A
200 Ok
500 Internal Error
<GroupStatus>
<errormsg/>
</GroupStatus>
Determine Dynamic Groups for all Endpoints
URI
Method
Request Body
Returns
Example Reply
endpoints/dynamicgroups/evaluate
PUT
N/A
200 Ok
500 Internal Error
<GroupStatus>
<errormsg/>
</GroupStatus>
Set a Performance Parameter on an Endpoint
URI
endpoint/{endpointId}/performance/topic/{topicId}/param/{paramId}/
interval/{interval}
PUT
Metho
d
Reque N/A
st
Body
Retur 200 Ok
ns
500 Internal Error
Examp <PerformanceAsyncStatus>
<errormsg/>
le
<transactionID/>
<timeout/>
Reply </PerformanceAsyncStatus>
Delete/Cancel a Performance Parameter From an Endpoint
URI
Method
Request Body
Returns
Example Reply
endpoint/{endpointId}/performance/{publishId}
DELETE
N/A
200 Ok
500 Internal Error
<PerformanceAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</PerformanceAsyncStatus>
Getting an Endpoint’s Performance Parameters
URI
Method
Request Body
Returns
Example Reply
endpoint/{id}/performance/parameters
GET
N/A
200 Ok
500 Internal Error
<PerformanceAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</PerformanceAsyncStatus>
ACS Set Parameter
URI
Method
Request Body
endpoint/jid/{jid}/acs/set
PUT
Returns
200 Ok
500 Internal Error
Example Reply
<SetCommand VersionID="1">
<Parameter>
<Value>
<name>name1</name>
<type>type1</typ e>
<value>value1</value>
</Value>
<createTime>2006-05-04T18:13:51.0Z</creat eTime>
</Parameter>
<Parameter>
<Value>
<name>name2</name>
<type>type2</typ e>
<value>value2</value>
</Value>
<createTime>2008-05-04T18:13:51.0Z</creat eTime>
</Parameter>
<Parameter>
<Value>
<name>name3</name>
<type>type3</typ e>
<value>value3</value>
</Value>
<createTime>2009-05-04T18:13:51.0Z</creat eTime>
</Parameter>
</SetCommand>
<AcsAsyncStatus>
<errorMessage/>
<timeout/>
<transactionID/>
</AcsAsyncStatus>
Note: See Asynchronous Query Requests Section of document for information on
querying asynchronous query requests
ACS GET Parameter
URI
Method
Request Body
Returns
Example Reply
endpoint/jid/{jid}/acs/param/{paramName}/type/{paramType}
GET
N/A
200 Ok
500 Internal Error
<AcsAsyncStatus>
<errorMessage/>
<timeout/>
<transactionID/>
</AcsAsyncStatus>
Note: See Asynchronous Query Requests Section of document for information on
querying asynchronous query requests
Getting an Endpoint’s Installed Items
URI
Method
Request Body
Returns
Example Reply
endpoint/{endpointId}/installeditems
GET
N/A
200 Ok
500 Internal Error
<InstalledItemAsyncListStatus>
<errormsg/>
<transactionID/>
<timeout/>
<InstalledItemAsyncListStatus>
See Asynchronous Query Request Status section for information on querying asynchronously to
Endpoints
Getting Info for an Endpoint Installed Item
URI
Method
Request Body
Returns
Example Reply
endpoint/{endpointId}/installeditem/{itemId}
GET
N/A
200 Ok
500 Internal Error
<InstalledItemAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
<InstalledItemAsyncStatus>
See Asynchronous Query Request Status section for information on querying asynchronously to
Endpoints
Deleting an Endpoint Installed Item
URI
Method
Request Body
Returns
Example Reply
endpoint/{endpointId}/installeditem/{itemId}
DELETE
N/A
200 Ok
500 Internal Error
<InstalledItemAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
<InstalledItemAsyncStatus>
See Asynchronous Query Request Status section for information on querying asynchronously to
Endpoints
Send a vsCVT to an Endpoint
URI
Meth
od
Requ
est
Body
Retur
ns
Exam
ple
Reply
endpoint/{endpointId}/image/{imageId}/send/urgency/{urgency}/startT
ime/{start}/stopTime/{stop}
PUT
N/A
200 Ok
500 Internal Error
<CvtAsyncStatus>
<errormsg/>
<transactionID/>
<timeout/>
</CvtAsyncStatus>
Managing Performance Parameters
Get All Active Performance Parameters
URI
Method
Request Body
Returns
Example Reply
performance/parameters
GET
N/A
200 Ok
500 Internal Error
<PerformanceStatus>
<errormsg/>
</PerformanceStatus>
Managing Groups
Creating a Group
URI
Method
Request Body
group
POST
Returns
201 Created
500 Internal Error
Example Reply
<EndpointGroup>
<GroupName/>
<GroupDescription/>
<EndpointGroupRules>
<EndpointGroupRule>
<Parameter/>
<Operation/>
<Value/>
<Type/>
<Description/>
</EndpointGroupRules>
<PubSubReference/>
<ConfigurationReference/>
<GroupReference/>
</EndpointGroup>
<GroupStatus>
<errormsg/>
<EndpointGroup/>
</GroupStatus>
Deleting a Group
URI
Method
Request Body
Returns
Example Reply
group/{id}
DELETE
N/A
200 Ok
500 Internal Error
<GroupStatus>
<errormsg/>
<EndpointGroup/>
</GroupStatus>
Updating a Group
URI
Method
Request Body
Returns
Example Reply
group/{id}
PUT
<EndpointGroup/>
200 Ok
500 Internal Error
<GroupStatus>
<errormgs/>
<EndpointGroup/>
</GroupStatus>
Retrieving a Group
URI
Method
Request Body
Returns
Example Reply
group/{id}
GET
N/A
200 Ok
500 Internal Error
<GroupStatus>
<errormsg/>
<EndpointGroup/>
</GroupStatus>
Retrieving all Groups
URI
Method
Request Body
Returns
Example Reply
groups
GET
N/A
200 Ok
500 Internal Error
<GroupListStatus>
<errormsg/>
<EndpointGroup/>
</GroupListStatus>
Retrieving all Dynamic Groups
URI
Method
Request Body
Returns
Example Reply
dynamicgroups
GET
N/A
200 Ok
500 Internal Error
<GroupListStatus>
<errormsg/>
:
<EndpointGroup/>
</GroupListStatus>
Retrieving all Dynamic Groups by Activation Status
URI
Method
Request Body
Returns
Example Reply
dynamicgroups/status/{state}
GET
N/A
200 Ok
500 Internal Error
<GroupListStatus>
<errormsg/>
:
<EndpointGroup/>
</GroupListStatus>
Retrieving all Static Groups
URI
Method
Request Body
Returns
Example Reply
staticgroups
GET
N/A
200 Ok
500 Internal Error
<GroupListStatus>
<errormsg/>
:
<EndpointGroup/>
</GroupListStatus>
Setting the Activation Status of a Group
URI
Method
Request Body
Returns
Example Reply
dynamicgroup/{groupId}/status/{state}
PUT
N/A
200 Ok
500 Internal Error
<GroupStatus>
<errormgs/>
</GroupStatus>
Get Group Endpoint Attachment Metrics
URI
Method
Request Body
Returns
Example Reply
group/attachment/count
GET
N/A
200 Ok
500 Internal Error
<GroupMetricsStatus>
<errormsg/>
<groupAttachments>
<groupID>0</groupID>
<count>1</count>
</groupAttachments>
</GroupMetricsStatus>
Managing Watches
Create a Watch
URI
Method
Request Body
watch
POST
Returns
201 Created
500 Internal Error
Example Reply
<EndpointWatch>
<WatchName/>
<WatchDescription/>
<Type/>
<TriggerValue/>
<KeyValue>
<KVName/>
<KVDescription/>
<Key/>
<Type/>
<Value/>
</KeyValue >
</EndpointWatch>
<WatchStatus>
<errormsg/>
<EndpointWatch/>
</WatchStatus>
Update a Watch
URI
Method
Request Body
watch/{id}
PUT
Returns
200 Ok
500 Internal Error
Example Reply
<EndpointWatch>
<WatchName/>
<WatchDescription/>
<WatchType/>
<TriggerValue/>
<KeyValue/>
<PubSub/>
</EndpointWatch>
<WatchStatus>
<errormsg/>
<EndpointWatch/>
</WatchStatus>
Get a Watch
URI
Method
Request Body
watch/{id}
GET
Returns
200 Ok
500 Internal Error
Example Reply
Get all Watches
URI
Method
Request Body
Returns
Example Reply
Delete a Watch
URI
Method
Request Body
Returns
Example Reply
<EndpointWatch>
<WatchName/>
<Type/>
<TriggerValue/>
<KeyValue/>
</EndpointWatch>
<WatchStatus>
<errormsg/>
<EndpointWatch/>
</WatchStatus>
watches
GET
N/A
200 Ok
500 Internal Error
<WatchStatus>
<EndpointWatchs>
<EndpointWatch/>
</EndpointWatchs>
</WatchStatus>
watch/{id}
DELETE
N/A
200 Ok
500 Internal Error
<WatchStatus>
<errormsg/>
</WatchStatus>
Publishing a Watch to a Group
URI
Method
Request Body
Returns
Example Reply
watch/{watchId}/group/{groupId}
PUT
N/A
200 Ok
500 Internal Error
<WatchStatus>
<errormsg/>
<EndpointWatch/>
</WatchStatus>
Delete/Cancel a Watch from a Group
URI
Method
Request Body
Returns
Example Reply
watch/{watchId}/group/{groupId}
DELETE
N/A
200 Ok
500 Internal Error
<WatchStatus/>
Manage Parameters
Create a Parameter
URI
Method
Request Body
parameter
POST
Returns
201 Created
500 Internal Error
Example Reply
<EndpointParameter>
<ParameterDescription/>
<Type/>
<Value/>
<Source/>
<ParameterName/>
</EndpointParameter>
<ParameterStatus>
<errormsg/>
<EndpointParameter/>
</ParameterStatus>
Update a Parameter
URI
Method
Request Body
parameter/{id}
PUT
Returns
200 Ok
500 Internal Error
Example Reply
Get a Parameter
URI
Method
Request Body
Returns
Example Reply
<EndpointParameter>
<ParameterDescription/>
<Type/>
<Value/>
<Source/>
<ParameterName/>
</EndpointParameter>
<ParameterStatus>
<errormsg/>
</ParameterStatus>
parameter/{id}
GET
<EndpointParameter>
200 Ok
500 Internal Error
<ParameterStatus>
<errormsg/>
<EndpointParameter/>
</ParameterStatus>
Get all Parameters
URI
Method
Request Body
Returns
Example Reply
parameters
GET
N/A
200 Ok
500 Internal Error
<EndpointParameterList>
<errormsg/>
<EndpointParameters>
<EndpointParameter/>
</EndpointParameters>
</ParameterStatus>
Delete a Parameter
URI
Method
Request Body
Returns
Example Reply
parameter/{id}
DELETE
N/A
200 Ok
500 Internal Error
<ParameterStatus>
<errormsg/>
</ParameterStatus>
Managing Configurations
Creating a Configuration
URI
Method
Request Body
config
POST
Returns
201 Created
500 Internal Error
Example Reply
<EndpointConfiguration>
<ConfigurationID/>
<ConfigurationDescription/>
<ConfigurationName/>
<EndpointParameters>
:
<EndpointParameter/>
</EndpointParameters>
<ConfigurationPriority/>
<ConfigurationSource/>
<TypeID/>
</EndpointConfiguration>
<ConfigurationStatus>
<errormsg/>
<Configuration/>
</ConfigurationStatus>
Update a Configuration
URI
Method
Request Body
config/{id}
PUT
Returns
200 Ok
500 Internal Error
Example Reply
<EndpointConfiguration>
<ConfigurationID></ConfigurationID>
<ConfigurationDescription></ConfigurationDescription>
<ConfigurationName></ConfigurationName>
<EndpointParameters>
:
<EndpointParameter/>
</EndpointParameters>
</EndpointConfiguration>
<ConfigurationStatus>
<errormsg/>
<Config/>
</ConfigurationStatus>
Get a Configuration
URI
Method
Request Body
Returns
Example Reply
config/{id}
GET
N/A
200 Ok
500 Internal Error
<ConfigurationStatus>
<errormsg/>
<EndpointConfiguration/>
</ConfigurationStatus>
Get all Configurations
URI
Method
Request Body
Returns
Example Reply
configs
GET
N/A
200 Ok
500 Internal Error
<ConfigurationListStatus>
<errormsg/>
<EndpointConfigurations>
:
<EndpointConfiguration/>
<EndpointConfigurations>
</ConfigurationListStatus>
Delete a Configuration
URI
Method
Request Body
Returns
Example Reply
config/{id}
DELETE
N/A
200 Ok
500 Internal Error
<ConfigStatus>
<errormsg/>
</ConfigStatus>
Publish a Group’s Configuration to its Endpoints
URI
Method
Request Body
Returns
Example Reply
configpub/{groupId}
PUT
N/A
200 Ok
500 Internal Error
<ConfigurationStatus>
<errormsg/>
</ConfigurationStatus>
Managing Debug Items
Deleting all Debug Records By Date
URI
Method
Request Body
Example Reply
cleardebug/date/{date}
DELETE
N//A
200 Ok
500 Internal Error
<DebugStatus/>
Managing Topics
Create a Topic
URI
Method
Request Body
Returns
Example Reply
topic
POST
<Topic/>
201 Created
500 Internal Error
<TopicStatus>
<errormsg/>
<Topic/>
</TopicStatus>
Delete a Topic
URI
Method
Request Body
Returns
Example Reply
topic/{id}
DELETE
N/A
200 Ok
500 Internal Error
<TopicStatus>
<errormsg/>
</TopicStatus>
Get a Topic
URI
Method
Request Body
Returns
Example Reply
Get all Topics
URI
Method
Request Body
Returns
Example Reply
topic/{id}
GET
N/A
200 Ok
500 Internal Error
<TopicStatus>
<errormsg/>
<Topic/>
</TopicStatus>
topics
GET
N/A
200 Ok
500 Internal Error
<TopicListStatus>
<errormsg/>
<EndpointTopics>
<EndpointTopic/>
:
</EndpointTopics>
</TopicListStatus>
Update Topic
URI
Method
Request Body
Returns
Example Reply
topic/{id}
PUT
<EndpointTopic>
200 Ok
500 Internal Error
<TopicStatus>
<errormsg/>
</TopicStatus>
Manage Rules
Create a Rule
URI
Method
Request Body
Returns
Example Reply
rule
POST
<Rule/>
201 Created
500 Internal Error
<RuleStatus>
<errormsg/>
<EndpointGroupRule/>
</RuleStatus>
Delete a Rule
URI
Method
Request Body
Returns
Example Reply
rule/{id}
DELETE
N/A
200 Ok
500 Internal Error
<RuleStatus>
<errormsg/>
</RuleStatus>
Get a Rule
URI
Method
Request Body
Returns
Example Reply
Get all Rules
URI
Method
Request Body
Returns
Example Reply
rule/{id}
GET
N/A
200 Ok
500 Internal Error
<RuleStatus>
<errormsg/>
<EndpointGroupRule/>
</RuleStatus>
rules
GET
N/A
200 Ok
500 Internal Error
<RuleListStatus>
<errormsg/>
<EndpointGroupRules>
<EndpointGroupRule/>
:
</EndpointGroupRules>
</RuleListStatus>
Update Rule
URI
Method
Request Body
Returns
Example Reply
rule/{id}
PUT
<EndpointGroupRule/>
200 Ok
500 Internal Error
<RuleStatus>
<errormsg/>
</RuleStatus>
Manage Application Download
Uploading an Image
URI
Method
Request Body
Returns
Example Reply
image
POST
Binary image file uploaded as a multipart/form-data post
201 Created
500 Internal Error
<ImageStatus>
<errormsg/>
</ImageStatus>
Uploading an Image via SFTP
URI
image/uploadtype/sftp/server/{serverip}/username/{uname}/password/
{passwd}/dir/{path}/imagename/{iname}
Meth POST
od
Requ N/A
est
Body
Retu 200 Ok
rns
500 Internal Error
<ImageStatus>
Exa
<errormsg/>
mple </ImageStatus>
Repl
Note: The {path} specification must use the ‘|’ character to specify the file path delimiter ‘/’. For example, path: /home/files would be
y
expressed as: |home|files
Uploading an Image w/asynchronous response status
URI
Method
Request Body
Returns
Example Reply
image/uploadId/{id}
POST
Binary image file uploaded as a multipart/form-data post
201 Created
500 Internal Error
<ImageStatus>
<errormsg/>
</ImageStatus>
Note: The ‘id’ parameter should be a value not easily identified, e.g. UUID, or random set of alphanumeric
characters that is not likely to collide with another uploadId. A different id should be used on each upload. The
prior upload status will be overwritten if you use the same ‘id’ on successive uploads.
Get an Image upload status
URI
Method
Request Body
Returns
Example Reply
image/upload/result/uploadId/{id}
GET
N/A
200 Ok
500 Internal Error
<ImageStatus>
<errormsg/>
</ImageStatus>
Getting an Image (Used by an Endpoint to download an image/component file)
URI
Method
Request Body
Returns
Example Reply
image/{filepath specified in the vsCVT}
GET
N/A
200 Ok
404 Not Found
500 Internal Error
The image file in binary format.
Delete an Image
URI
Method
Request Body
Returns
Example Reply
image/{id}
DELETE
N/A
200 Ok
500 Internal Error
<ImageStatus>
<errormsg/>
</ImageStatus>
Getting a list of available images
URI
Method
Request Body
Returns
Example Reply
image/directory
GET
N/A
200 Ok
500 Internal Error
<ImageListStatus>
<errormsg/>
<ApplicationFileEntries/>
</ImageListStatus>
Associate an Image to a Group
URI
Method
Request Body
Returns
Example Reply
image/{imageId}/associate/group/{groupId}
PUT
N/A
200 Ok
500 Internal Error
<ImageStatus>
<errormsg/>
</ImageStatus>
Disassociate an Image From a Group
URI
Method
Request Body
Returns
Example Reply
image/{imageId}/disassociate/group/{groupId}
DELETE
N/A
200 Ok
500 Internal Error
<ImageStatus>
<errormsg/>
</ImageStatus>
Get Group CVT(s)
URI
Method
Request Body
Returns
Example Reply
group/{groupId}/cvts
GET
N/A
200 Ok
500 Internal Error
<CvtListStatus>
<errormsg/>
<vsCVTs>
<vsCVT/>
</vsCVTs>
<CvtListStatus>
Publish a Group’s CVT Configuration
URI
Method
Request
Body
group/{groupId}/cvt/publish
Returns
200 Ok
500 Internal Error
Example
Reply
PUT
<PackageFileInfo
xmlns="http://protocols.cisco.com/ spvtg/conductor/endpointManager">
<PackageFileInfo><Name>latestImag eFormat.i mg</Na me>
<DownloadUrgency>FORCE</DownloadUrgency>
<DownloadWindowStart>2014-05-07T19:46:00.000Z</DownloadWindowStart>
<DownloadWindowStop>2014-0507T20:46:00.000Z</DownloadWindowStop></PackageFileInfo>
</PackageFileInfo>
<CvtListStatus>
<errormsg/>
<vsCVTs>
<vsCVT/>
</vsCVTs>
<CvtListStatus>
Node: The urgency consists of the following options:
• NORMAL
• IMMEDIATE
• EMERGENCY
• FORCE
• DELETE
Get All Groups CVT(s)
URI
Method
Request Body
Returns
Example Reply
groups/cvts
GET
N/A
200 Ok
500 Internal Error
<CvtListStatus>
<errormsg/>
<vsCVTs>
<vsCVT/>
</vsCVTs>
<CvtListStatus>
Get A Group’s Package(s) for CVT
URI
Method
Request Body
Returns
Example Reply
group/{groupId}/packagesforcvt
GET
N/A
200 Ok
500 Internal Error
<PackageStatus>
<errormsg/>
<Package>
<Packages/>
</Package>
<PackageStatus>
Diagnostics
Get EPM Current State
URI
Method
Request Body
Returns
Example Reply
epmcurrentstate
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Diagnostics>
<EndpointCount/>
<DynamicGroupCount/>
<FixedGroupCount/>
<TopicCount/>
<WatchCount/>
<ParamCount/>
<LogCount/>
<ruleCount/>
<Publishcount/>
<AppFileCount/>
<ConfigCount/>
<DebugCount/>
</Diagnostics>
</DiagStatus >
Get Endpoint Count
URI
Method
Request Body
Returns
Example Reply
endpointcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Group Count
URI
Method
Request Body
Returns
Example Reply
groupcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Dynamic Group Count
URI
Method
Request Body
Returns
Example Reply
dynamicgroupcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Fixed Group Count
URI
Method
Request Body
Returns
Example Reply
Get Topic Count
URI
Method
Request Body
Returns
Example Reply
fixedgroupcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
topiccount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Watch Count
URI
Method
Request Body
Returns
Example Reply
watchcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Log Count
URI
Method
Request Body
Returns
Example Reply
logcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Parameters Count
URI
Method
Request Body
Returns
Example Reply
paramcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Configuration Count
URI
Method
Request Body
Returns
Example Reply
configcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Application File Count
URI
Method
Request Body
Returns
Example Reply
appfilecount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Rule Count
URI
Method
Request Body
Returns
Example Reply
rulecount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Debug Count
URI
Method
Request Body
Returns
Example Reply
debugcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Published Object Count
URI
Method
Request Body
Returns
Example Reply
publishobjectcount
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<Count/>
</DiagStatus >
Get Current vsCVT State
URI
Method
Request Body
Returns
Example Reply
vscvtstate
GET
N/A
200 Ok
500 Internal Error
<DiagStatus>
<errormsg/>
<VsCvt>
<cvtList>
<groupFileInfo>
<Group>
<GroupID/>
</Group>
<downloadUrgency/>
<downloadWindowStart/>
<downloadWindowStop/>
</groupFileInfo>
<id/>
<setCount/>
<setList>
<deviceType/>
<environment/>
</pkgCount/>
<setNumber/>
</setList>
<updateTime/>
</cvtList>
<vsCvtCount/>
</VsCvt>
</DiagStatus >
Reports
Note: The following reports are generated on the Conductor Service Node, and are not
returned to the operator via the REST call. Depending on the Endpoint population, the
report files may be very large. All EPM generated reports will be in the
“/common/log/taos-log-a/EPM_Reports” directory on the active service node.
Generate Endpoint To JID Mapping Report
URI
Method
Request Body
Returns
Example Reply
report/endpointtojid
POST
N/A
201 Created
500 Internal Error
N/A
Generate Endpoint Group Associations Report
URI
Method
Request Body
Returns
Example Reply
report/endpointgroupassociations
POST
N/A
201 Created
500 Internal Error
N/A
High Availability
Get HA Node Status
URI
Method
Request Body
Returns
Example Reply
hanodes
GET
N/A
200 Ok
500 Internal Error
<HAStatus>
<errormsg></errormsg>
<HANode id="[email protected]" state="Primary"/>
<HANode id="[email protected]" state="Alternate"/>
</HAStatus>
Log File Management
Get Log File Directory Listing By Type
URI
Method
Request Body
Returns
Example Reply
log/type/{logType}/directory
GET
N/A
200 Ok
400 Bad Request
500 Internal Error
<LogDirectoryListStatus>
<errormsg/>
<fileEntry>file-1.log</fileEntry>
<fileEntry>file-2.log</fileEntry>
:
</LogDirectoryListStatus>
Note: logType = { reboot, debug }
Get Log File Entry By Type and ID
URI
Method
Request Body
Returns
Example Reply
log/type/{logType}/file/id/{file id}
GET
N/A
200 Ok
500 Internal Error
400 Bad Request
404 Not Found
Application/octet-stream
Note: logType = { reboot, debug }
Get Associated Debug Logfile By Debug ID
URI
Method
Request Body
Returns
Example Reply
log/debug/file/id/{debugId}
GET
N/A
200 Ok
500 Internal Error
400 Bad Request
404 Not Found
application/octet- stream
Get Log File Directory Listing By File Type and ID
URI
Method
Request Body
Returns
log/type/{logType}/directory/identifier/{idType}/{id}
GET
N/A
200 Ok
400 Bad Request
500 Internal Error
Example Reply
<LogDirectoryListStatus>
<errormsg/>
<fileEntry>file-1.log</fileEntry>
<fileEntry>file-2.log</fileEntry>
:
</LogDirectoryListStatus>
Note:
logType = { reboot, debug }
idType = { id, jid }
Delete All Log Files By Type
URI
Method
Request Body
Returns
Example Reply
log/type/{logType}/files
DELETE
N/A
200 Ok
500 Internal Error
<LogFileStatus>
<errormsg/>
</LogFileStatus>
Note:
logType = { reboot, debug }
Delete Log File By Type and ID
URI
Method
Request Body
Returns
Example Reply
log/type/{logType}/file/id/{id}
DELETE
N/A
200 Ok
400 Bad Request
404 Not Found
500 Internal Error
<LogFileStatus>
<errormsg/>
</LogFileStatus>
Note:
logType = { reboot, debug }
Endpoint Responder Metrics
Get Metric by Type
metric/metricType/{me tri cType}/devi ceType/{devi ceType}/interval/{inte rval}
URI
Method
GET
Request Body N/A
Returns
200 Ok
500 Internal Error
Example
Reply
metricType = { “ config” , “ watch” , “ perf” }
interval = { 1 – One hour, 6 – Six hours, 12 – Twelve hours , 24 – Twenty four hours, ‘all’ for all intervals in a single
response}
Command 2000 (Cmd2K)
Create EC
URI
Method
Request Body
ec
POST
Returns
201 Created
500 Internal Error
Example Reply
Update EC
<ECCmd2K
xmlns="http://protocols.cisco.com/spvtg/conductor/endpoint#cmd2K"
Name="SystemAlpha" Description="This is an EC for the alpha domain"
IPAddress="23.90.187.13"/>
<ECStatus>
<ECCmd2K
xmlns="http://protocols.cisco.com/spvtg/conductor/endpoint#cmd2K"
Name=" SystemAlpha " Description=" This is an EC for the alpha domain "
ID="9048-4043-4084-4948" IPAddress="23.90.187.13" UpdateTime="200605-04T18:13:51.0Z"
CreationTime="2006-05-04T18:13:51.0Z"/>
</ECStatus>
URI
Method
Request Body
ec/{id}
PUT
Returns
200 Ok
500 Internal Error
Example Reply
<ECCmd2K
xmlns="http://protocols.cisco.com/spvtg/conductor/endpoint#cmd2K"
Name="SystemBeta" Description="This is an EC for the beta domain"
IPAddress="23.90.187.45"/>
<ECStatus>
<ECCmd2K
xmlns="http://protocols.cisco.com/spvtg/conductor/endpoint#cmd2K"
Name=" SystemAlpha " Description=" This is an EC for the alpha domain "
ID="9048-4043-4084-4948" IPAddress="23.90.187.13" UpdateTime="200605-04T18:13:51.0Z"
CreationTime="2006-05-04T18:13:51.0Z"/>
</ECStatus>
Delete EC
URI
Method
Request Body
Returns
Example Reply
ec/{id}
DELETE
N/A
200 Ok
500 Internal Error
<ECStatus>
<errormsg/>
</ECStatus>
Get EC
URI
Method
Request Body
Returns
Example Reply
Get ECs
URI
Method
Request Body
Returns
Example Reply
ec/{id}
GET
N/A
200 Ok
500 Internal Error
<ECStatus>
<ECCmd2K
xmlns="http://protocols.cisco.com/spvtg/conductor/endpoint#cmd2K"
Name=" SystemAlpha " Description=" This is an EC for the alpha domain "
ID="9048-4043-4084-4948" IPAddress="23.90.187.13" UpdateTime="200605-04T18:13:51.0Z"
CreationTime="2006-05-04T18:13:51.0Z"/>
</ECStatus>
ec
GET
N/A
200 Ok
500 Internal Error
<ECListStatus>
<ECCmd2KTypes>
<ECCmd2K
xmlns="http://protocols.cisco.com/spvtg/conductor/endpoint#cmd2K"
Name=" SystemAlpha " Description=" This is an EC for the alpha domain "
ID="9048-4043-4084-4948" IPAddress="23.90.187.13" UpdateTime="200605-04T18:13:51.0Z"
CreationTime="2006-05-04T18:13:51.0Z"/>
:
</ECCmd2KTypes>
<errormsg/>
</ECListStatus>
Get Cmd2K Logs Directory Listing By EC
URI
Method
Request Body
Returns
Example Reply
cmd2Klog/ecIp/{ecIp}/directory
GET
N/A
200 Ok
500 Internal Error
<Cmd2KLogDirectoryListStatus
xmlns="http://protocols.cisc o.com/spvtg/conductor/e ndpoint#cmd2K">
<Cmd2KFileEntry>
<filename>cmd2000_l og_ 110401.txt</filename >
<filesize>41K</filesize>
<lastUpdateDate>03-Jun-2014 12:20</lastUpdateDate >
</Cmd2KFileEntry>
<Cmd2KFileEntry>
<filename>cmd2000_l og_Fri.txt</ file name >
<filesize>175</file size>
<lastUpdateDate>03-Jun-2014 12:16</lastUpdateDate >
</Cmd2KFileEntry>
<Cmd2KFileEntry>
<filename>cmd2000_l og_Mon.txt</file name>
<filesize>175</file size>
<lastUpdateDate>03-Jun-2014 12:16</lastUpdateDate >
</Cmd2KFileEntry>
<Cmd2KFileEntry>
<filename>cmd2000_l og_Sat.txt</file name>
<filesize>175</file size>
<lastUpdateDate>03-Jun-2014 12:16</lastUpdateDate >
</Cmd2KFileEntry>
<errormsg/>
</Cmd2KLogDirectoryListStatus>
Get Cmd2K Logfile From EC
URI
Method
Request Body
Returns
Example Reply
cmd2Klog/ec/{ipAddress}/file/{filename}
GET
N/A
200 Ok
404 Not Found
500 Internal Error
application/octet-stream (file data)
N/A
Send Cmd2K Command
URI
command2K/ec/{ipaddress}/device/{macaddress}?sec&ptalt
Note: The sec(Security Appliance) and ptalt(Passthru Altername Host) parameters are optional.
Example usage:
command2K/ec/{ipad dress}/ device/{ macad dress} ?sec=10.90.1.5: 65444&pt alt=je ckle2
Method
Request Body
PUT
Example Reply
<Cmd2KStatus xmlns="http://protoc ols.cisc o.com/spvtg/conduc tor /endpoint#c md2K">
<cmd2KReply>05/30@17:55 - RESPONSE:
05/30@17:55 - RESPONSE: Cisco CableCARD(tm)
05/30@17:55 - RESPONSE: Copy Protection Information
05/30@17:55 - RESPONSE:
05/30@17:55 - RESPONSE: Auth Status: CP Auth Received
05/30@17:55 - RESPONSE: Info for pgm index 0-5
05/30@17:55 - RESPONSE: [LTSID - PN - CCI - ERR ]
05/30@17:55 - RESPONSE: 0x0 - 0x0 - 0x0 - 0x0
05/30@17:55 - RESPONSE: MKS Period: 360 seconds
05/30@17:55 - RESPONSE: VerifyKey Status: OK
05/30@17:55 - RESPONSE:
05/30@17:55 - RESPONSE: Copy Protection Info Page 2
05/30@17:55 - RESPONSE:
05/30@17:55 - RESPONSE: Refresh Status: OK
05/30@17:55 - RESPONSE: Refresh count: 1804
05/30@17:55 - RESPONSE: N_Host timeouts: 0
05/30@17:55 - RESPONSE: Sync Cnf timeouts: 0
05/30@17:55 - RESPONSE: CP-CA Control bits: 0x00
05/30@17:55 - RESPONSE: CCI state: Init
05/30@17:55 - RESPONSE: CCI Ack failures (index:cnt):
05/30@17:55 - RESPONSE: i0: 0 i1: 0 i2: 0
05/30@17:55 - RESPONSE: i3: 0 i4: 0 i5: 0
05/30@17:55 - Command [poddiag CPInfo] completed.
</cmd2KReply>
<errormsg></errormsg>
</Cmd2KStatus>
Returns
<Command2K xmlns="http://protoc ols.cis co.com/spvtg/c onductor/endpoint#c md2K">
<Command>poddiag CPInfo</Command>
</Command2K>
200 Ok
500 Internal Error
Get Cmd2K Command/Response History By STB MAC Address
URI
Method
Request Body
Range Header
Content-Range
Header
Returns
Example Reply
cmd2Klog/device/{macaddress}
GET
N/A
Format: Range:items=s-n, where s=start n=end
Example: Get the first two items {Range:items=0-1}
Will return the user specified range with the total result set, for
example: {Content-Range:items 0-1/100}
200 Ok
500 Internal Error
<Cmd2KLog xmlns="http://protoc ols.cisco.com/spvtg/c onductor/endpoint#cmd2K"
xmlns:ns2="http://protoc ols.cis co.com/spvtg/c onductor/endpointManag er">
<errormsg></errormsg>
<resultset>11</results et>
<CmdHistories>
<CmdHistory>
<ns2:command>
-secAppliance###3.0.90.1:65444###-passthru###00:21:BE:6D:F 5:16###poddiag
CAInfo
</ns2:command>
<ns2:reply>
06/10@13:25 - RESPONSE: Cisco CableCARD(tm)
06/10@13:25 - RESPONSE: Conditional Access Details
06/10@13:25 - RESPONSE:
06/10@13:25 - RESPONSE: System Id: 0x0E00
06/10@13:25 - RESPONSE: Status: Ready
:
:
</ns2:reply>
</CmdHistory>
</CmdHistories>
Delete Device Log History
URI
Method
Request Body
Returns
Example Reply
cmd2Klog/device/{mac address}
DELETE
N/A
200 Ok
500 Internal Error
<Cmd2KStatus xmlns="http://protoc ols.cisc o.com/spvtg/conduc tor /endpoint#c md2K">
<errormsg/>
<Cmd2KStatus>