For zwave, my understanding is that generally you need a device that has implemented the USER_CODE command class to remotely program codes.
There is a comparison table here with details on various lock models:
Perhaps @RBoy has a more detailed list.
2 Likes