the liftmaster/chamberlain apps kinda suck (slow, incorrect states, no touchid login - issue since it always kicks me out, and no geofencing)
So these were the api calls I needed to make a useable app
protocol=https
domain=myqexternal.myqdevice.com
headers
{
"MyQApplicationId": "NWknvuBd7LoFHfXmKNMBcgajXtZEgKUh4V7WNzMidrpUUluDpVYVZx+xT4PCM5Kx",
"Content-Type": "application/json"
}
body
{
"username": "string",
"password": "string"
}
response
{
"SecurityToken": "uuid",
"ReturnCode": "int string",
"ErrorMessage": "string",
"CorrelationId": "uuid"
}
headers
{
"MyQApplicationId": "NWknvuBd7LoFHfXmKNMBcgajXtZEgKUh4V7WNzMidrpUUluDpVYVZx+xT4PCM5Kx",
"SecurityToken": "uuid",
"Content-Type": "application/json"
}
response
{
"Devices": [
{
"MyQDeviceId": integer,
"ParentMyQDeviceId": integer,
"MyQDeviceTypeId": integer,
"MyQDeviceTypeName": "string",
"RegistrationDateTime": "iso timestamp",
"SerialNumber": "string",
"UserName": "string",
"UserCountryId": integer,
"Attributes": [
{
"MyQDeviceTypeAttributeId": integer,
"Value": "string",
"UpdatedTime": "epoch string",
"IsDeviceProperty": boolean,
"AttributeDisplayName": "string",
"IsPersistent": boolean,
"IsTimeSeries": boolean,
"IsGlobal": boolean,
"UpdatedDate": "iso string"
}
],
"ChildrenMyQDeviceIds": "string",
"UpdatedBy": "string",
"UpdatedDate": "iso string",
"ConnectServerDeviceId": "string"
}
],
"ReturnCode": "string",
"ErrorMessage": "string",
"CorrelationId": "uuid"
}
headers
{
"MyQApplicationId": "NWknvuBd7LoFHfXmKNMBcgajXtZEgKUh4V7WNzMidrpUUluDpVYVZx+xT4PCM5Kx",
"SecurityToken": "uuid",
"Content-Type": "application/json"
}
response
{
"MyQDeviceTypeAttributeId": integer,
"Value": "string",
"UpdatedTime": "epoch string",
"IsDeviceProperty": boolean,
"AttributeDisplayName": "string",
"IsPersistent": boolean,
"IsTimeSeries": boolean,
"IsGlobal": boolean,
"UpdatedDate": "iso string"
}
headers
{
"MyQApplicationId": "NWknvuBd7LoFHfXmKNMBcgajXtZEgKUh4V7WNzMidrpUUluDpVYVZx+xT4PCM5Kx",
"SecurityToken": "uuid",
"Content-Type": "application/json"
}
body
{
"MyQDeviceId": integer,
"AttributeName": "desireddoorstate",
"AttributeValue": Enum[
"0" = close
"1" = open
]
}
response
{
"UpdatedTime": "epoch string",
"ReturnCode": "string integer",
"ErrorMessage": "string",
"CorrelationId": "uuid"
}