Hello,
we are integrating the official Nuki Web API for production reservation/access management and we are observing reproducible inconsistencies between:
- the Nuki Web API state,
- Nuki Web cloud state,
- and the actual physical Smart Lock / Keypad state.
Environment
- Nuki Smart Lock Gen3 + Keypad
- Nuki Web API (
https://api.nuki.io) - direct REST calls via backend and Postman
- no Bridge API involved
Smartlock example: Production Lock Go Gen 3
Main observed issues
1. Authorization create works relatively reliably
Creating keypad authorizations via API usually works correctly:
POST /smartlock/{smartlockId}/auth
The authorization appears in:
- Nuki Web
- API listing
- and usually also propagates to keypad correctly.
2. Authorization update is inconsistent
Updating existing authorizations via:
POST /smartlock/{smartlockId}/auth/{id}
is inconsistent.
Observed behaviors:
- sometimes works,
- sometimes cloud state differs from actual keypad state.
3. Partial update can silently remove time restrictions
Example:
Sending only:
{
"name": "TEST-0805",
"code": 432426
}
successfully renames the authorization BUT silently removes:
allowedFromDateallowedUntilDateallowedWeekDaysallowedFromTimeallowedUntilTime
This effectively breaks the reservation time window.
To safely rename an auth we had to send the FULL original timing payload again:
{
"name": "TEST-0805",
"code": 432426,
"allowedFromDate": "...",
"allowedUntilDate": "...",
"allowedWeekDays": 127,
"allowedFromTime": 0,
"allowedUntilTime": 0
}
4. SERIOUS ISSUE - Cloud/API state sometimes differs from physical keypad state
We repeatedly observed situations where:
- authorization exists in API,
- authorization exists in Nuki Web,
- lock is online and responsive,
- but keypad does not yet accept the PIN.
Sometimes:
- sync helps,
- sometimes updating/renaming existing auth helps force propagation,
- sometimes nothing changes for a while.
Important note
This issue is reproducible directly via isolated Postman requests against the official Nuki Web API, outside of our reservation system.
So this does not appear to be related to application/business logic.
Current workaround
We implemented:
- periodic authorization audit,
- automatic repair/recreate,
- delayed sync,
- and “gentle rename refresh” to force keypad propagation.
However update/delete reliability still appears problematic as well as renaming as update is not propagated and last days 2026/May/24th and further fails also when it is done via Nuki Web interface and even synchronization is not leading to aligning authorizations between keypad in Nuki App and Nuki Web.
Questions
- Is this a known synchronization issue between cloud and keypad?
- Are authorization updates eventually consistent internally?
- Is there an officially recommended way to force keypad propagation?
- Is partial update behavior (removing timing restrictions) intended?
Any clarification from the API team would be greatly appreciated.
Thank you.