A method comprising: receiving, at data processing hardware of a network device, a capability request from a network manager for capability information on the network device; transmitting from the data processing hardware of the network device a capability response comprising the capability information to the network manager via telemetry, the capability information comprising data schemas supported by the network device, encodings supported by the network device, and a version of a network management interface service supported by the network device; receiving, at the data processing hardware of the network device, a data request from the network manager requesting data comprising at least one of state information or configuration information, the request specifying one or more of the data schemas and/or encodings supported by the network device for use when transmitting a data response, the data request comprising: a get request to obtain a snapshot of the requested data existing on the network device; or a subscribe request to subscribe to updates for the requested data existing on the network device; and transmitting the data response from the data processing hardware to the network manager via telemetry, the data response comprising the requested data having data elements defined by the specified one or more data schemas and/or encodings supported by the network device, wherein the data request and the data response adhere to a protocol configured to enable bi-directional streaming between the network manager and the network device. receiving, at data processing hardware of a network device, a capability request from a network manager for capability information on the network device; transmitting from the data processing hardware of the network device a capability response comprising the capability information to the network manager via telemetry, the capability information comprising data schemas supported by the network device, encodings supported by the network device, and a version of a network management interface service supported by the network device; receiving, at the data processing hardware of the network device, a data request from the network manager requesting data comprising at least one of state information or configuration information, the request specifying one or more of the data schemas and/or encodings supported by the network device for use when transmitting a data response, the data request comprising: a get request to obtain a snapshot of the requested data existing on the network device; or a subscribe request to subscribe to updates for the requested data existing on the network device; and a get request to obtain a snapshot of the requested data existing on the network device; or a subscribe request to subscribe to updates for the requested data existing on the network device; and transmitting the data response from the data processing hardware to the network manager via telemetry, the data response comprising the requested data having data elements defined by the specified one or more data schemas and/or encodings supported by the network device, wherein the data request and the data response adhere to a protocol configured to enable bi-directional streaming between the network manager and the network device.