August API Documentation (22.3.2)

Authentication

apiKeyAuth

Security Scheme Type API Key
Header parameter name: x-august-api-key

accessTokenAuth

session or OAuth token encoded as JWT

Security Scheme Type API Key
Header parameter name: x-august-access-token

SDK

Get House

Get information about an existing house.

path Parameters
houseID
required
string <uuid>

Responses

Response samples

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

Get an :identifier's device info

Get all devices that can be managed by the user associated with the given :identifier. An identifier can either be a userID or invitationID.

path Parameters
houseID
required
string <uuid>
identifier
required
string

Responses

Response samples

Content type
application/json
{
  • "locks": [
    ],
  • "doorbells": [
    ]
}

Get the guestlist for a House

Get all of the users and their access levels for a House

path Parameters
houseID
required
string <uuid>
query Parameters
mergeDuplicates

Responses

Response samples

Content type
application/json
{
  • "owners": [
    ],
  • "guests": [
    ],
  • "pinOnly": [
    ],
  • "rfidOnly": [
    ],
  • "fingerOnly": [
    ],
  • "invitations": {
    }
}

Get lock details

Responses

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

Update Lock

Currently only Lock Name, Calibration status, and homeKit ID can be updated

path Parameters
lockID
required
string^[\dA-F]{32}$
Request Body schema: application/json
LockName
string
Calibrated
boolean
homeKitEnabled
boolean
zWaveEnabled
boolean
doorStateOpenTimeout
number <float>
hostLockInfo
object
homeKitUniqueIdentifier
string
integrationModeEnabled
boolean

Responses

Request samples

Content type
application/json
{
  • "LockName": "string",
  • "Calibrated": true,
  • "homeKitEnabled": true,
  • "zWaveEnabled": true,
  • "doorStateOpenTimeout": 0,
  • "hostLockInfo": { },
  • "homeKitUniqueIdentifier": "string",
  • "integrationModeEnabled": true
}

Response samples

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

Update offline key status

Notify the server about the status of an existing offline key

path Parameters
lockID
required
string^[\dA-F]{32}$
action
required
string
Request Body schema: application/json
UserID
required
string
slot
required
number <float>

Responses

Request samples

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

Response samples

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

Give a user access to a lock

Add otherUser to lockID managed by calling user

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

Request samples

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

Set User Type

Sets otherUsers's type on lock specified by lockID managed by calling user.

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

Get Lock Pins

Get all pins for a given lock.

Responses

Response samples

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

Inform service of lock usage

Notifies service of lock operation. If a key is "in flight", it closes the loop and finalizes the process. Creates a log entry for the usage, and triggers notifications to all clients listening for updates on the lock

Get lock status

Returns the status of a lock from the locks collection.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "dateTime": "2019-08-24T14:15:22Z",
  • "isLockStatusChanged": true,
  • "valid": true,
  • "doorState": "string"
}

Add a log entry

Creates a log entry that :action was performed by callingUser at :dateTime

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

Initiate communication

Takes two random numbers then returns a packet to be sent to the lock and a URL to PUT the response

path Parameters
lockID
required
string^[\dA-F]{32}$
Request Body schema: application/json
mRand1
required
number <float>
mRand2
required
number <float>

Responses

Request samples

Content type
application/json
{
  • "mRand1": 0,
  • "mRand2": 0
}

Response samples

Content type
application/json
{
  • "packet": "string",
  • "url": "string",
  • "method": "PUT"
}

Get lock rands

Takes the lock's response to the exchange key packet and returns lRand1 and lRand2

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

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "lRand1": "string",
  • "lRand2": "string",
  • "slot": "string",
  • "mRand1": "string",
  • "mRand2": "string"
}

Creates a or changes pin for user and lock

Creates or change the pin on the specified lock for the specified user

path Parameters
lockID
required
string^[\dA-F]{32}$
otherUserID
required
Request Body schema: application/json
firstName
string
lastName
string
state
required
string
Enum: "load" "delete" "disable" "enable" "update"
action
required
string
Enum: "intent" "commit"
(string or number)
slot
integer
accessType
string
Default: "always"
Enum: "always" "recurring" "temporary" "onetime"
accessTimes
string
accessRecurrence
string
schedule
string
transactionID
string

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "state": "load",
  • "action": "intent",
  • "pin": "string",
  • "slot": 0,
  • "accessType": "always",
  • "accessTimes": "string",
  • "accessRecurrence": "string",
  • "schedule": "string",
  • "transactionID": "string"
}

Response samples

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

Generate pin

Generates a available random pin and reserve it for an system specified time

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

Responses

Response samples

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

Get Lock

Get information about an existing lock

path Parameters
lockID
required
string^[\dA-F]{32}$
header Parameters
accept-version
required
number
Value: "2.0.0"

Responses

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": { },
  • "homeKitEnabled": true,
  • "zWaveEnabled": true,
  • "isGalileo": true,
  • "Bridge": {
    },
  • "parametersToSet": { },
  • "users": { },
  • "pubsubChannel": "string",
  • "ruleHash": { },
  • "cameras": [ ],
  • "geofenceLimits": {
    }
}

Create a rule for a lock and add a user to it.

Create a usage rule for a lock, and apply it to the user specified by otherUserID

path Parameters
lockID
required
string^[\dA-F]{32}$
otherUserID
required
Request Body schema: application/json
startTime
required
string
endTime
required
string
recurrence
string
schedule
string
Name
string

Responses

Request samples

Content type
application/json
{
  • "startTime": "string",
  • "endTime": "string",
  • "recurrence": "string",
  • "schedule": "string",
  • "Name": "string"
}

Response samples

Content type
application/json
{
  • "ruleID": "70ad0911-782f-4c13-9983-d6e9c9bdcc40"
}

Get locks

Get list of calling user's locks

Responses

Response samples

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

Get Houses

Get a list of calling user's houses.

Responses

Response samples

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

Creates unverified users

Creates an unverified user with lock and credential types

Request Body schema: application/json
lockID
required
string^[\dA-F]{32}$
credentialType
string
Enum: "pin" "rf" "finger"
phone
string
firstName
string
lastName
string
pin
string^[0-9]{4,14}$

Responses

Request samples

Content type
application/json
{
  • "lockID": "string",
  • "credentialType": "pin",
  • "phone": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "pin": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "firstName": "string",
  • "lastName": "string",
  • "slot": 0,
  • "pin": null
}

Get User Information

/users/me will return information for calling (OAuth'd) user,whereas /users/:userID will return the information for the user specified by :userID. Returns Not Found if userID does not exist.

path Parameters
otherUserID
required
header Parameters
accept-version
required
number
Value: "2.0.0"

Responses

Response samples

Content type
application/json
{
  • "UserID": "08aac8e3-775d-4513-8aaa-658f6ba9bbcd",
  • "Email": "user@example.com",
  • "PhoneNo": "string",
  • "FirstName": "string",
  • "LastName": "string",
  • "locale": {
    },
  • "imageInfo": {
    },
  • "optedInToOrchestra": true,
  • "tokens": [
    ]
}

SDK authentication for LG homins.

SDK authentication for LG homins to exchange access token.

Request Body schema: application/json
serialNumber
required
string^[A-Z][\dA-Z]{9}$
authKey
required
string^[\da-f]{32}$

Responses

Request samples

Content type
application/json
{
  • "serialNumber": "string",
  • "authKey": "string"
}

Response samples

Content type
application/json
{
  • "lockID": "string",
  • "accessToken": "string",
  • "accessTokenExpiresIn": "string"
}

Get activity feed for a house

Get the activity feed for the provided :houseID

path Parameters
houseID
required
string <uuid>
query Parameters
end
deviceID
string
deviceType
string
Enum: "lock" "doorbell" "keypad"
userID
string <uuid>
header Parameters
accept-version
required
number
Value: "4.0.0"

Responses

Response samples

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

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

Responses

Response samples

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