Lock specification guide
The ranges, defaults and limits for KoreLock locks, and what each lock model supports. Use it to check a value before you send it, and to see which features to offer for a lock.
Setting changes are queued. The API saves them right away, but the lock applies them only when it next syncs. See how changes reach a lock.
Limits
Lengths, counts and time limits for credentials, schedules and SmartPINs.
| Item | Limit | Notes |
|---|---|---|
Credential holder PIN (pin) | 4–10 digits | Unique in the account. Can't be one digit repeated, such as 4444, or a run of counting digits, such as 5678 or 8765. |
Card number (card_number) | 4–20 digits | Unique in the account. |
UniKey card number (unikey_card_number) | 1–65535 | Unique in the account. |
| Programming code | 4–10 digits | Leading zeros allowed. |
| SmartPIN seed | 4–10 digits | 0000 uses the lock's serial number. |
| PINs and cards synced to one lock | Up to 3,640 | From the lock's firmware. |
| Week schedules on one lock | Up to 63 | From the lock's firmware. |
| Holiday schedules on one lock | Up to 63 | From the lock's firmware. |
| Week schedule intervals | Up to 40 per week | Across the whole week. |
| Action and auto-lock schedule entries | Up to 10 per day | Entries can be any mix of actions. |
| Holiday schedule dates | 5 multi-day ranges, plus up to 40 other days | Days in any further ranges count toward the 40. Ranges that have ended don't count. Over the limit returns 400 (too_many_dates). |
| Short-term SmartPIN | Up to 32 days | Starts and ends on any whole hour. |
| Long-term SmartPIN | 33 days to 1 year | Starts at 08:00 and ends at 20:00. |
| Local PINs | Up to 100, 4–10 digits | Added at the lock's keypad, not through the API. |
Lock settings
Every setting you can read and change with the settings endpoints. A setting marked with a capability works only on models that have it. Settings a model doesn't support are left out of its response. “Not set” means the value is null.
Locking
| Setting | Allowed values | Default | Supported on |
|---|---|---|---|
auto_lockWhen the lock locks itself after it unlocks. | enabled, disabled, schedule | enableddisabled on deadbolt models | All models |
auto_lock_timeoutSeconds after unlocking before the lock auto-locks. | 5–1800 seconds | 5 | All models |
auto_lock_schedule_idThe auto-lock schedule to follow when | Schedule ID or null | null | All models |
action_schedule_idAn action schedule that locks or unlocks the door at set times. | Schedule ID or null | null | All models |
online_auto_lockWhether the lock auto-locks after a remote unlock from the API, web app or mobile app. | true, false | Not set | All models |
manual_auto_lock_timeoutSeconds before the lock auto-locks after a manual opening, such as turning the knob. | 0 seconds or more | Not set (off) | manual_auto_lock |
Sound and alarm
| Setting | Allowed values | Default | Supported on |
|---|---|---|---|
muteTurns the lock's sounds off. | true, false | false | All models |
alarm_trigger_timeSeconds before the alarm sounds. | 10–120 seconds | 20 | alarm |
mute_alarmTurns the alarm off. | true, false | false | alarm |
Keypad
| Setting | Allowed values | Default | Supported on |
|---|---|---|---|
programming_codeGives admin access to the lock from the keypad. Can't start with a PIN that's already on the lock. | 4–10 digits; leading zeros allowed | 123456Change it | programming_code |
no_enter_codeLets users skip the | true, false | Not set | no_enter_code |
keypad_lockout_countFailed attempts before the keypad locks out. | Whole number | Not set (off) | keypad_lockout |
keypad_lockout_timeSeconds the keypad stays locked out. Needs | Seconds | Not set | keypad_lockout |
SmartPINs
| Setting | Allowed values | Default | Supported on |
|---|---|---|---|
smart_pin_enabledTurns SmartPINs on. | true, false | false | smart_pin_credential |
smart_pin_seedThe seed used to generate SmartPINs. Give several locks the same seed to let one SmartPIN open all of them. | 4–10 digits | 0000Uses the lock's serial number | smart_pin_credential |
Card readers
| Setting | Allowed values | Default | Supported on |
|---|---|---|---|
nfc_antenna_enabledTurns the NFC card reader on. | true, false | falsetrue on PDQ locks | nfc_reader |
prox_antenna_enabledTurns the proximity card reader on. | true, false | false | prox_reader |
card_byte_orderThe byte order used to read cards. | least_significant_byte, most_significant_byte | least_significant_byte | card_byte_order |
edge_controller_reader_typeThe type of reader attached to the edge controller. | unikey, card_only, card_and_pin | Not set | unikey_reader_attached |
nfc_on_keypressTurns the NFC reader on only after a key press. No current model has it. | false only | false | nfc_on_keypress |
UniKey
| Setting | Allowed values | Default | Supported on |
|---|---|---|---|
unikey_readerWhat triggers the UniKey reader. | disabled, trigger_button_press, trigger_proximity_sensor, trigger_all | disabled | unikey_credential |
unikey_read_range_modeHow far away the reader detects credentials. A response may show | close, intermediate, far | intermediate | unikey_credential |
Connectivity
| Setting | Allowed values | Default | Supported on |
|---|---|---|---|
heartbeat_intervalMinutes between heartbeat check-ins. | 5–120 minutes, or whole hours from 180 to 1440 (3 to 24 hours) | 60 | All models |
wake_wifiWhen the lock connects to Wi-Fi to sync. | user_action, heartbeat_interval, user_action_except_manual | user_action | All models |
wifi_enabledTurns the lock's Wi-Fi on or off. | true, false | true | All models |
always_onKeeps the lock's connection to the cloud open all the time. | true, false | false | always_on |
Replaced settings
These older settings still appear in responses, but they're deprecated. Use the newer settings instead.
| Deprecated | Allowed values | Use instead |
|---|---|---|
nfc | off, always_on, on_keypress | nfc_antenna_enabled and nfc_on_keypress |
reader_frequency_mode | both_off, nfc_only, prox_only, both_on | nfc_antenna_enabled and prox_antenna_enabled |
unikey_read_range | −80 to −30 (signal strength) | unikey_read_range_mode |
Model capabilities
Each lock model has a set of capabilities: true or false flags for what its hardware can do. A lock's model_code matches the name of its model. The tables below show all 44 models. For the live list, call List models and capabilities.
A few flags are the same on every current model, so the tables leave them out:
wake_wifi_except_manualistrueon every model.entry_app_credentialandnfc_on_keypressarefalseon every model.mobile_credentialandprox_nfc_readerare deprecated. Useentry_app_credentialandprox_reader.
- K52 keypad locks 3 models
- K72 keypad locks 2 models
- KLM locks 2 models
- PDQ access control locks 28 models
- WST locks 3 models
- Other models 6 models
K52 keypad locks
Keypad locks. The 3505 models are deadbolts. The K submodels don't take UniKey.
| Capability | K52-3505 | K52-3505K | K52-3510 |
|---|---|---|---|
| Credentials | |||
| PINpin_credential | ✓ | ✓ | ✓ |
| Cardsmart_card_credential | – | – | – |
| SmartPINsmart_pin_credential | ✓ | ✓ | ✓ |
| UniKeyunikey_credential | ✓ | – | ✓ |
| Readers | |||
| NFC readernfc_reader | – | – | – |
| Proximity readerprox_reader | – | – | – |
| Attached UniKey readerunikey_reader_attached | – | – | – |
| Settings | |||
| Programming codeprogramming_code | ✓ | ✓ | ✓ |
| Skip the # keyno_enter_code | ✓ | ✓ | ✓ |
| Keypad lockoutkeypad_lockout | ✓ | ✓ | ✓ |
| Auto-lock after manual openingmanual_auto_lock | ✓ | ✓ | ✓ |
| Alarmalarm | – | – | – |
| Always connectedalways_on | – | – | – |
| Card byte ordercard_byte_order | – | – | – |
| Hardware | |||
| Deadbolt calibrationdeadbolt_calibration | ✓ | ✓ | – |
K52-3505: register withsub_model: "3505"K52-3505K: register withsub_model: "3505K"K52-3510: register withsub_model: "3510"
K72 keypad locks
Keypad locks. The 5200K doesn't take UniKey.
| Capability | K72-5200 | K72-5200K |
|---|---|---|
| Credentials | ||
| PINpin_credential | ✓ | ✓ |
| Cardsmart_card_credential | – | – |
| SmartPINsmart_pin_credential | ✓ | ✓ |
| UniKeyunikey_credential | ✓ | – |
| Readers | ||
| NFC readernfc_reader | – | – |
| Proximity readerprox_reader | – | – |
| Attached UniKey readerunikey_reader_attached | – | – |
| Settings | ||
| Programming codeprogramming_code | ✓ | ✓ |
| Skip the # keyno_enter_code | ✓ | ✓ |
| Keypad lockoutkeypad_lockout | ✓ | ✓ |
| Auto-lock after manual openingmanual_auto_lock | – | – |
| Alarmalarm | – | – |
| Always connectedalways_on | – | – |
| Card byte ordercard_byte_order | – | – |
| Hardware | ||
| Deadbolt calibrationdeadbolt_calibration | – | – |
K72-5200: register withsub_model: "5200"K72-5200K: register withsub_model: "5200K"
KLM locks
Keypad and NFC card locks. The WU1DR works with an attached reader and can stay connected all the time. It doesn't take SmartPINs.
| Capability | KLM-8500 | KLM-WU1DR |
|---|---|---|
| Credentials | ||
| PINpin_credential | ✓ | ✓ |
| Cardsmart_card_credential | ✓ | ✓ |
| SmartPINsmart_pin_credential | ✓ | – |
| UniKeyunikey_credential | ✓ | ✓ |
| Readers | ||
| NFC readernfc_reader | ✓ | ✓ |
| Proximity readerprox_reader | – | – |
| Attached UniKey readerunikey_reader_attached | – | ✓ |
| Settings | ||
| Programming codeprogramming_code | ✓ | ✓ |
| Skip the # keyno_enter_code | ✓ | – |
| Keypad lockoutkeypad_lockout | ✓ | ✓ |
| Auto-lock after manual openingmanual_auto_lock | – | – |
| Alarmalarm | – | – |
| Always connectedalways_on | – | ✓ |
| Card byte ordercard_byte_order | – | ✓ |
| Hardware | ||
| Deadbolt calibrationdeadbolt_calibration | – | – |
KLM-8500: register withsub_model: "8500"KLM-WU1DR: register withsub_model: "WU1DR"
PDQ access control locks
PDQ has 28 models: 7 series, each in 4 types. A PDQ model name is PDQ-, then the series, then the type, such as PDQ-G1-CK-P. Its submodel is the name without PDQ-, such as G1-CK-P.
- C: card reader. Takes cards and UniKey, with no keypad.
- K: adds a keypad, so the model also takes PINs and SmartPINs and has the keypad settings.
- -P: adds a proximity card reader next to the NFC reader.
Capabilities by type
Every series has the same capabilities for the same type, except for deadbolt calibration (see the next table).
| Capability | -C |
-CK |
-C-P |
-CK-P |
|---|---|---|---|---|
| Credentials | ||||
| PINpin_credential | – | ✓ | – | ✓ |
| Cardsmart_card_credential | ✓ | ✓ | ✓ | ✓ |
| SmartPINsmart_pin_credential | – | ✓ | – | ✓ |
| UniKeyunikey_credential | ✓ | ✓ | ✓ | ✓ |
| Readers | ||||
| NFC readernfc_reader | ✓ | ✓ | ✓ | ✓ |
| Proximity readerprox_reader | – | – | ✓ | ✓ |
| Attached UniKey readerunikey_reader_attached | – | – | – | – |
| Settings | ||||
| Programming codeprogramming_code | – | ✓ | – | ✓ |
| Skip the # keyno_enter_code | – | ✓ | – | ✓ |
| Keypad lockoutkeypad_lockout | – | ✓ | – | ✓ |
| Auto-lock after manual openingmanual_auto_lock | – | – | – | – |
| Alarmalarm | – | – | – | – |
| Always connectedalways_on | – | – | – | – |
| Card byte ordercard_byte_order | – | – | – | – |
| Hardware | ||||
| Deadbolt calibrationdeadbolt_calibration | – | – | – | – |
Models by series
| Series | -C | -CK | -C-P | -CK-P | Deadbolt calibration |
|---|---|---|---|---|---|
| G1 | PDQ-G1-C | PDQ-G1-CK | PDQ-G1-C-P | PDQ-G1-CK-P | – |
| G2 | PDQ-G2-C | PDQ-G2-CK | PDQ-G2-C-P | PDQ-G2-CK-P | – |
| EX | PDQ-EX-C | PDQ-EX-CK | PDQ-EX-C-P | PDQ-EX-CK-P | – |
| DB | PDQ-DB-C | PDQ-DB-CK | PDQ-DB-C-P | PDQ-DB-CK-P | ✓ |
| IN | PDQ-IN-C | PDQ-IN-CK | PDQ-IN-C-P | PDQ-IN-CK-P | ✓ |
| M01 | PDQ-M01-C | PDQ-M01-CK | PDQ-M01-C-P | PDQ-M01-CK-P | – |
| M03 | PDQ-M03-C | PDQ-M03-CK | PDQ-M03-C-P | PDQ-M03-CK-P | – |
WST locks
Keypad locks. The 900J models also read NFC cards. None of them take UniKey.
| Capability | WST-900JF | WST-900JQ | WST-E07 |
|---|---|---|---|
| Credentials | |||
| PINpin_credential | ✓ | ✓ | ✓ |
| Cardsmart_card_credential | ✓ | ✓ | – |
| SmartPINsmart_pin_credential | ✓ | ✓ | ✓ |
| UniKeyunikey_credential | – | – | – |
| Readers | |||
| NFC readernfc_reader | ✓ | ✓ | – |
| Proximity readerprox_reader | – | – | – |
| Attached UniKey readerunikey_reader_attached | – | – | – |
| Settings | |||
| Programming codeprogramming_code | ✓ | ✓ | ✓ |
| Skip the # keyno_enter_code | ✓ | ✓ | ✓ |
| Keypad lockoutkeypad_lockout | ✓ | ✓ | ✓ |
| Auto-lock after manual openingmanual_auto_lock | ✓ | ✓ | ✓ |
| Alarmalarm | – | – | – |
| Always connectedalways_on | – | – | – |
| Card byte ordercard_byte_order | – | – | – |
| Hardware | |||
| Deadbolt calibrationdeadbolt_calibration | – | – | – |
WST-900JF: register withsub_model: "900JF"WST-900JQ: register withsub_model: "900JQ"WST-E07: register withsub_model: "E07"
Other models
Models with no submodels. Register them without a sub_model. The NWT has no keypad or card reader. It takes UniKey only, and it's the only model with an alarm.
| Capability | JUN | KCM | KLB | NWT | ENA | QSC |
|---|---|---|---|---|---|---|
| Credentials | ||||||
| PINpin_credential | ✓ | ✓ | ✓ | – | ✓ | ✓ |
| Cardsmart_card_credential | ✓ | ✓ | – | – | ✓ | ✓ |
| SmartPINsmart_pin_credential | ✓ | ✓ | ✓ | – | ✓ | ✓ |
| UniKeyunikey_credential | ✓ | ✓ | ✓ | ✓ | – | ✓ |
| Readers | ||||||
| NFC readernfc_reader | ✓ | ✓ | – | – | ✓ | ✓ |
| Proximity readerprox_reader | – | – | – | – | – | – |
| Attached UniKey readerunikey_reader_attached | – | – | – | – | – | – |
| Settings | ||||||
| Programming codeprogramming_code | ✓ | ✓ | ✓ | – | ✓ | ✓ |
| Skip the # keyno_enter_code | ✓ | ✓ | ✓ | – | ✓ | ✓ |
| Keypad lockoutkeypad_lockout | ✓ | ✓ | ✓ | – | ✓ | ✓ |
| Auto-lock after manual openingmanual_auto_lock | – | – | – | – | ✓ | – |
| Alarmalarm | – | – | – | ✓ | – | – |
| Always connectedalways_on | – | – | – | – | – | – |
| Card byte ordercard_byte_order | – | – | – | – | – | – |
| Hardware | ||||||
| Deadbolt calibrationdeadbolt_calibration | – | – | – | – | – | – |
JUN: no submodelKCM: no submodelKLB: no submodelNWT: no submodelENA: no submodelQSC: no submodel