Skip to main content
GET
/
hvac
/
actions
/
{actionId}
Get action status
curl --request GET \
  --url https://api.example.com/hvac/actions/{actionId} \
  --header 'x-api-key: <api-key>'
{
  "id": "act_abc123",
  "deviceId": "device_xyz789",
  "type": "hvac:set_permanent_hold",
  "state": "acknowledged",
  "result": {
    "success": true,
    "message": "Command executed successfully"
  },
  "createdAt": "2025-01-23T10:30:00.000Z",
  "updatedAt": "2025-01-23T10:30:05.000Z",
  "deferredUntil": "2025-06-01T18:00:00Z",
  "parameters": {
    "mode": "auto",
    "heatSetpoint": 68,
    "coolSetpoint": 76
  },
  "errorCode": "DEVICE_OFFLINE",
  "errorMessage": "Device is currently offline",
  "acknowledgedAt": "2025-01-23T10:30:01.000Z",
  "completedAt": "2025-01-23T10:30:05.000Z"
}

Authorizations

x-api-key
string
header
required

Path Parameters

actionId
string
required

The unique identifier for the action

Example:

"action_abc123"

Response

Action status retrieved successfully

id
string
required

Unique action identifier

Example:

"act_abc123"

deviceId
string
required

Device ID

Example:

"device_xyz789"

type
enum<string>
required

Action type

Available options:
hvac:follow_schedule,
hvac:set_permanent_hold
Example:

"hvac:set_permanent_hold"

state
enum<string>
required

Current state of the action

Available options:
acknowledged,
deferred,
completed,
failed
Example:

"acknowledged"

result
object
required

OEM response data when action completes successfully. Contains base PushResult structure (success, message, error) plus any OEM-specific fields.

Example:
{
"success": true,
"message": "Command executed successfully"
}
createdAt
string
required

ISO timestamp when action was created

Example:

"2025-01-23T10:30:00.000Z"

updatedAt
string
required

ISO timestamp when action was last updated

Example:

"2025-01-23T10:30:05.000Z"

deferredUntil
string | null

Resolved ISO 8601 UTC timestamp the action is deferred until. Null if the action was not deferred.

Example:

"2025-06-01T18:00:00Z"

parameters
object

Action-specific parameters sent with the request. null for follow_schedule, object with mode/heatSetpoint/coolSetpoint for set_permanent_hold

Example:
{
"mode": "auto",
"heatSetpoint": 68,
"coolSetpoint": 76
}
errorCode
string | null

Error code if action failed

Example:

"DEVICE_OFFLINE"

errorMessage
string | null

Error message if action failed

Example:

"Device is currently offline"

acknowledgedAt
string | null

ISO timestamp when action was acknowledged

Example:

"2025-01-23T10:30:01.000Z"

completedAt
string | null

ISO timestamp when action was completed

Example:

"2025-01-23T10:30:05.000Z"