API Documentation (44.69.0-5)

Download OpenAPI specification:

Locks

Get lock info

Get info about the lock with this lockID.

path Parameters
lockID
required
string^[\dA-F]{32}$
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "LockName": "string",
  • "Type": 0,
  • "Created": "2019-08-24T14:15:22Z",
  • "Updated": "2019-08-24T14:15:22Z",
  • "LockID": "string",
  • "HouseID": "a57f9bda-a0f3-4990-8567-aec391f13038",
  • "HouseName": "string",
  • "Calibrated": true,
  • "timeZone": "string",
  • "battery": 0,
  • "supportsEntryCodes": true,
  • "remoteOperateSecret": "string",
  • "HomeKitSetupPayload": "string",
  • "skuNumber": "string",
  • "macAddress": "string",
  • "SerialNumber": "string",
  • "LockStatus": {
    },
  • "currentFirmwareVersion": "string",
  • "homeKitEnabled": true,
  • "zWaveEnabled": true,
  • "isGalileo": true,
  • "Bridge": {
    },
  • "parametersToSet": { },
  • "users": { },
  • "pubsubCHannel": "string",
  • "ruleHash": { },
  • "cameras": [ ],
  • "geofenceLimits": {
    },
  • "module": {
    },
  • "accessSchedulesAllowed": true,
  • "waHub": {
    },
  • "remoteAdapter": {
    }
}

Delete a lock

Delete a lock from the system. This is also known as factory resetting a lock.

  • This deletes all users from the lock.
  • If the lock has a keypad then it removes any keypad PIN codes too.
  • To use the lock again, it must be setup in the August/Yale app.
  • Any devices attached to the lock, like wifi bridges or keypads, are also deleted and must be setup again.
path Parameters
lockID
required
string^[\dA-F]{32}$

Delete the lock with this lockID.

soft
integer
Enum: 0 1

Set to 1 to leave the lock setup and the calling user intact. All other users and keypad PINs are removed.

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "message": "success"
}

Transfer lock pin to another user.

Transfer an existing PIN on a lock from one user to another.

path Parameters
lockID
required
string^[\dA-F]{32}$

Transfer the PIN on the lock associated with this lockID

Request Body schema: application/json
oldUserID
required
string <uuid>

Transfer the PIN from the user associated with this userID

newUserID
required
string <uuid>

Transfer the PIN to the user associated with this userID

Responses

Request samples

Content type
application/json
{
  • "oldUserID": "b13c2960-0346-4352-9b7b-6dd2682a615b",
  • "newUserID": "7b14406f-6e5e-4539-9241-498262c20b44"
}

Response samples

Content type
application/json
{
  • "message": "success"
}

Add a user to a lock

Add a user to a lock. The calling user must be a manager or superuser on the lock.

path Parameters
lockID
required
string^[\dA-F]{32}$

Add the user to the lock with this lockID.

otherUserID
required
string

Add the user with this user ID to the lock.

type
required
string
Enum: "user" "manager" "superuser"

Add the user to the lock with this user type.

Request Body schema: application/json
Name
string or null
object
returnInvited
boolean

If provided, will return the invited userId

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "options": {
    },
  • "returnInvited": true
}

Response samples

Content type
application/json
{
  • "message": "success"
}

Set a user's type

Change the type of a user who is already on a lock.

path Parameters
lockID
required
string^[\dA-F]{32}$

Change the type of the user on the lock with this lock ID.

otherUserID
required
string

Change the type of the user with this user ID.

type
required
string
Enum: "user" "manager" "superuser"

Change the user to this user type.

Request Body schema: application/json
object

Request samples

Content type
application/json
{ }

Get a lock's PINs

Get all PINs that are loaded on a lock.

path Parameters
lockID
required
string^[\dA-F]{32}$

Get PINs for the lock with this lockID.

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "created": [
    ],
  • "loaded": [
    ],
  • "disabled": [
    ],
  • "disabling": [
    ],
  • "enabling": [
    ],
  • "deleting": [
    ],
  • "updating": [
    ]
}

Manage a lock's PINs

Load, update, or delete the PINs on a lock.

path Parameters
lockID
string^[\dA-F]{32}$
Request Body schema: application/json
commands
Array of objects non-empty
webhook
string

Responses

Request samples

Content type
application/json
{
  • "commands": [
    ],
  • "webhook": "string"
}

Response samples

Content type
application/json
{
  • "message": "success"
}

Get a lock's activity feed

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Reserve a PIN on a lock

Reserves a PIN on a lock for a short time. Call POST /locks/:lockID/pins after.

path Parameters
lockID
required
string^[\dA-F]{32}$
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "pin": "string",
  • "slot": 0
}

Get master PIN

Get the master PIN on a lock.

path Parameters
lockID
required
string^[\dA-F]{32}$

Get the master PIN on the lock with this lockID.

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "_id": "string",
  • "type": "string",
  • "lockID": "string",
  • "userID": "2c3821b8-1cdb-4b77-bcd8-a1da701e46aa",
  • "state": "string",
  • "pin": "string",
  • "slot": 0,
  • "accessType": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "loadedDate": "2019-08-24T14:15:22Z"
}

Set master PIN

Set the master PIN on a lock.

path Parameters
lockID
required
string^[\dA-F]{32}$

Set the master PIN on the lock with this lockID.

Request Body schema: application/json
required
string or number

The PIN to set.

