Skip to content

chemdrew/MyQ-LiftMaster-Chamberlain-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 

Repository files navigation

MyQ API

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

POST /api/v4/User/Validate

headers

{
  "MyQApplicationId": "NWknvuBd7LoFHfXmKNMBcgajXtZEgKUh4V7WNzMidrpUUluDpVYVZx+xT4PCM5Kx",
  "Content-Type": "application/json"
}

body

{
    "username": "string",
    "password": "string"
}

response

{
    "SecurityToken": "uuid",
    "ReturnCode": "int string",
    "ErrorMessage": "string",
    "CorrelationId": "uuid"
}

GET /api/v4/userdevicedetails/get

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"
}

GET /api/v4/deviceattribute/getdeviceattribute?AttributeName=name&MyQDeviceId=id

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"
}

PUT /api/v4/deviceattribute/putdeviceattribute

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"
}

About

basic specs I could gather of the MyQ garage external bridge api

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published