Download OpenAPI specification:Download
The ButterflyMX API V3 implements the Authorization Grant Type Flow and issues an access_token
along with a refresh_token
. The Authorization Code grant type is used by confidential and public clients to exchange an authorization code for an access token.
To begin the authorization flow, your application will need to construct a URL like the following and open a browser to that URL:
https://accountssandbox.butterflymx.com/oauth/authorize?client_id=$CLIENT_ID&redirect_uri=https://usersandbox.butterflymx.com/oauth/callbacks/butterflymx&response_type=code&client_secret=$CLIENT_SECRET
To obtain a valid access_token
and refresh_token
, your application will need to send the $CLIENT_ID
, $CLIENT_SECRET
and $code
to the ButterflyMX token endpoint:
curl --location --request POST 'https://accountssandbox.butterflymx.com/oauth/token' \
--form 'grant_type=authorization_code' \
--form 'code=$code' \
--form 'client_id=$CLIENT_ID' \
--form 'client_secret=$CLIENT_SECRET' \
--form 'redirect_uri=https://usersandbox.butterflymx.com/oauth/callbacks/butterflymx'
Response sample in case of success:
HTTP/1.1 200 OK
Content-Type: application/json
{
"access_token": "eyJ0eXAi...TcV3Q",
"token_type": "bearer",
"expires_in": 7200,
"refresh_token": "6d8cd1d...9f75",
"created_at": 1506068201
}
Response sample in case that your $CLIENT_ID
doesn't exist, or you didn't include your $CLIENT_SECRET
in the request:
{
"error": "invalid_client",
"error_description": "Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method."
}
After access_token
expiration, an app can call the same API authentication endpoint to exchange the refresh_token
for a new, valid access_token:
curl -X POST "https://accountssandbox.butterflymx.com/oauth/token" \
-d grant_type=refresh_token \
-d refresh_token=6d8cd1d...9f75 \
-d client_id=$CLIENT_ID \
-d client_secret=$CLIENT_SECRET
Response sample in case of success:
HTTP/1.1 200 OK
Content-Type: application/json
{
"access_token": "eyJ0eXAi...",
"token_type": "bearer",
"expires_in": 7200,
"refresh_token": "6d8cd1d...",
"created_at": 1506068601
}
Note:
After successful refresh action, the mobile app has to store new access_token
and refresh_token
(both are changed)!
Last issued refresh_token
doesn't expire (it is valid indefinitely) but is still subject to invalidation for other reasons.
In case that on the renewal request server responds with HTTP status 401
, the app should immediately log-off user.
Response status 401
, in this case, means that this refresh_token
is invalid and refresh operation will not be possible.
For example, if the mobile phone is stolen or compromised, the refresh_token
can be invalidated on the server side.
Users can change their password by sending a PUT or PATCH request to the ButterflyMX Accounts API. All password change requests need to include the access_token
in the Authorization
header like this:
curl -X PUT 'https://accounts.butterflymx.com/api/v1/password' \
-H 'Authorization:Bearer eyJ0eXAi...TcV3Q' \
--data-urlencode 'account[current_password]=password' \
--data-urlencode 'account[password]=new_password' \
--data-urlencode 'account[password_confirmation]=new_password'
In case of the successful password change, the server will return HTTP status 204 No Content
.
In case that current password was not correct, the server will respond with a ‘Wrong password’ message in the errors key, like this:
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
{ "errors" : "Wrong password" }
In case of any other errors while updating password, full error messages will be returned. The most common (and probably only) case where this could happen is when there is a password
and password_confirmation
values mismatch, like this:
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
{ "errors" : ["Password confirmation doesn't match Password"] }
Authenticated user can have any of the following roles (authorizations):
ButterflyMX Building model is divided into zones (e.g., residential, business, etc.). Zones can't overlap. Each zone can contain many units. A unit can be apartment, office, garage, etc.
ButterflyMX API V3 implements latest JSON API Specification (v1.0) published at: http://jsonapi.org/format/
Pagination use query parameters such as page[number]
and page[size]
.
For example:
GET https://apisandbox.butterflymx.com/v3/door_releases?page[size]=10&?page[number]=2
Accept: application/vnd.api+json
Note: Examples are not url-encoded for a better readability
Example:
GET https://apisandbox.butterflymx.com/v3/door_releases?sort=name,created_at
Accept: application/vnd.api+json
Multiple Sort You can sort on multiple fields like this:
GET https://apisandbox.butterflymx.com/v3/door_releases?sort=name,created_at
Accept: application/vnd.api+json
Descendant Sort
Note: The sort order for each attribute is ascending unless it is prefixed with a minus (U+002D HYPHEN-MINUS, -
), in which case it is descending.
You can make desc sort with the character -
like this:
GET https://apisandbox.butterflymx.com/v3/door_releases?sort=-created_at
Accept: application/vnd.api+json
Multiple Sort with Descendant Sort
GET https://apisandbox.butterflymx.com/v3/door_releases?sort=-created_at,name
Accept: application/vnd.api+json
The above example should return the newest door releases first. Any door release created on the same moment then be sorted by their name in ascending alphabetical order.
Examples:
GET https://apisandbox.butterflymx.com/v3/door_releases?filter[unit]=11
Accept: application/vnd.api+json
or
GET https://apisandbox.butterflymx.com/v3/door_releases?filter[unit]=11&filter[user]=22
Accept: application/vnd.api+json
Check each resource to see which fields can be filtered.
Some endpoints can have other resources included, check the endpoint documentation to see which resources can be included for that endpoint.
Example:
GET https://apisandbox.butterflymx.com/v3/me?include=buildings,units
Accept: application/vnd.api+json
You can read more about includes here
Note: symbol ✓ marks permission on all entries in the authorized scope (e.g. all buildings where the Building Admin is authorized for administration* etc.)
List / Show | Change | Create | Delete | |
---|---|---|---|---|
Tenant | - | - | - | - |
Unit Admin | - | - | - | - |
Zone Admin | - | - | - | - |
Building Admin | ✓ | ✓ | - | - |
Fields that can be changed by the building admin:
name
(String)time_zone
(String)building_type
(String)display_name_strategy
(String), one of the allowed values:building
custom
first_name_and_last_name
first_name_initial_and_last_name
anonymous
first_name_and_last_name_initial
send_panel_status_report
(Boolean)panel_logo
(File)mobile_logo
(File)remove_panel_logo
(Boolean)remove_mobile_logo
(Boolean)qr_key_enabled
(Boolean)door_release_pin
(String)in_unit_phone_number
(String)address_1
(String)address_2
(String)city
(String)state
(String)zip_code
(String)phone_number
(String)country
(String){- "data": [
- {
- "id": "577696282",
- "type": "buildings",
- "attributes": {
- "name": "Stark-Pouros-13",
- "building_type": "multi_family",
- "display_name_strategy": "first_name_initial_and_last_name",
- "nfc_enabled": false,
- "send_panel_status_report": false,
- "mobile_logo_picture": {
}, - "panel_logo_picture": {
}, - "address_1": "54001 Schumm Summit",
- "address_2": "Fredericchester, PA 78524",
- "city": "Fredericchester",
- "state": "Pennsylvania",
- "zip_code": "78524",
- "phone_number": "578-450-4893 x177",
- "country": "us",
- "qr_key_enabled": true,
- "time_zone": "Etc/UTC",
- "time_zone_offset": "+00:00",
- "delivery_pass_enabled": true,
- "door_release_pin": true,
- "open_door_button_enabled": true
}, - "relationships": {
- "panels": {
- "data": [
- {
- "id": "708353664",
- "type": "panels"
}
]
}, - "key_lockers": {
- "data": [ ]
}
}
}
], - "included": [
- {
- "id": "708353664",
- "type": "panels",
- "attributes": {
- "name": "Otheym 4",
- "nfc": {
- "uuid": "6ae5c340-d3c5-443b-8ac0-c7b7877e308d"
}
}, - "relationships": {
- "building": {
- "data": {
- "id": "577696282",
- "type": "buildings"
}
}
}
}
], - "links": {
- "prev": null,
- "next": null,
}
}
id | number Example: 577696284 |
Accept | any Example: application/vnd.api+json |
{- "data": {
- "id": "577696284",
- "type": "buildings",
- "attributes": {
- "name": "Jenkins and Sons-16",
- "building_type": "multi_family",
- "display_name_strategy": "first_name_and_last_name",
- "nfc_enabled": false,
- "send_panel_status_report": false,
- "mobile_logo_picture": {
}, - "panel_logo_picture": {
}, - "address_1": "5347 Anthony Ports",
- "address_2": "South Lunahaven, KY 53568-2855",
- "city": "South Lunahaven",
- "state": "Kentucky",
- "zip_code": "53568-2855",
- "phone_number": "1-474-571-2915",
- "country": "us",
- "qr_key_enabled": true,
- "time_zone": "Etc/UTC",
- "time_zone_offset": "+00:00",
- "delivery_pass_enabled": true,
- "door_release_pin": true,
- "open_door_button_enabled": true
}, - "relationships": {
- "panels": {
- "data": [
- {
- "id": "708353665",
- "type": "panels"
}
]
}, - "key_lockers": {
- "data": [ ]
}
}
}, - "included": [
- {
- "id": "708353665",
- "type": "panels",
- "attributes": {
- "name": "Ramallo 5",
- "nfc": {
- "uuid": "dcb6a2e0-5755-4da5-978c-1f382bdf9eef"
}
}, - "relationships": {
- "building": {
- "data": {
- "id": "577696284",
- "type": "buildings"
}
}
}
}
]
}
id | number Example: 577696288 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "buildings",
- "id": "577696288",
- "attributes": {
- "name": "My Building",
- "building_type": "commercial_office",
- "display_name_strategy": "first_name_and_last_name",
- "door_release_pin": false,
- "qr_key_enabled": false,
- "send_panel_status_report": true,
- "time_zone": "Eastern Time (US & Canada)"
}
}
}
{- "data": {
- "id": "577696288",
- "type": "buildings",
- "attributes": {
- "name": "My Building",
- "building_type": "commercial_office",
- "display_name_strategy": "first_name_and_last_name",
- "nfc_enabled": false,
- "send_panel_status_report": true,
- "mobile_logo_picture": {
}, - "panel_logo_picture": {
}, - "address_1": "63380 Kuhn Path",
- "address_2": "Conradville, AK 62774",
- "city": "Conradville",
- "state": "Alaska",
- "zip_code": "62774",
- "phone_number": "474.124.9337 x29959",
- "country": "us",
- "qr_key_enabled": false,
- "time_zone": "Eastern Time (US & Canada)",
- "time_zone_offset": "-04:00",
- "delivery_pass_enabled": true,
- "door_release_pin": false,
- "open_door_button_enabled": true
}, - "relationships": {
- "panels": {
- "data": [
- {
- "id": "708353667",
- "type": "panels"
}
]
}, - "key_lockers": {
- "data": [ ]
}
}
}
}
Allowed integrators:
webhook
Allowed config
attributes for integrators:
get
or post
)Allowed binding resource types:
call
door_release
building_id | number Example: 1337 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": [
- {
- "id": "79c9dc15-1bef-4ecc-956e-824be46901ce",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": {
- "id": "1337",
- "type": "buildings"
}
}, - "tenant": {
- "data": null
}
},
}
], - "links": {
- "prev": null,
- "next": null,
}
}
building_id | number Example: 1337 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "actions": [
- "create"
], - "resource_type": "call",
- "resource_id": null
}
]
}
}
}
{- "data": {
- "id": "79c9dc15-1bef-4ecc-956e-824be46901ce",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "call",
- "resource_id": null,
- "actions": [
- "create"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "call",
- "resource_id": null,
- "actions": [
- "create"
]
}
]
}, - "building": {
- "data": {
- "id": "1337",
- "type": "buildings"
}
}, - "tenant": {
- "data": null
}
},
}
}
building_id | number Example: 1337 |
id | string Example: 79c9dc15-1bef-4ecc-956e-824be46901ce |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "id": "79c9dc15-1bef-4ecc-956e-824be46901ce",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": {
- "id": "1337",
- "type": "buildings"
}
}, - "tenant": {
- "data": null
}
},
}
}
building_id | number Example: 1337 |
id | string Example: 79c9dc15-1bef-4ecc-956e-824be46901ce |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "actions": [
- "update",
- "destroy"
], - "resource_type": "door_release",
- "resource_id": "7"
}
]
}
}
}
{- "data": {
- "id": "79c9dc15-1bef-4ecc-956e-824be46901ce",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": {
- "id": "1337",
- "type": "buildings"
}
}, - "tenant": {
- "data": null
}
},
}
}
tenant_id | number Example: 2262 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": [
- {
- "id": "bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": null
}, - "tenant": {
- "data": {
- "id": "2262",
- "type": "units_users"
}
}
},
}
], - "links": {
- "prev": null,
- "next": null,
}
}
tenant_id | number Example: 2262 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "actions": [
- "create"
], - "resource_type": "call",
- "resource_id": null
}
]
}
}
}
{- "data": {
- "id": "bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "call",
- "resource_id": null,
- "actions": [
- "create"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "call",
- "resource_id": null,
- "actions": [
- "create"
]
}
]
}, - "building": {
- "data": null
}, - "tenant": {
- "data": {
- "id": "2262",
- "type": "units_users"
}
}
},
}
}
tenant_id | number Example: 2262 |
id | string Example: bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "id": "bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": null
}, - "tenant": {
- "data": {
- "id": "2262",
- "type": "units_users"
}
}
},
}
}
tenant_id | number Example: 2262 |
id | string Example: bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "actions": [
- "update",
- "destroy"
], - "resource_type": "door_release",
- "resource_id": "7"
}
]
}
}
}
{- "data": {
- "id": "bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": null
}, - "tenant": {
- "data": {
- "id": "2262",
- "type": "units_users"
}
}
},
}
}
initializing
canceled
timeout_online_signal
voip_connected
initializing
canceled
timeout_online_signal
connecting_sip
voip_rollover
rejected
call_guid | string Example: 1fe63de3-2501-4445-85b9-04edadc86107 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "id": "2",
- "type": "call_statuses",
- "attributes": {
- "status": "initializing",
- "multiple_devices": false,
- "created_at": "2023-06-05T10:40:16Z"
}, - "relationships": {
- "call": {
- "data": {
- "id": "970026631",
- "type": "calls"
}
}
}
}, - "included": [
- {
- "id": "970026631",
- "type": "calls",
- "attributes": {
- "guid": "1fe63de3-2501-4445-85b9-04edadc86107",
- "call_type": "voip",
- "notification_type": "visitor",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "status": "initializing",
- "display_status": "Initializing",
- "panel_id": 708353671,
- "panel_name": "Shaddam Corrino IV 12",
- "panel_sip": "panel_708353671",
- "provider": "internal"
}
}
]
}
unit -> integer
notification_type -> enum(string)
call_type -> enum(string)
guid -> string
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": [
- {
- "id": "970026635",
- "type": "calls",
- "attributes": {
- "guid": "524bd22e-e061-428e-9b2b-5be8f0c13650",
- "call_type": "voip",
- "notification_type": "visitor",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "status": "initializing",
- "display_status": "Initializing",
- "initial": true,
- "provider": "internal"
}, - "relationships": {
- "rollover_calls": {
- "data": [ ]
}, - "panel": {
- "data": {
- "id": "708353673",
- "type": "panels"
}
}
}
}, - {
- "id": "970026634",
- "type": "calls",
- "attributes": {
- "guid": "4443a8e1-dbb3-4d29-a93c-6ccf69d8905f",
- "call_type": "voip",
- "notification_type": "visitor",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "status": "initializing",
- "display_status": "Initializing",
- "initial": true,
- "provider": "internal"
}, - "relationships": {
- "rollover_calls": {
- "data": [ ]
}, - "panel": {
- "data": {
- "id": "708353673",
- "type": "panels"
}
}
}
}, - {
- "id": "970026633",
- "type": "calls",
- "attributes": {
- "guid": "02ebd03a-0481-44a4-a067-dc6342c19094",
- "call_type": "voip",
- "notification_type": "visitor",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "status": "initializing",
- "display_status": "Initializing",
- "initial": true,
- "provider": "internal"
}, - "relationships": {
- "rollover_calls": {
- "data": [ ]
}, - "panel": {
- "data": {
- "id": "708353673",
- "type": "panels"
}
}
}
}
], - "links": {
- "prev": null,
- "next": null,
}
}
Note: symbol ✓ marks permission on all entries in the authorized scope (e.g. all buildings where the Building Admin is authorized for administration* etc.)
List / Show | Change | Create | Delete | |
---|---|---|---|---|
Tenant | ✓ | - | - | - |
Unit Admin | ✓ | - | - | - |
Zone Admin | ✓ | - | - | - |
Building Admin | ✓ | - | - | - |
Request Samples with Filter:
GET /v3/door_releases?unit_id=11
GET /v3/door_releases?user_id=22
GET /v3/door_releases?unit_id=11&user_id=22
GET /v3/door_releases?door_release_type=delivery
Request Samples with Sort:
GET /v3/door_releases?sort=created
GET /v3/door_releases?sort=-created,name
The sort order for each attribute is ascending unless it is prefixed with a minus (U+002D HYPHEN-MINUS, “-“), in which case it is descending.
Allowed values for:
release_method
:mobile
panel
qr_key
nfc
voip
door_release_type
:visitor
delivery
panel_user_type
:default
doorman
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": [
- {
- "id": "561908635",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "call_guid": "047d783f-446a-4ded-b1e7-26a4d7b11eb7",
- "delivery_guid": "0e419755-9003-497f-bdab-8039e4ea128e",
- "name": "Alethea Jacobson",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107264",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619258",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353674",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353677",
- "type": "panels"
}
}
}
}, - {
- "id": "561908634",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "call_guid": "7fc0d474-a9b6-4e1a-9175-e45ccb5a3102",
- "delivery_guid": "16300a4d-3c4f-46c0-a6f6-ff13fc8edd3e",
- "name": "Vincent Roberts I",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107264",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619258",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353674",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353676",
- "type": "panels"
}
}
}
}, - {
- "id": "561908633",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "call_guid": "6118b9f9-c9d0-452a-870e-013ecc57e3e4",
- "delivery_guid": "92267169-181e-41f2-ae68-25a6ccfab927",
- "name": "Nicolette Zemlak",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107264",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619258",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353674",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353675",
- "type": "panels"
}
}
}
}
], - "links": {
- "prev": null,
- "next": null,
}
}
{- "data": [
- {
- "id": "561908661",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "doorman",
- "call_guid": "d9a4b16a-7a04-4cdb-852a-fd831b171296",
- "delivery_guid": "0e1023fc-a8d7-4958-9f83-b93dd82e90bc",
- "name": "David Price Jr.",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908660",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "doorman",
- "call_guid": "c1cdbcfc-6f6a-466d-8b1e-0022d013da25",
- "delivery_guid": "209debe7-2e5c-47b5-a3bc-58c6ae8a00b1",
- "name": "Leopoldo Reichert",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908659",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "91bb1aa9-64fb-4974-b8f6-e08a20756633",
- "delivery_guid": "11bf50c7-d348-4375-a629-a937b2b94768",
- "name": "Burma Connelly",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908658",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "d1f70d0b-68ea-4aec-b728-39748b3aee89",
- "delivery_guid": "68e50122-e401-4904-8324-cca59688826f",
- "name": "Malik Welch",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908657",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "delivery",
- "panel_user_type": "default",
- "call_guid": "3df9d127-a81b-4979-8389-a545f115529c",
- "delivery_guid": "3425ee87-b030-486d-997f-9cffc9f54f19",
- "name": "The Hon. Nubia Kuvalis",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908656",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "delivery",
- "panel_user_type": "default",
- "call_guid": "bb8eb055-bc5e-49cf-a66e-2aa2ebe7262a",
- "delivery_guid": "e02e4b95-25a0-461d-83d7-1eeb1cb29c08",
- "name": "Diane Stanton",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908655",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "a4a247e0-2366-4e0a-99ac-aab6a0b9d4eb",
- "delivery_guid": "7f2f3efc-2573-4221-bf79-c0fa04ee663f",
- "name": "Woodrow D'Amore",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908654",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "661d8013-59ed-49b9-8315-55aac8bf59fb",
- "delivery_guid": "4a91a4a7-a8b7-4df9-85a5-235aaaa92bad",
- "name": "Vernetta Mertz",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908653",
- "type": "door_releases",
- "attributes": {
- "release_method": "qr_key",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "102027f5-2dd3-40d0-a68c-804cecdf612e",
- "delivery_guid": "a3177f24-6644-4714-8471-a79e1afa08b2",
- "name": "Dr. Pansy Wisozk",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908652",
- "type": "door_releases",
- "attributes": {
- "release_method": "qr_key",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "bf9fc53b-1928-4381-9af4-3685f0d79159",
- "delivery_guid": "5b1893d4-990b-45c0-9a87-e67a507b8585",
- "name": "Roscoe Satterfield",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908651",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "286ed7aa-86e3-48b7-ae48-df7437134cf3",
- "delivery_guid": "4f2233fc-d3db-4464-979f-9f2507f02d6c",
- "name": "Wade Crona MD",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908650",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "ec642b3c-b313-4a70-a99c-e0a246d32acd",
- "delivery_guid": "0d3ed22e-3e9e-4fe3-a023-0488cb72c579",
- "name": "Bill Schuster Ret.",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908649",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "504d0576-80f1-4ce6-8178-f658407d1cea",
- "delivery_guid": "589a7906-b6bc-42b9-b905-ba6dfc68a449",
- "name": "Cinthia Pfeffer",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": null
}, - "device": {
- "data": {
- "id": "495575883",
- "type": "keypads"
}
}
}
}, - {
- "id": "561908648",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "697ddb65-b868-4812-989f-9af5de7ed967",
- "delivery_guid": "2bf772eb-2360-46a6-9921-fda83cb4b3ce",
- "name": "Stanley Hudson",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": null
}, - "device": {
- "data": {
- "id": "495575883",
- "type": "keypads"
}
}
}
}
], - "links": {
- "prev": null,
- "next": null,
}
}
message_type -> enum
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": [
- {
- "id": "561908632",
- "type": "messages",
- "attributes": {
- "message": null,
- "message_type": "voice"
}
}, - {
- "id": "561908631",
- "type": "messages",
- "attributes": {
- "message": null,
- "message_type": "voice"
}
}, - {
- "id": "561908630",
- "type": "messages",
- "attributes": {
- "message": null,
- "message_type": "voice"
}
}
], - "links": {
- "prev": null,
- "next": null,
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "attributes": { },
- "type": "open_door",
- "relationships": {
- "panel": {
- "data": {
- "type": "panel",
- "id": 708353678
}
}, - "unit": {
- "data": {
- "type": "unit",
- "id": 843107270
}
}
}
}
}
{- "data": {
- "id": "1",
- "type": "door_release_requests",
- "attributes": {
- "guid": "40ff10f5-e42a-4a87-91ce-6ba12c3e8881",
- "created_at": "2023-06-05T10:40:17Z"
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "notifications",
- "id": "708353706",
- "attributes": {
- "panel_id": 708353706,
- "call_guid": "5ee06756-c151-4896-94d7-1571849f7f0e"
}
}
}
call_guid | string Example: twiliotest |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "attributes": {
- "device_uuid": "test-123-test"
}, - "type": "token",
- "relationships": null
}
}
{- "tokens": {
- "twilio": "token-12345679-token"
}
}
Resources that can be included:
Nested resources that can be included:
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "id": "990619266",
- "type": "users",
- "attributes": {
- "name": "Sabine Kohler",
- "first_name": "Sabine",
- "last_name": "Kohler",
- "contact_preference": "phone_call",
- "thumb_url": null,
- "medium_url": null,
- "sip_username": "40",
- "email": "bradly@heidenreich.io",
- "sms_phone_number": null,
- "phone_number": null
}, - "relationships": {
- "tenants": {
- "data": [
- {
- "id": "990619265",
- "type": "tenants"
}
]
}
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "tenants",
- "id": "990619268",
- "attributes": {
- "last_name": "Baker"
}
}
}
{- "data": {
- "id": "990619268",
- "type": "users",
- "attributes": {
- "name": "Markita Baker",
- "first_name": "Markita",
- "last_name": "Baker",
- "contact_preference": "phone_call",
- "thumb_url": null,
- "medium_url": null,
- "sip_username": "42",
- "email": "frederic@zemlak.co",
- "sms_phone_number": null,
- "phone_number": null
}, - "relationships": {
- "tenants": {
- "data": [
- {
- "id": "990619267",
- "type": "tenants"
}
]
}
}
}
}
Fetch a list of devices that the authorized user has access to.
Building id is included in relationships, and detailed building info can be requested with ?include=building
parameter
Note: symbol ✓ marks permission on all entries in the authorized scope (e.g. all buildings where the Building Admin is authorized for administration* etc.)
List / Show | Change | Create | Delete | |
---|---|---|---|---|
Tenant | ✓ | - | - | - |
Unit Admin | ✓ | - | - | - |
Zone Admin | ✓ | - | - | - |
Building Admin | ✓ | - | - | - |
Request Samples with Filter:
GET /v3/door_releases?unit_id=11
GET /v3/door_releases?user_id=22
GET /v3/door_releases?unit_id=11&user_id=22
GET /v3/door_releases?door_release_type=delivery
Request Samples with Sort:
GET /v3/door_releases?sort=created
GET /v3/door_releases?sort=-created,name
The sort order for each attribute is ascending unless it is prefixed with a minus (U+002D HYPHEN-MINUS, “-“), in which case it is descending.
Allowed values for:
release_method
:mobile
panel
qr_key
nfc
voip
door_release_type
:visitor
delivery
panel_user_type
:default
doorman
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": [
- {
- "id": "561908635",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "call_guid": "047d783f-446a-4ded-b1e7-26a4d7b11eb7",
- "delivery_guid": "0e419755-9003-497f-bdab-8039e4ea128e",
- "name": "Alethea Jacobson",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107264",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619258",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353674",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353677",
- "type": "panels"
}
}
}
}, - {
- "id": "561908634",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "call_guid": "7fc0d474-a9b6-4e1a-9175-e45ccb5a3102",
- "delivery_guid": "16300a4d-3c4f-46c0-a6f6-ff13fc8edd3e",
- "name": "Vincent Roberts I",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107264",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619258",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353674",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353676",
- "type": "panels"
}
}
}
}, - {
- "id": "561908633",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "call_guid": "6118b9f9-c9d0-452a-870e-013ecc57e3e4",
- "delivery_guid": "92267169-181e-41f2-ae68-25a6ccfab927",
- "name": "Nicolette Zemlak",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107264",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619258",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353674",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353675",
- "type": "panels"
}
}
}
}
], - "links": {
- "prev": null,
- "next": null,
}
}
{- "data": [
- {
- "id": "561908661",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "doorman",
- "call_guid": "d9a4b16a-7a04-4cdb-852a-fd831b171296",
- "delivery_guid": "0e1023fc-a8d7-4958-9f83-b93dd82e90bc",
- "name": "David Price Jr.",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908660",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "doorman",
- "call_guid": "c1cdbcfc-6f6a-466d-8b1e-0022d013da25",
- "delivery_guid": "209debe7-2e5c-47b5-a3bc-58c6ae8a00b1",
- "name": "Leopoldo Reichert",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908659",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "91bb1aa9-64fb-4974-b8f6-e08a20756633",
- "delivery_guid": "11bf50c7-d348-4375-a629-a937b2b94768",
- "name": "Burma Connelly",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908658",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "d1f70d0b-68ea-4aec-b728-39748b3aee89",
- "delivery_guid": "68e50122-e401-4904-8324-cca59688826f",
- "name": "Malik Welch",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908657",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "delivery",
- "panel_user_type": "default",
- "call_guid": "3df9d127-a81b-4979-8389-a545f115529c",
- "delivery_guid": "3425ee87-b030-486d-997f-9cffc9f54f19",
- "name": "The Hon. Nubia Kuvalis",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908656",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "delivery",
- "panel_user_type": "default",
- "call_guid": "bb8eb055-bc5e-49cf-a66e-2aa2ebe7262a",
- "delivery_guid": "e02e4b95-25a0-461d-83d7-1eeb1cb29c08",
- "name": "Diane Stanton",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908655",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "a4a247e0-2366-4e0a-99ac-aab6a0b9d4eb",
- "delivery_guid": "7f2f3efc-2573-4221-bf79-c0fa04ee663f",
- "name": "Woodrow D'Amore",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908654",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "661d8013-59ed-49b9-8315-55aac8bf59fb",
- "delivery_guid": "4a91a4a7-a8b7-4df9-85a5-235aaaa92bad",
- "name": "Vernetta Mertz",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908653",
- "type": "door_releases",
- "attributes": {
- "release_method": "qr_key",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "102027f5-2dd3-40d0-a68c-804cecdf612e",
- "delivery_guid": "a3177f24-6644-4714-8471-a79e1afa08b2",
- "name": "Dr. Pansy Wisozk",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908652",
- "type": "door_releases",
- "attributes": {
- "release_method": "qr_key",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "bf9fc53b-1928-4381-9af4-3685f0d79159",
- "delivery_guid": "5b1893d4-990b-45c0-9a87-e67a507b8585",
- "name": "Roscoe Satterfield",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908651",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "286ed7aa-86e3-48b7-ae48-df7437134cf3",
- "delivery_guid": "4f2233fc-d3db-4464-979f-9f2507f02d6c",
- "name": "Wade Crona MD",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908650",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "ec642b3c-b313-4a70-a99c-e0a246d32acd",
- "delivery_guid": "0d3ed22e-3e9e-4fe3-a023-0488cb72c579",
- "name": "Bill Schuster Ret.",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}, - "device": {
- "data": {
- "id": "708353702",
- "type": "panels"
}
}
}
}, - {
- "id": "561908649",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "504d0576-80f1-4ce6-8178-f658407d1cea",
- "delivery_guid": "589a7906-b6bc-42b9-b905-ba6dfc68a449",
- "name": "Cinthia Pfeffer",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": null
}, - "device": {
- "data": {
- "id": "495575883",
- "type": "keypads"
}
}
}
}, - {
- "id": "561908648",
- "type": "door_releases",
- "attributes": {
- "release_method": "mobile",
- "door_release_type": "visitor",
- "panel_user_type": "default",
- "call_guid": "697ddb65-b868-4812-989f-9af5de7ed967",
- "delivery_guid": "2bf772eb-2360-46a6-9921-fda83cb4b3ce",
- "name": "Stanley Hudson",
- "created_at": "2023-06-05T10:39:13Z",
- "logged_at": "2023-06-05T10:39:13Z",
- "thumb_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png",
- "medium_url": "/assets/no_image-4187237b66b32e02f79520631e52ef0c3383f321a26b16dd629eb8ae5ea21ca6.png"
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107316",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619282",
- "type": "users"
}
}, - "panel": {
- "data": null
}, - "device": {
- "data": {
- "id": "495575883",
- "type": "keypads"
}
}
}
}
], - "links": {
- "prev": null,
- "next": null,
}
}
We use two concepts when creating a virtual key:
Keychain contains information about the kind of key, what its duration is etc. A keychain can have many virtual keys, so a single keychain can be used to create virtual keys for multiple people. Information from the keychain is used by the panels to verify if the virtual key is still valid. Keychains must be associated with a unit.
Parameters that are always required for all keychains:
name -> string
tenant -> relationship
or unit -> relationship
If you wish to have the keychain associated with tenant send the tenant relationship, otherwise send the unit as relationship. The second case is useful if you have large tenant turnover in a unit (e.g short term tourist renals). If you wish to allow your tenants to create and share keys by themselves, tenant association is required.
Custom keychains have a start and end date when they are valid e.g. a virtual key for a custom keychain will be valid from 01/01/2019 11:50 to 03/03/2019 13:45. Always use the iso8601 format when sending datetime data.
Parameters that are required for custom keychains:
starts_at -> datetime (iso8601)
ends_at -> datetime (iso8601)
Recurring keychains are valid only on certain weekdays and inside certain time periods e.g. a virtual key for a recurring keychain will be valid only on wednesdays and thursdays between 12:30 and 16:30. Recurring keychains also use the start and end dates to determine when they will completely expired, so if a recurring keychain has an end date on 03/03/2019 the above virtual key will no longer be valid on wendesdays and thursdays. Always use the iso8601 format when sending datetime data, for time data use the hh:mm format (06:21, 11:53, 22:51).
Parameters that are required for custom keychains:
weekdays -> array(enum)
start_date -> date (iso8601)
end_date -> date (iso8601)
time_to -> time (hh:mm)
time_from -> time (hh:mm)
Enumerations:
Virtual keys that belong to one time keychains can be used only once inside a predefined period of tim, which is determined by starts_at and ends_at fields. After they are used or if they're not inside a predefined period of time they are no longer valid e.g. if a keychain's validity period is from 01/01/2019 11:50 to 03/03/2019 13:45, it will not be valid if it's used inside that period or when the time of 03/03/2019 13:45 has passed.
To determine if a particular virtual key for the one time keychain, or delivery pass has been used, check the used_at
, one_time_key_used_at
field on the virtual key.
Parameters that are required for one time keychains:
starts_at -> datetime (iso8601)
ends_at -> datetime (iso8601)
Virtual key is used by a single person to open a door, it contains either an e-mail or an sms number of the person who will use it, a url to the qr code of the key which can be scanned to gain access to the building and a name which is used when the key is sent to the user.
Virtual keys are created from an array of recipients (e-mail or a mobile phone number) that is added to keychain parameters or on a separate endpoint.
Parameters that are required to create virtual keys:
recipients -> array(string)
unit -> integer
tenant -> integer
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "keychains",
- "attributes": {
- "name": "Custom Key",
- "starts_at": "2023-06-05T10:40:28+00:00",
- "ends_at": "2023-06-07T10:40:23+00:00",
- "recipients": [
- "test@example.com",
- "+12345678901"
]
}, - "relationships": {
- "tenant": {
- "data": {
- "type": "tenant",
- "id": 990619275
}
}, - "devices": {
- "data": [ ]
}, - "access_points": {
- "data": [
- {
- "type": "access_point",
- "id": 842395210
}
]
}
}
}
}
{- "data": {
- "id": "254331418",
- "type": "keychains",
- "attributes": {
- "name": "Custom Key",
- "weekdays": [ ],
- "starts_at": "2023-06-05T10:40:28Z",
- "ends_at": "2023-06-07T10:40:23Z",
- "time_from": "10:40",
- "time_to": "10:40",
- "kind": "custom",
- "start_date": "2023-06-05",
- "end_date": "2023-06-07",
- "allow_unit_access": false
}, - "relationships": {
- "virtual_keys": {
- "data": [
- {
- "id": "1035872600",
- "type": "virtual_keys"
}, - {
- "id": "1035872601",
- "type": "virtual_keys"
}
]
}, - "devices": {
- "data": [
- {
- "id": "708353700",
- "type": "panels"
}
]
}
}
}, - "included": [
- {
- "id": "1035872600",
- "type": "virtual_keys",
- "attributes": {
- "name": "Custom Key",
- "email": "test@example.com",
- "sms_number": null,
- "used_at": null,
- "one_time_key_used_at": null,
- "pin": "342162",
- "instructions_url": "http://user.butterflymx.test/public/virtual_keys/1035872600/15ee1d36db0dec6274e3545d315c08ac",
- "sent_at": null,
- "synced_with_remote_lock": false
}, - "relationships": {
- "door_releases": {
- "data": [ ]
}
}
}, - {
- "id": "1035872601",
- "type": "virtual_keys",
- "attributes": {
- "name": "Custom Key",
- "email": null,
- "sms_number": "+12345678901",
- "used_at": null,
- "one_time_key_used_at": null,
- "pin": "252172",
- "instructions_url": "http://user.butterflymx.test/public/virtual_keys/1035872601/6c3572381bc15a3bad4209829ff5c86c",
- "sent_at": null,
- "synced_with_remote_lock": false
}, - "relationships": {
- "door_releases": {
- "data": [ ]
}
}
}, - {
- "id": "708353700",
- "type": "panels",
- "attributes": {
- "name": "Gurney Halleck 49",
- "nfc": {
- "uuid": "a1db22bb-46cf-41ff-9b70-eaa3a9f18dda"
}
}, - "relationships": {
- "building": {
- "data": {
- "id": "577696337",
- "type": "buildings"
}
}
}
}
]
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": [
- {
- "id": "254331424",
- "type": "keychains",
- "attributes": {
- "name": "Principal Education Consultant 19",
- "weekdays": [ ],
- "starts_at": "2023-06-05T10:40:26Z",
- "ends_at": "2023-06-05T11:40:26Z",
- "time_from": "10:40",
- "time_to": "11:40",
- "kind": "custom",
- "start_date": "2023-06-05",
- "end_date": "2023-06-05",
- "allow_unit_access": false
}, - "relationships": {
- "virtual_keys": {
- "data": [ ]
}, - "devices": {
- "data": [ ]
}
}
}, - {
- "id": "254331423",
- "type": "keychains",
- "attributes": {
- "name": "Regional Construction Designer 18",
- "weekdays": [ ],
- "starts_at": "2023-06-05T10:40:26Z",
- "ends_at": "2023-06-05T11:40:26Z",
- "time_from": "10:40",
- "time_to": "11:40",
- "kind": "custom",
- "start_date": "2023-06-05",
- "end_date": "2023-06-05",
- "allow_unit_access": false
}, - "relationships": {
- "virtual_keys": {
- "data": [ ]
}, - "devices": {
- "data": [ ]
}
}
}, - {
- "id": "254331422",
- "type": "keychains",
- "attributes": {
- "name": "District Retail Administrator 17",
- "weekdays": [ ],
- "starts_at": "2023-06-05T10:40:26Z",
- "ends_at": "2023-06-05T11:40:26Z",
- "time_from": "10:40",
- "time_to": "11:40",
- "kind": "custom",
- "start_date": "2023-06-05",
- "end_date": "2023-06-05",
- "allow_unit_access": false
}, - "relationships": {
- "virtual_keys": {
- "data": [
- {
- "id": "1035872604",
- "type": "virtual_keys"
}
]
}, - "devices": {
- "data": [ ]
}
}
}
], - "links": {
- "prev": null,
- "next": null,
}
}
id | number Example: 254331428 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "id": "254331428",
- "type": "keychains",
- "attributes": {
- "name": "Real-Estate Representative 23",
- "weekdays": [ ],
- "starts_at": "2023-06-05T10:40:27Z",
- "ends_at": "2023-06-05T11:40:27Z",
- "time_from": "10:40",
- "time_to": "11:40",
- "kind": "custom",
- "start_date": "2023-06-05",
- "end_date": "2023-06-05",
- "allow_unit_access": false
}, - "relationships": {
- "virtual_keys": {
- "data": [
- {
- "id": "1035872606",
- "type": "virtual_keys"
}
]
}, - "devices": {
- "data": [ ]
}
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "keychains",
- "attributes": {
- "name": "One-Time Key",
- "starts_at": "2023-06-05T10:40:33+00:00",
- "ends_at": "2023-06-07T10:40:28+00:00",
- "recipients": [
- "test@example.com",
- "+12345678901"
]
}, - "relationships": {
- "tenant": {
- "data": {
- "id": "990619296",
- "type": "tenant"
}
}, - "access_points": {
- "data": [
- {
- "type": "access_point",
- "id": 842395211
}
]
}
}
}
}
{- "data": {
- "id": "254331431",
- "type": "keychains",
- "attributes": {
- "name": "One-Time Key",
- "weekdays": [ ],
- "starts_at": "2023-06-05T10:40:33Z",
- "ends_at": "2023-06-07T10:40:28Z",
- "time_from": "10:40",
- "time_to": "10:40",
- "kind": "one_time",
- "start_date": "2023-06-05",
- "end_date": "2023-06-07",
- "allow_unit_access": false
}, - "relationships": {
- "virtual_keys": {
- "data": [
- {
- "id": "1035872610",
- "type": "virtual_keys"
}, - {
- "id": "1035872611",
- "type": "virtual_keys"
}
]
}, - "devices": {
- "data": [ ]
}
}
}, - "included": [
- {
- "id": "1035872610",
- "type": "virtual_keys",
- "attributes": {
- "name": "One-Time Key",
- "email": "test@example.com",
- "sms_number": null,
- "used_at": null,
- "one_time_key_used_at": null,
- "pin": "341358",
- "instructions_url": "http://user.butterflymx.test/public/virtual_keys/1035872610/570de6745717c0f406e88d332242af2d",
- "sent_at": null,
- "synced_with_remote_lock": false
}, - "relationships": {
- "door_releases": {
- "data": [ ]
}
}
}, - {
- "id": "1035872611",
- "type": "virtual_keys",
- "attributes": {
- "name": "One-Time Key",
- "email": null,
- "sms_number": "+12345678901",
- "used_at": null,
- "one_time_key_used_at": null,
- "pin": "171273",
- "instructions_url": "http://user.butterflymx.test/public/virtual_keys/1035872611/10e8d1b4640e5b717d9416b1c3ff7fcc",
- "sent_at": null,
- "synced_with_remote_lock": false
}, - "relationships": {
- "door_releases": {
- "data": [ ]
}
}
}
]
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "attributes": {
- "name": "Recurring Key",
- "start_date": "2023-06-05",
- "end_date": "2023-06-07",
- "time_from": "11:20",
- "time_to": "11:50",
- "weekdays": [
- "wed",
- "sat"
], - "recipients": [
- "test@example.com",
- "+12345678901"
], - "creator": {
- "id": 990619335,
- "account_id": 109,
- "first_name": "Mikaela",
- "last_name": "Cummerata",
- "created_at": "2023-06-05T10:40:31Z",
- "updated_at": "2023-06-05T10:40:31Z",
- "email_cache": "brian@stokes.co",
- "qr_key_enabled": true,
- "contact_preference": "phone_call",
- "confirmed_at_cache": null,
- "deleted_at": null,
- "devices_count": 0,
- "status": "registered",
- "panel_status_report": false,
- "invited_at": null,
- "language": "en",
- "download_app_page_shown": true,
- "privacy_consent_given": true,
- "anonymized": false
}
}, - "type": "keychains",
- "relationships": {
- "tenant": {
- "data": {
- "type": "tenant",
- "id": 990619307
}
}
}
}
}
{- "data": {
- "id": "254331437",
- "type": "keychains",
- "attributes": {
- "name": "Recurring Key",
- "weekdays": [
- "wed",
- "sat"
], - "starts_at": "2023-06-05T11:20:00Z",
- "ends_at": "2023-06-07T11:50:00Z",
- "time_from": "11:20",
- "time_to": "11:50",
- "kind": "recurring",
- "start_date": "2023-06-05",
- "end_date": "2023-06-07",
- "allow_unit_access": false
}, - "relationships": {
- "virtual_keys": {
- "data": [
- {
- "id": "1035872616",
- "type": "virtual_keys"
}, - {
- "id": "1035872617",
- "type": "virtual_keys"
}
]
}, - "devices": {
- "data": [ ]
}
}
}, - "included": [
- {
- "id": "1035872616",
- "type": "virtual_keys",
- "attributes": {
- "name": "Recurring Key",
- "email": "test@example.com",
- "sms_number": null,
- "used_at": null,
- "one_time_key_used_at": null,
- "pin": "496037",
- "instructions_url": "http://user.butterflymx.test/public/virtual_keys/1035872616/bda057bd28d37a6c8484004c871c2a87",
- "sent_at": null,
- "synced_with_remote_lock": false
}, - "relationships": {
- "door_releases": {
- "data": [ ]
}
}
}, - {
- "id": "1035872617",
- "type": "virtual_keys",
- "attributes": {
- "name": "Recurring Key",
- "email": null,
- "sms_number": "+12345678901",
- "used_at": null,
- "one_time_key_used_at": null,
- "pin": "795358",
- "instructions_url": "http://user.butterflymx.test/public/virtual_keys/1035872617/26c55922640045af084fec9c9c2d25ce",
- "sent_at": null,
- "synced_with_remote_lock": false
}, - "relationships": {
- "door_releases": {
- "data": [ ]
}
}
}
]
}
keychain_id | number Example: 254331432 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "attributes": {
- "name": "Virtual Key",
- "email": "test@example.com"
}, - "type": "virtual_keys",
- "relationships": null
}
}
{- "data": {
- "id": "1035872612",
- "type": "virtual_keys",
- "attributes": {
- "name": "Virtual Key",
- "email": "test@example.com",
- "sms_number": null,
- "used_at": null,
- "one_time_key_used_at": null,
- "pin": "217167",
- "instructions_url": "http://user.butterflymx.test/public/virtual_keys/1035872612/9e4629b9abd559070360a48bc46323f4",
- "sent_at": null,
- "synced_with_remote_lock": false
}, - "relationships": {
- "door_releases": {
- "data": [ ]
}
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "notifications",
- "id": "708353703",
- "attributes": {
- "panel_id": 708353703,
- "video": true,
- "audio": false,
- "call_guid": "6d43d8c4-9b12-450e-aeae-89ec23249dc4"
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "notifications",
- "id": "708353704",
- "attributes": {
- "panel_id": 708353704,
- "call_guid": "3de8bbaa-dbd4-4f9b-8f3e-be5dbedf67c7"
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "notifications",
- "id": "708353705",
- "attributes": {
- "panel_id": 708353705,
- "call_guid": "4dee5b9d-c448-4a96-853d-9cd3a5e4c07a"
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "attributes": { },
- "type": "open_door",
- "relationships": {
- "panel": {
- "data": {
- "type": "panel",
- "id": 708353678
}
}, - "unit": {
- "data": {
- "type": "unit",
- "id": 843107270
}
}
}
}
}
{- "data": {
- "id": "1",
- "type": "door_release_requests",
- "attributes": {
- "guid": "40ff10f5-e42a-4a87-91ce-6ba12c3e8881",
- "created_at": "2023-06-05T10:40:17Z"
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "notifications",
- "id": "708353706",
- "attributes": {
- "panel_id": 708353706,
- "call_guid": "5ee06756-c151-4896-94d7-1571849f7f0e"
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "notifications",
- "id": "708353707",
- "attributes": {
- "panel_id": 708353707,
- "video": true,
- "audio": false,
- "call_guid": "54c4cccc-0185-41f0-9ad2-2c411abed3c6"
}
}
}
On these endpoints you can create and view PINs for tenants. The id parameter in the request must be the id of the tenant.
Parameters that are required for pins:
id -> integer
code -> string (must be numeric)
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "pins",
- "id": "990619298",
- "attributes": { }
}
}
id | number Example: 990619299 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "id": "990619299",
- "type": "pins",
- "attributes": {
- "code": "5834",
- "unique_code": null
}
}
}
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": {
- "type": "pins",
- "id": "990619300",
- "attributes": {
- "code": "0854",
- "unique_code": "085436"
}
}
}
{- "errors": [
- {
- "source": {
- "pointer": "/data/attributes/code"
}, - "detail": "can't be blank"
}, - {
- "source": {
- "pointer": "/data/attributes/code"
}, - "detail": "is not a number"
}, - {
- "source": {
- "pointer": "/data/attributes/code"
}, - "detail": "is the wrong length (should be 4 characters)"
}
]
}
Allowed integrators:
webhook
Allowed config
attributes for integrators:
get
or post
)Allowed binding resource types:
call
door_release
building_id | number Example: 1337 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": [
- {
- "id": "79c9dc15-1bef-4ecc-956e-824be46901ce",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": {
- "id": "1337",
- "type": "buildings"
}
}, - "tenant": {
- "data": null
}
},
}
], - "links": {
- "prev": null,
- "next": null,
}
}
building_id | number Example: 1337 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "actions": [
- "create"
], - "resource_type": "call",
- "resource_id": null
}
]
}
}
}
{- "data": {
- "id": "79c9dc15-1bef-4ecc-956e-824be46901ce",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "call",
- "resource_id": null,
- "actions": [
- "create"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "call",
- "resource_id": null,
- "actions": [
- "create"
]
}
]
}, - "building": {
- "data": {
- "id": "1337",
- "type": "buildings"
}
}, - "tenant": {
- "data": null
}
},
}
}
building_id | number Example: 1337 |
id | string Example: 79c9dc15-1bef-4ecc-956e-824be46901ce |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "id": "79c9dc15-1bef-4ecc-956e-824be46901ce",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": {
- "id": "1337",
- "type": "buildings"
}
}, - "tenant": {
- "data": null
}
},
}
}
building_id | number Example: 1337 |
id | string Example: 79c9dc15-1bef-4ecc-956e-824be46901ce |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "actions": [
- "update",
- "destroy"
], - "resource_type": "door_release",
- "resource_id": "7"
}
]
}
}
}
{- "data": {
- "id": "79c9dc15-1bef-4ecc-956e-824be46901ce",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": {
- "id": "1337",
- "type": "buildings"
}
}, - "tenant": {
- "data": null
}
},
}
}
tenant_id | number Example: 2262 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": [
- {
- "id": "bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": null
}, - "tenant": {
- "data": {
- "id": "2262",
- "type": "units_users"
}
}
},
}
], - "links": {
- "prev": null,
- "next": null,
}
}
tenant_id | number Example: 2262 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "actions": [
- "create"
], - "resource_type": "call",
- "resource_id": null
}
]
}
}
}
{- "data": {
- "id": "bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "call",
- "resource_id": null,
- "actions": [
- "create"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "call",
- "resource_id": null,
- "actions": [
- "create"
]
}
]
}, - "building": {
- "data": null
}, - "tenant": {
- "data": {
- "id": "2262",
- "type": "units_users"
}
}
},
}
}
tenant_id | number Example: 2262 |
id | string Example: bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "id": "bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": null
}, - "tenant": {
- "data": {
- "id": "2262",
- "type": "units_users"
}
}
},
}
}
tenant_id | number Example: 2262 |
id | string Example: bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70 |
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/json |
{- "data": {
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "actions": [
- "update",
- "destroy"
], - "resource_type": "door_release",
- "resource_id": "7"
}
]
}
}
}
{- "data": {
- "id": "bb7b0ec9-8b2f-46c4-a1c7-4bf439ca4c70",
- "type": "integrations",
- "attributes": {
- "integrator": "webhook",
- "bindings": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "relationships": {
- "bindings": {
- "data": [
- {
- "resource_type": "door_release",
- "resource_id": "7",
- "actions": [
- "update",
- "destroy"
]
}
]
}, - "building": {
- "data": null
}, - "tenant": {
- "data": {
- "id": "2262",
- "type": "units_users"
}
}
},
}
}
A user is assigned as a unit's tenant by creating a tenancy. This can be achieved with API call: POST /v3/tenants
And sending following required attributes:
email
(String) - must be a valid email addressfirst_name
(String)last_name
(String)unit_id
(Integer)Optional Attributes:
active_at
(DateTime) - in ISO 8601
format e.g. 2017-12-27T11:03:50Z
inactive_at
(DateTime)pin
(String)directory_message
(String)display_name_strategy
(String), one of the allowed values:building
custom
first_name_and_last_name
first_name_initial_and_last_name
anonymous
first_name_and_last_name_initial
sms_notifications
(Boolean)email_notifications
(Boolean)preferences
(Object)calls
(Object)push
(Boolean)email
(Boolean)sms
(Boolean)door_opens
(Object)push
(Boolean)email
(Boolean)sms
(Boolean)messages
(Object)push
(Boolean)email
(Boolean)sms
(Boolean)do_not_disturb
(Boolean)skip_registration_email
(Boolean)When a valid email is submitted, then:
first_name
and last_name
will be ignored)On success, server will respond with a 201 Created
status code and a JSON API document.
Sortable fields:
created_at
Filterable fields:
display_name_strategy
display_only_on_search
pin_enabled
email_notifications
sms_notifications
do_not_disturb
Enumerations:
display_name_strategy
:building
custom
first_name_and_last_name
first_name_initial_and_last_name
anonymous
first_name_and_last_name_initial
Accept | any Example: application/vnd.api+json |
Content-Type | any Example: application/vnd.api+json |
{- "data": [
- {
- "id": "990619313",
- "type": "tenants",
- "attributes": {
- "active_at": "2023-06-05T10:40:33Z",
- "inactive_at": null,
- "qr_key_enabled": true,
- "delivery_pass_instructions": null,
- "directory_message": "Legacy Construction Designer",
- "display_name": "Gayle Fahey",
- "display_name_strategy": "building",
- "display_first_name": "Gov. Evangelina DuBuque",
- "display_last_name": "Reuben Barrows Esq.",
- "display_only_on_search": false,
- "pin_enabled": true,
- "email_notifications": true,
- "sms_notifications": true,
- "do_not_disturb": false,
- "preferences": {
- "door_opens": {
- "push": false,
- "email": false,
- "sms": null
}, - "messages": {
- "push": true,
- "email": false,
- "sms": false
}
}
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107371",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619346",
- "type": "users"
}
}
}
}, - {
- "id": "990619312",
- "type": "tenants",
- "attributes": {
- "active_at": "2023-06-05T10:40:33Z",
- "inactive_at": null,
- "qr_key_enabled": true,
- "delivery_pass_instructions": null,
- "directory_message": "Investor Legal Designer",
- "display_name": "Tiny Sawayn CPA",
- "display_name_strategy": "building",
- "display_first_name": "Kathyrn Daniel",
- "display_last_name": "Lawerence Homenick",
- "display_only_on_search": false,
- "pin_enabled": true,
- "email_notifications": true,
- "sms_notifications": true,
- "do_not_disturb": false,
- "preferences": {
- "door_opens": {
- "push": false,
- "email": false,
- "sms": null
}, - "messages": {
- "push": true,
- "email": false,
- "sms": false
}
}
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107371",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619345",
- "type": "users"
}
}
}
}, - {
- "id": "990619311",
- "type": "tenants",
- "attributes": {
- "active_at": "2023-06-05T10:40:33Z",
- "inactive_at": null,
- "qr_key_enabled": true,
- "delivery_pass_instructions": null,
- "directory_message": "Legal Officer",
- "display_name": "Imelda Pfannerstill",
- "display_name_strategy": "building",
- "display_first_name": "Troy Emmerich",
- "display_last_name": "Bert Waters",
- "display_only_on_search": false,
- "pin_enabled": true,
- "email_notifications": true,
- "sms_notifications": true,
- "do_not_disturb": false,
- "preferences": {
- "door_opens": {
- "push": false,
- "email": false,
- "sms": null
}, - "messages": {
- "push": true,
- "email": false,
- "sms": false
}
}
}, - "relationships": {
- "unit": {
- "data": {
- "id": "843107371",
- "type": "units"
}
}, - "user": {
- "data": {
- "id": "990619344",
- "type": "users"
}
}
}
}
], - "included": [
- {
- "id": "990619346",
- "type": "users",
- "attributes": {
- "name": "Wilbur Torp",
- "first_name": "Wilbur",
- "last_name": "Torp",
- "contact_preference": "phone_call",
- "thumb_url": null,
- "medium_url": null,
- "sip_username": "120",
- "registration_status": "registered",
- "email": "kam@mohr-anderson.io",