smart-locks.delete
Delete a smart-lock assignment by id. Tenant-scoped: only locks owned by the current tenant can be deleted. Cascade-deletes any access_codes rows for that lock.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
ok | literal | yes | One of: true |
smart-locks.doors
List the tenant's configured doors (id, name, provider, enabled). Use a door's id with smart-locks.unlock.
Input parameters
Returns object.
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
doors | array of object | yes | |
doors.id | string | yes | |
doors.name | string | yes | |
doors.provider | string | yes | |
doors.lockName | string · nullable | yes | |
doors.enabled | boolean | yes | |
doors.position | number | yes |
smart-locks.list
List smart-lock assignments for this tenant. Returns per-room lock metadata (type, label, active). Credentials are NOT returned by this tool — use the operator settings UI to edit them.
Input parameters
Returns object.
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
locks | array of object | yes | |
locks.id | string | yes | |
locks.roomId | string | yes | |
locks.roomName | string · nullable | yes | |
locks.lockType | enum | yes | One of: nuki, ttlock, salto, dormakaba, mock |
locks.label | string | yes | |
locks.credentialsHint | string · nullable | yes | |
locks.active | boolean | yes |
smart-locks.unlock
Open one of the tenant's configured doors now (any provider — Nuki Web API, TTLock Cloud, Tedee API). Pass doorId (see smart-locks.doors) or omit it to open the default door. Audit-logged.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
doorId | string | no |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
ok | literal | yes | One of: true |
smartlockName | string · nullable | yes |
smart-locks.upsert
Create or update a smart-lock assignment for a room. Pass `id` to update an existing lock, or omit it to insert (unique per tenant+room — upsert on conflict).
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | no | |
roomId | string | yes | |
lockType | enum | yes | One of: nuki, ttlock, salto, dormakaba, mock |
label | string | yes | |
credentials | object | yes | |
active | boolean | no | Default: true |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes |