DJI Cloud Commands

DJI Cloud Commands let integrators submit DJI control, task, configuration, live streaming, file, firmware, and other operation requests through Open Platform. 001 currently implements platform-side command acceptance, command fact persistence, dispatch event creation, and command query. Actual device execution is owned by a later DJI adapter service.

API Entry Points

OperationMethod and path
Create commandPOST /api/v1/open/downlink/commands
Query command statusGET /api/v1/open/downlink/commands/{commandId}

Flow

  1. Call the create-command endpoint with vendor=dji, a command_type, and the method-specific payload.
  2. The platform returns a command_id and the acceptance status ACCEPTED.
  3. 001 persists the command fact and dispatch event, then attempts to publish command.accepted.
  4. Query by command_id to retrieve the accepted command fact and dispatch publication state. Device execution terminal states appear only after later adapter / callback / query capabilities write them.

Request Fields

FieldTypeRequiredDescription
vendorstringyesFixed value dji
device_idstringyesTarget device ID
command_typestringyesDJI method name
payloadobjectyesMethod payload
idempotency_keystringyesIdempotency key; keep it stable when retrying the same business request
timeout_secondsintegernoTimeout in seconds, range 0~300

Status Model

StatusDescription
ACCEPTEDPlatform accepted the command.
DELIVEREDWritten by a later adapter: command was delivered to the device side.
SUCCEEDEDWritten by a later adapter: device execution succeeded.
FAILEDWritten by a later adapter: device execution failed.
TIMED_OUTWritten by later scheduler/adapter logic: no terminal status was received before timeout.
UNMATCHED_RESPONSEWritten by later correlation logic: a device response could not be correlated to the command.

Example Request

{
  "vendor": "dji",
  "device_id": "dock-001",
  "command_type": "camera_mode_switch",
  "payload": {
    "payload_index": "52-0-0",
    "camera_mode": 0
  },
  "idempotency_key": "req-20260423-0001",
  "timeout_seconds": 30
}
Choose a capability domain in the sidebar to view method-specific payload fields, request examples, and response examples.
DomainMethodsPurpose
device21Dock/device control, maintenance, and mode switching
camera17Camera/gimbal capture, focus, exposure, and composition
drc12Remote-control takeover and direct flight control
wayline9Wayline mission lifecycle and return-to-home control
live4Live streaming start/stop, quality, and lens switching
psdk10Payload and megaphone interaction, custom data channels
file4File / media upload and transfer flow
safety5Geofences, no-fly lifts, licenses, and safety policy
firmware1Firmware OTA task creation

Next Steps

Pick a capability domain from the sidebar and open the method page you want to integrate.