# User & Programmers Manual
- [API Overview](#api-overview)
- [HTTP binding](#http-binding)
- [MQTT binding](#mqtt-binding)
- [AMQP binding](#amqp-binding)
- [Value conversion](#value-conversion)
- [Thinking Things plugin](#thinking-things-plugin)
- [Development documentation](#development-documentation)
- [New transport development](#new-transport-development)
## API Overview
The JSON protocol uses plain JSON objects to send information formatted as key-value maps over any of the accepted
transports (HTTP, MQTT or AMQP).
Along this document we will refer some times to "plain JSON objects" or "single-level JSON objects". With that, we mean:
- valid JSON objects serialized as unescaped strings.
- JSON objects with a single level, i.e.: all the first level attributes of the JSON object are Strings or Numbers
This file has been truncated. show original