1. A system, comprising: a processor configured to: provide a message to an application programming interface (API), wherein the message comprises: a request for data from a data model, a submission of data to the data model, or both; and a host and protocol selection between: a representational state transfer (REST) host and a subscription-based application programming interface (API) host, wherein the REST host receives REST-based messages and the subscription-based API host receives messages in accordance with a standard of the subscription-based API host; wherein the data model comprises information related to one or more smart-devices, one or more smart-device environment structures comprising the smart-devices, or both.