Skip to main content

DJI Cloud API

A Dock or Pilot 2 connects to us.

What it carries​

Telemetry in. OSD and state.

Control out. 3 commands, listed below.

On this protocol you connect aircraft.

Connect one​

  1. Turn the protocol on. Settings → Integrations → DJI Cloud API → enable.
  2. Paste the credential the vendor gave you: DJI app key. It is stored as a reference, so it never appears in an exported manifest.
  3. Point the device at us and power it on. It announces itself, and appears at the top of Settings → Assets → ADD under heard, not yet added. Press it to adopt. You are not typing a serial number.

The address format​

DJI Cloud API runs over MQTT. This is the form that parses:

TransportFormWhat it meansExample
MQTTmqtt:BROKER:PORT/TOPICA broker and a topic. For an inbound device the broker is ours, so you do not supply it.mqtt:127.0.0.1:1883/ingest/TOKEN/#

When it is working​

The aircraft appears in Settings → Assets with a live health state, and the Integrations row counts it. On the console, its card carries the commands it accepts.

If nothing arrives​

SymptomWhere to look
Nothing arrives, and the row looks healthyThe device is publishing to the wrong topic. Only the topic issued with the credential is routed; anything else is dropped without an error.
It connects, then dropsTwo things are bound to the same port, or the device and the host disagree about which end dials. See the endpoint forms above.
Rejected on connectThe credential is wrong or has been rotated by the vendor. Reissue it and update the field.
It never appears as heardDiscovery is off on this link. It is off by default, so nothing is adopted until you say so.

Commands​

Everything this protocol can carry. What a given aircraft accepts is whatever it advertises, which may be fewer.

VerbTakesDoes
takeoff_to_pointa pointTake off and fly to a point.
fly_to_pointa pointFly to a point, already airborne.
return_homenothingReturn to the Dock and land.

The protocol itself​

The standard, or the vendor's own page: DJI Cloud API documentation.

Where to go next​