# Protocol This page describes the native communications protocol with the device. It is binary based, with a small header, and no other requirements on the data. By convention, most (if not all) endpoints accept and provide data that is [CBOR](https://cbor.io "Concise Binary Object Representation") encoded. ### Header All packets have a simple four byte header that precedes the payload, regardless of the underlying transport: - 1 byte: Message type - Indicates the "endpoint" inside the protocol handler that should receive this message - 1 byte: Tag - Can be used to differentiate multiple outstanding requests and their replies - 2 bytes: Length - Indicates the number of bytes of payload data that follow Note that all multi-byte values in the header are sent in big endian (network) byte order. #### Message Types Below are all currently implemented message types/endpoints:
**Number** | **Name** | **Description** |
`0x01` | Property Request | Get/set various properties on the device. See [Properties](https://wiki.trist.network/books/programmable-load/page/properties "Properties") for more info. |