webhook
string^https

Our system will send a webhook to this URL when the lock is finished setting the PIN.

Responses

Request samples

Content type
application/json
{
  • "pin": "string",
  • "webhook": "string"
}

Response samples

Content type
application/json
{
  • "message": "success"
}

Release a PIN from a lock

Release a PIN that was reserved using the GET /locks/:lockID/pin endpoint.

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Remote operate

path Parameters
lockID
required
string^[\dA-F]{32}$
command
required
string
Enum: "lock" "unlock" "status" "reboot" "rebootLock" "unlatch" "telemetry" "secure" "calibrate" "disablehomekit" "extendedfunction" "ota"
query Parameters
notificationType
string
Enum: "pubnub" "websocket"
Request Body schema: application/json
object

Required if command is extendedfunction

webhook
any

Responses

Request samples

Content type
application/json
{
  • "extendedfunction": {
    },
  • "webhook": null
}

Response samples

Content type
application/json
{
  • "info": {
    },
  • "retryCount": 0,
  • "totalTime": 0,
  • "lockStatusChanged": false,
  • "extendedfunction": {
    }
}

Remote operate (v2)

path Parameters
lockID
required
string^[\dA-F]{32}$
command
required
string
Enum: "lock" "unlock" "status" "reboot" "rebootLock" "unlatch" "telemetry" "secure" "calibrate" "disablehomekit" "extendedfunction" "ota"
query Parameters
notificationType
string
Enum: "pubnub" "websocket"
header Parameters
accept-version
required
number
Value: "2.0.0"
Request Body schema: application/json
object

Required if command is extendedfunction

webhook
any

Request samples

Content type
application/json
{
  • "extendedfunction": {
    },
  • "webhook": null
}

Devices

Get device capabilities

Get the capabilities for a device

query Parameters
udID
string
hID
string
hhID
string
topLevelHost
boolean
deviceType
string
deviceID
string
serialNumber
string
productID
integer
productTypeID
integer
checkForSetup
boolean

Responses

Response samples

Content type
application/json
{
  • "lock": {
    },
  • "doorbell": {
    },
  • "connect": {
    },
  • "keypad": {
    }
}

Users

Get user info

Call GET /users/me to get info about the calling user.

query Parameters
withUnverifiedEmail
boolean

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Get user locks

Get a list of the calling user's locks.

Responses

Response samples

Content type
application/json
{
  • "lockID": {
    }
}

Get user houses

Get a list of the calling user's houses.

query Parameters
houseID
string <uuid>
hideIntegrationMode
boolean
clientSerial
string
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "HouseID": "string",
  • "HouseName": "string",
  • "type": "string",
  • "imageInfo": { }
}

Get user bridges

Get a list of the calling user's bridges.

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Get user webhooks

Get a list of the calling user's webhooks.

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Unlink user from app

Unlink a user from a partner integration. appID is the client ID of the partner`s OAuth credential.

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Log a user out

Log a user out by making it so the access token in the request headers can no longer be used.This also invalidates other access tokens that were issued before the given access token's issued at date.

Responses

Response samples

Content type
application/json
null

Log a user out

Log out the user by making all access tokens corresponding to installID in the request token no longer usable and delete user push notification token according to userId and device installId

Request Body schema: application/json
apnsDeviceID
required
string <uuid>
installID
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "apnsDeviceID": "61d45ae2-b358-49e3-8101-1cca8951fd48",
  • "installID": "b212f325-fa1f-4a84-bf0d-bdf1831e8eab"
}

Response samples

Content type
application/json
null

Create or get sub-user

Create or get a sub-user and associated access_token by partnerUserID. If no partnerUserID exists, creates an unverified user (sub-user), associated with the partnerUserID, with the caller as its userOwner. The resulting access_token is associated with the newly created unverified user, but also has references to the calling user and partnerUserID. Oauth association is also added to the access_token. If partnerUserID exists, and caller is a userOwner of that associated partnerUserID, return an access_token associated with the partnerUserID and the associated unverified userID.

Request Body schema: application/json
partnerUserID
required
string
firstName
required
string
lastName
required
string

Responses

Request samples

Content type
application/json
{
  • "partnerUserID": "string",
  • "firstName": "string",
  • "lastName": "string"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "userID": "string",
  • "userCreated": true
}

Houses

Get house info

Get information about an existing house.

path Parameters
houseID
required
string <uuid>
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "HouseName": "string",
  • "users": [
    ],
  • "locks": [
    ]
}

Webhooks

Create a user webhook

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Delete a user webhook

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Create a lock webhook

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Delete a user webhook

Responses

Response samples

Content type
application/json
{
  • "message": "success"
}

Websocket

Create a subscriber for websocket

Request Body schema: application/json
scopes
required
Array of strings non-empty unique
Items Value: "lock"

Responses

Request samples

Content type
application/json
{
  • "scopes": [
    ]
}

Response samples

Content type
application/json
{
  • "subscriberID": "string",
  • "scopes": [
    ],
  • "clientID": "string",
  • "userID": "string"
}

Get a created subscriber

path Parameters
subID
required
string

The subscriber ID obtained from POST /websocket/subscribers

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "subscriberID": "string",
  • "scopes": [
    ],
  • "clientID": "string",
  • "userID": "string"
}

Delete a subscriber

path Parameters
subID
required
string

The subscriber ID obtained from POST /websocket/subscriber

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "message": "string"
}