Command Payloads
This page lists the DJI cloud-to-devicecommand_type values supported by 001 and their payload examples. Open Platform downlink commands all use POST /api/v1/open/downlink/commands; command_type maps to DJI services.method, and payload maps to DJI services.data.
payloadmust be a JSON object. No-argument commands use{}and must not omit the field.
Code Samples
The samples below show the request structure. Production clients must calculate the signature as documented in Authentication & Signing.cURL
TypeScript
Go
Full DJI Payload Catalog
device
device
air_conditioner_mode_switch
| Field | Type | Required | Description |
|---|---|---|---|
payload.action | integer | yes | Air conditioner mode: 0=idle, 1=cooling, 2=heating, 3=dehumidify |
alarm_state_switch
| Field | Type | Required | Description |
|---|---|---|---|
payload.action | integer | yes | Alarm state: 0=off, 1=on |
battery_maintenance_switch
| Field | Type | Required | Description |
|---|---|---|---|
payload.action | integer | yes | Battery maintenance mode: 0=off, 1=on |
battery_store_mode_switch
| Field | Type | Required | Description |
|---|---|---|---|
payload.action | integer | yes | Battery store mode: 1=plan, 2=standby |
charge_close
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
charge_open
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
cover_close
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
cover_force_close
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
cover_open
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
debug_mode_close
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
debug_mode_open
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
device_format
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
device_reboot
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
drone_close
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
drone_format
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
drone_open
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
putter_close
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
putter_open
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
sdr_workmode_switch
| Field | Type | Required | Description |
|---|---|---|---|
payload.link_workmode | integer | yes | Link work mode: 0=SDR only, 1=4G enhanced |
supplement_light_close
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
supplement_light_open
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
camera
camera
camera_aim
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.camera_type | string | yes | Camera type: ir, wide, zoom |
payload.locked | boolean | yes | Whether aircraft head and gimbal relationship is locked |
payload.x | number | yes | Target coordinate x (0-1) |
payload.y | number | yes | Target coordinate y (0-1) |
camera_exposure_mode_set
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.camera_type | string | yes | Camera type: wide, zoom |
payload.exposure_mode | integer | yes | Exposure mode: 1=auto, 2=shutter_priority, 3=aperture_priority, 4=manual |
camera_exposure_set
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.camera_type | string | yes | Camera type: wide, zoom |
payload.exposure_value | string | yes | Exposure value: 1=-5.0EV, 2=-4.7EV, …, 16=0EV, …, 31=5.0EV, 255=FIXED |
camera_focal_length_set
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.camera_type | string | yes | Camera type: ir, wide, zoom |
payload.zoom_factor | number | yes | Zoom factor (2-200 for visible light, 2-20 for IR) |
camera_focus_mode_set
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.camera_type | string | yes | Camera type: wide, zoom (M30 series only supports zoom) |
payload.focus_mode | integer | yes | Focus mode: 0=MF (manual), 1=AFS (auto single), 2=AFC (auto continuous) |
camera_focus_value_set
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.camera_type | string | yes | Camera type: wide, zoom (M30 series only supports zoom) |
payload.focus_value | integer | yes | Focus value (range from zoom_min_focus_value to zoom_max_focus_value in OSD) |
camera_frame_zoom
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.camera_type | string | yes | Camera type: ir, wide, zoom |
payload.locked | boolean | yes | Whether aircraft head and gimbal relationship is locked |
payload.x | number | yes | Target coordinate x (0-1) |
payload.y | number | yes | Target coordinate y (0-1) |
payload.width | number | yes | Frame width (0-1) |
payload.height | number | yes | Frame height (0-1) |
camera_look_at
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.locked | boolean | yes | Whether aircraft head and gimbal relationship is locked |
payload.latitude | number | yes | Target point latitude (-90 to 90 degrees) |
payload.longitude | number | yes | Target point longitude (-180 to 180 degrees) |
payload.height | number | yes | Target point height (meters, relative to takeoff point) |
camera_mode_switch
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.camera_mode | integer | yes | Camera mode: 0=photo, 1=video |
camera_photo_stop
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
camera_photo_take
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
camera_point_focus_action
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.camera_type | string | yes | Camera type: wide, zoom (M30 series only supports zoom) |
payload.x | number | yes | Focus point coordinate x (0-1) |
payload.y | number | yes | Focus point coordinate y (0-1) |
camera_recording_start
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
camera_recording_stop
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
camera_screen_drag
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.locked | boolean | yes | Whether aircraft head and gimbal relationship is locked |
payload.pitch_speed | number | yes | Gimbal pitch speed (rad/s) |
payload.yaw_speed | number | yes | Gimbal yaw speed (rad/s, only effective when not locked) |
camera_screen_split
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Camera enumeration value |
payload.enable | boolean | yes | Whether to enable split screen mode |
gimbal_reset
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Payload index (camera enumeration value) |
payload.reset_mode | integer | yes | Reset mode: 0=center, 1=down, 2=yaw center, 3=pitch down |
drc
drc
drc_mode_enter
| Field | Type | Required | Description |
|---|---|---|---|
payload.mqtt_broker | object | yes | MQTT broker connection info |
payload.osd_frequency | integer | yes | OSD frequency (1-30 Hz) |
payload.hsi_frequency | integer | yes | HSI frequency (1-30 Hz) |
drc_mode_exit
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
drone_control
| Field | Type | Required | Description |
|---|---|---|---|
payload.seq | integer | yes | Command sequence number |
payload.x | number | yes | Forward/backward speed (-17 to 17 m/s) |
payload.y | number | yes | Left/right speed (-17 to 17 m/s) |
payload.h | number | yes | Up/down speed (-4 to 5 m/s) |
payload.w | number | yes | Angular velocity (-90 to 90 degrees/s) |
drone_emergency_stop
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
flight_authority_grab
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
fly_to_point
| Field | Type | Required | Description |
|---|---|---|---|
payload.fly_to_id | string | yes | Fly to point ID |
payload.max_speed | integer | yes | Maximum speed (0-15 m/s) |
payload.points | array | yes | Target points (supports only 1 point) |
fly_to_point_stop
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
fly_to_point_update
| Field | Type | Required | Description |
|---|---|---|---|
payload.max_speed | integer | yes | Maximum speed (1-15 m/s) |
payload.points | array | yes | Updated target points (supports only 1 point) |
heart_beat
| Field | Type | Required | Description |
|---|---|---|---|
payload.seq | integer | yes | Command sequence number |
payload.timestamp | integer | yes | Heart beat timestamp (milliseconds) |
payload_authority_grab
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Payload index (camera enumeration value) |
stick_control
| Field | Type | Required | Description |
|---|---|---|---|
payload.roll | integer | yes | Method payload field |
payload.pitch | integer | yes | Method payload field |
payload.throttle | integer | yes | Method payload field |
payload.yaw | integer | yes | Method payload field |
takeoff_to_point
| Field | Type | Required | Description |
|---|---|---|---|
payload.target_latitude | number | yes | Target point latitude (-90 to 90) |
payload.target_longitude | number | yes | Target point longitude (-180 to 180) |
payload.target_height | number | yes | Target point height (ellipsoidal height, WGS84) |
payload.security_takeoff_height | number | yes | Safe takeoff height (relative to dock ALT) |
payload.rth_mode | integer | yes | Method payload field |
payload.rth_altitude | integer | yes | Return home altitude (relative to dock ALT) |
payload.rc_lost_action | integer | yes | RC lost action (0=hover, 1=land, 2=RTH) |
payload.exit_wayline_when_rc_lost | integer | yes | [Deprecated] Wayline lost action (0=continue, 1=exit) |
payload.commander_mode_lost_action | integer | yes | Method payload field |
payload.commander_flight_mode | integer | yes | Method payload field |
payload.commander_flight_height | number | yes | Method payload field |
payload.flight_id | string | yes | One-key takeoff mission UUID |
payload.max_speed | integer | no | Max speed (1-15 m/s, optional) |
payload.flight_safety_advance_check | integer | yes | Method payload field |
wayline
wayline
flight_setup_abort
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
flighttask_create
| Field | Type | Required | Description |
|---|---|---|---|
payload.flighttask_id | string | yes | Method payload field |
payload.execute_time | integer | no | Optional execution time (timestamp) |
payload.task_type | string | yes | Task type: immediate, timed, conditional |
payload.wayline_type | string | yes | Wayline type: wayline, mapping_2d, mapping_3d, mapping_strip |
payload.wayline_file | string | no | Wayline file URL |
payload.execute_times | integer | no | Number of execution times |
payload.out_of_control_action | string | yes | Action when out of control: continue, execute_go_home, hover |
payload.rth_altitude | number | no | Return to home altitude |
payload.task_name | string | no | Task name |
payload.ready_conditions | object | no | Ready conditions (for conditional tasks) |
payload.executable_conditions | object | no | Executable conditions |
payload.simulate_mission | object | no | Simulation settings |
payload.break_point | object | no | Breakpoint information for resume |
payload.rth_mode | integer | no | Return to home mode (0=smart, 1=preset) |
payload.exit_wayline_when_rc_lost | integer | no | Exit wayline when RC lost (0=continue, 1=exit) |
payload.wayline_precision_type | integer | no | Wayline precision type (0=GPS, 1=RTK) |
payload.flight_safety_advance_check | boolean | no | Flight safety advance check |
flighttask_execute
| Field | Type | Required | Description |
|---|---|---|---|
payload.flight_id | string | yes | Flight task ID |
payload.multi_dock_task | object | no | Multi-dock task parameters (optional, for leapfrog missions) |
flighttask_pause
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
flighttask_prepare
| Field | Type | Required | Description |
|---|---|---|---|
payload.break_point | object | no | Method payload field |
payload.executable_conditions | object | no | Method payload field |
payload.execute_time | integer | yes | Method payload field |
payload.exit_wayline_when_rc_lost | integer | yes | Method payload field |
payload.file | object | yes | Method payload field |
payload.flight_id | string | yes | Method payload field |
payload.out_of_control_action | integer | yes | Method payload field |
payload.ready_conditions | object | no | Method payload field |
payload.rth_altitude | integer | yes | Method payload field |
payload.simulate_mission | object | no | Method payload field |
payload.task_type | integer | yes | Method payload field |
payload.rth_mode | integer | yes | Method payload field |
flighttask_recovery
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
flighttask_undo
| Field | Type | Required | Description |
|---|---|---|---|
payload.flight_ids | array | yes | Flight task ID |
return_home
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
return_home_cancel
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
live
live
live_lens_change
| Field | Type | Required | Description |
|---|---|---|---|
payload.video_type | string | yes | Video type: ir=infrared, normal=default, wide=wide angle, zoom=zoom |
live_set_quality
| Field | Type | Required | Description |
|---|---|---|---|
payload.video_id | string | yes | Video stream ID (format: //) |
payload.video_quality | integer | yes | Video quality: 0=adaptive, 1=smooth, 2=standard, 3=high, 4=super |
live_start_push
| Field | Type | Required | Description |
|---|---|---|---|
payload.url_type | integer | yes | URL type: 0=Agora, 1=RTMP, 3=GB28181, 4=WebRTC |
payload.url | string | yes | Live stream URL/parameters |
payload.video_id | string | yes | Video stream ID (format: //) |
payload.video_quality | integer | yes | Video quality: 0=adaptive, 1=smooth, 2=standard, 3=high, 4=super |
live_stop_push
| Field | Type | Required | Description |
|---|---|---|---|
payload.video_id | string | yes | Video stream ID |
psdk
psdk
custom_data_transmission_to_esdk
| Field | Type | Required | Description |
|---|---|---|---|
payload.data | object | yes | Custom data |
custom_data_transmission_to_psdk
| Field | Type | Required | Description |
|---|---|---|---|
payload.payload_index | string | yes | Payload index |
payload.data | object | yes | Custom data |
psdk_input_box_text_set
| Field | Type | Required | Description |
|---|---|---|---|
payload.psdk_index | integer | yes | PSDK payload device index (0-3) |
payload.value | string | yes | Text content (max 128 bytes) |
psdk_widget_value_set
| Field | Type | Required | Description |
|---|---|---|---|
payload.psdk_index | integer | yes | PSDK payload device index (0-3) |
payload.index | integer | yes | Widget index |
payload.value | integer | yes | Widget value (defined by developer) |
speaker_audio_play_start
| Field | Type | Required | Description |
|---|---|---|---|
payload.psdk_index | integer | yes | PSDK payload device index (min: 0) |
payload.file | object | yes | Audio file information |
speaker_play_mode_set
| Field | Type | Required | Description |
|---|---|---|---|
payload.psdk_index | integer | yes | PSDK payload device index (0-3) |
payload.play_mode | integer | yes | Play mode: 0=single play, 1=loop (single track) |
speaker_play_stop
| Field | Type | Required | Description |
|---|---|---|---|
payload.psdk_index | integer | yes | PSDK payload device index (min: 0) |
speaker_play_volume_set
| Field | Type | Required | Description |
|---|---|---|---|
payload.psdk_index | integer | yes | PSDK payload device index (0-3) |
payload.index | integer | yes | Method payload field |
payload.play_volume | integer | yes | Speaker volume (0-100) |
speaker_replay
| Field | Type | Required | Description |
|---|---|---|---|
payload.psdk_index | integer | yes | PSDK payload device index (min: 0) |
speaker_tts_play_start
| Field | Type | Required | Description |
|---|---|---|---|
payload.psdk_index | integer | yes | PSDK payload device index (min: 0) |
payload.tts | object | yes | TTS text information |
file
file
fileupload_list
| Field | Type | Required | Description |
|---|---|---|---|
payload.module_list | array | yes | Method payload field |
fileupload_start
| Field | Type | Required | Description |
|---|---|---|---|
payload.bucket | string | yes | Method payload field |
payload.region | string | yes | Method payload field |
payload.credentials | object | yes | Method payload field |
payload.endpoint | string | yes | Method payload field |
payload.provider | string | yes | Method payload field |
payload.params | object | yes | Method payload field |
fileupload_update
| Field | Type | Required | Description |
|---|---|---|---|
payload.status | string | yes | Method payload field |
payload.module_list | array | yes | Method payload field |
upload_flighttask_media_prioritize
| Field | Type | Required | Description |
|---|---|---|---|
payload.flight_id | string | yes | Flight task ID |
safety
safety
flight_areas_get
| Field | Type | Required | Description |
|---|---|---|---|
payload.area_type | string | no | Area type filter (optional) |
flight_areas_update
| Field | Type | Required | Description |
|---|---|---|---|
payload | object | yes | Empty object {} |
unlock_license_list
| Field | Type | Required | Description |
|---|---|---|---|
payload.device_model_domain | integer | yes | License location (0=aircraft, 3=dock) |
unlock_license_switch
| Field | Type | Required | Description |
|---|---|---|---|
payload.license_id | integer | yes | License ID (unique identifier) |
payload.enable | boolean | yes | Enable/disable unlock license |
unlock_license_update
| Field | Type | Required | Description |
|---|---|---|---|
payload.file | object | no | Offline license file (optional, use Flysafe server if omitted) |
firmware
firmware
ota_create
| Field | Type | Required | Description |
|---|---|---|---|
payload.devices | array | yes | Array of devices to upgrade (max 2 devices) |