Ditto Protocol topic structure for Things

A valid topic consists of six elements, describing the thing affected by this message and the type of the message:

<namespace>/<thingId>/things/<channel>/<criterion>/<action>
  1. namespace: the namespace of the Thing.
  2. thingId: the Thing ID.
  3. group: the appropriate group for addressing Things is things.
  4. channel: the channel of the Protocol message; can either be live or twin.
  5. criterion: the type of Protocol message; can either be commands, events, search or messages.
  6. action: the action executed on the Thing, only required for:
    1. Commands: create/modify, retrieve or delete.
    2. Events: created, modified, deleted.

Thing representation

API version 1

The representation of a Thing in API version 1 is specified as follows:

API version 2

The representation of a Thing in API version 2 is specified as follows:

Common error responses for Things

These error responses can occur independent of the command that was sent:

status error message
400 things:id.invalid The Thing ID <thingId> is not valid!
429 things:thing.toomanymodifyingrequests Too many modifying requests are already outstanding to the Thing with ID <thingId>.
503 things:thing.unavailable The Thing with the given ID is not available, please try again later.
Tags: protocol