A method of using a requestor computer device to communicate with, and perform testing of, a provider computer device, wherein the provider device includes a storage medium storing one or more structured JavaScript Object Notation (JSON) schemas specifying available functions of one or more application programming interfaces (APIs) of the provider device, and the storage medium stores API information specifying how the APIs can be utilized, wherein the provider device comprises a set-top box the method comprising: receiving a connection request at the provider device from the requestor computer device requesting available structured JSON schemas resident on the provider device; transmitting the available structured JSON schemas from the provider device in response to the connection request; receiving at the provider device a communication request requesting access to at least one of the available structured JSON schemas resident on the provider device, wherein the communication request comprises a Java Messaging Service request for a communication connection via a Java Message Service server and a selection of one of a plurality of connection options presented by the Java Messaging Service server, and wherein the plurality of connection options comprises a list of computing devices configured for connection via the Java Messaging Service server, including the provider device; formatting the API information about the APIs according to said at least one structured JSON schema, the formatted information specifying how the one or more APIs can be utilized; transmitting the formatted information from the provider device, wherein the formatted information provides usage rights and abilities that permit the requestor computer device to access functions of the one or more APIs resident on the provider device and includes one or more default values for the one or more APIs of the provider device; receiving an ordered list of commands for a selected API of the one or more APIs specified by the formatted information, the API commands having been generated by processing the formatted information; performing the API commands using the provider device to perform functions of the selected API; and transmitting the results of performing the API commands for evaluation of the function of the selected API. receiving a connection request at the provider device from the requestor computer device requesting available structured JSON schemas resident on the provider device; transmitting the available structured JSON schemas from the provider device in response to the connection request; receiving at the provider device a communication request requesting access to at least one of the available structured JSON schemas resident on the provider device, wherein the communication request comprises a Java Messaging Service request for a communication connection via a Java Message Service server and a selection of one of a plurality of connection options presented by the Java Messaging Service server, and wherein the plurality of connection options comprises a list of computing devices configured for connection via the Java Messaging Service server, including the provider device; formatting the API information about the APIs according to said at least one structured JSON schema, the formatted information specifying how the one or more APIs can be utilized; transmitting the formatted information from the provider device, wherein the formatted information provides usage rights and abilities that permit the requestor computer device to access functions of the one or more APIs resident on the provider device and includes one or more default values for the one or more APIs of the provider device; receiving an ordered list of commands for a selected API of the one or more APIs specified by the formatted information, the API commands having been generated by processing the formatted information; performing the API commands using the provider device to perform functions of the selected API; and transmitting the results of performing the API commands for evaluation of the function of the selected API.