Skip to main content

Downlink — get frame status

Returns the current status of a frame queued with downlink_data_req: whether it is waiting to be sent, or has been handed to a gateway, radiated over the air or rejected. The frame is looked up by the dataId from the queuing response.

Useful if you are not subscribed to downlink_status messages or missed them, for example while reconnecting.

Request and response: downlink_ack_req → downlink_ack_resp.
Access: a low access level token sees the devices of its application and of applications that granted it access; a high access level token sees all devices of the owner.

Request​

Fields not marked as required may be omitted.

FieldTypeDescription
cmdstringdownlink_ack_req
operation_idstringAny string; the server returns it in the response to match the request and the response
devEuistringRequired. Device DevEUI, 16 hex characters
dataIduint32Required. Frame identifier from downlink_data_resp
{
"cmd": "downlink_ack_req",
"operation_id": "abc",
"devEui": "6F1E570FFE14DBFC",
"dataId": 3046127811
}

Response​

FieldTypeDescription
cmdstringdownlink_ack_resp
operation_idstringValue from the request
dataIduint32Frame identifier from the request
downlink_statusuint8Frame status code, see the status table
downlink_status_textstringStatus name, e.g. Delivered
downlink_status_timestringWhen the status was set, UTC, ISO 8601
ack_timestring or nullWhen the frame got its final status, UTC, format YYYY-MM-DD HH:MM:SS+0000; null while there is no final status
status, error_code, error_textuint8, uint8, stringOnly on error: status = 2, see below
{
"cmd": "downlink_ack_resp",
"operation_id": "abc",
"dataId": 3046127811,
"ack_time": "2026-10-08 09:47:21+0000",
"downlink_status": 3,
"downlink_status_text": "Delivered",
"downlink_status_time": "2026-10-08T09:47:21.402113+00:00"
}

Errors​

error_codeerror_textWhat happened
1dataId is requireddataId or devEui is missing
2Device not foundThere is no frame with this dataId for this device, or the device is not available with your token

Good to know​

  • A successful response has no status field. The v0.17 description includes it, but the current server version adds status only on error. Success is indicated by the presence of downlink_status.
  • The confirmation comes from the gateway, not from the device. Status 3 (Delivered) means the gateway radiated the frame. The device does not acknowledge reception: frames are sent unconfirmed.

See also​