PX4 named parameter set

PX4 parameter writes use MAVLink PARAM_SET underneath, but Open Platform does not expose generic px4.parameter.set. Every writable parameter has its own named command, request model, response model, and PX4 catalog evidence, so callers only provide payload.value. The current PX4 catalog is generated from parameters.json/xml and contains 1873 QGroundControl-style named parameters: 1310 FLOAT, 563 INT32, and 101 volatile rows. Each parameter receives a fixed command type:
px4.parameter.<px4_param_name_lower>.set
For example, CBRK_USB_CHK maps to px4.parameter.cbrk_usb_chk.set. Callers must not pass param_id in the payload; the parameter name is always fixed by the command type.

Find A Parameter

Full Set Catalog

A complete index table for all 1873 named set commands

Browse By PX4 Group

Open group pages for Commander, EKF2, MAVLink, Sensors, and more

Read Parameter

Read the current value before deciding whether to write

Parameter Protocol

Review responses, allowlist rules, and completion semantics

Payload Model

Catalog-backed parameter writes use a fixed field:
{
  "value": 0
}
The agent validates enum, boolean, bitmask, float, and int32 values against the PX4 catalog:
PX4 shapePayload formValidation
FLOATnumberType, minimum, maximum
INT32integerType, minimum, maximum
enumstringMust match catalog values
booleanbooleanConverted to PX4 INT32
bitmaskobject { "bits": 3 }May only set catalog bits
Important parameter detail pages explain the meaning of payload.value. For example, COM_RC_IN_MODE uses the enum string payload.value: "mavlink_only", and velocity parameters use numeric payload.value. Those detail pages are focused explanations, not the full catalog.

Request Example

{
  "vendor": "px4",
  "device_id": "px4-real-1",
  "command_type": "px4.parameter.mpc_z_vel_max_up.set",
  "payload": {
    "value": 3.5
  },
  "idempotency_key": "req-px4-param-MPC_Z_VEL_MAX_UP-001",
  "timeout_seconds": 30
}

Detail Pages

Parametercommand_typeDescription
COM_RC_IN_MODEpx4.parameter.com_rc_in_mode.setManual-control input source
MPC_XY_VEL_MAXpx4.parameter.mpc_xy_vel_max.setMaximum horizontal velocity
CBRK_USB_CHKpx4.parameter.cbrk_usb_chk.setUSB-link circuit breaker
EKF2_GPS_CTRLpx4.parameter.ekf2_gps_ctrl.setGNSS fusion bitmask
MPC_Z_VEL_MAX_UPpx4.parameter.mpc_z_vel_max_up.setMaximum ascent velocity

Safety Rules

  • Do not send command_type=px4.parameter.set.
  • Do not provide param_id, value_type, or param1 through param7 in the payload.
  • Enums, booleans, bitmasks, floats, and int32 values are validated against the PX4 catalog.
  • Real writes require PX4_COMMAND_MODE=guarded, explicit authorization, ready transport, and operator guard.
  • PX4_PARAMETER_WRITE_ALLOWLIST must contain the PX4 parameter ID fixed by the named command.
  • PX4_COMMAND_MODE=disabled is the default; in that mode the agent rejects every parameter write locally before sending PARAM_SET.

Transport Mapping

LayerDescription
Cloud commandOne named command type per parameter
Request modelOne named request struct per parameter
MAVLink framePARAM_SET (23)
PX4 responsePARAM_VALUE or PARAM_ERROR
Completionparameter_value_confirmed / parameter_error / parameter_response_mismatch / parameter_timeout