diff --git a/dyndns.py b/dyndns.py
index d9ca9a1f5a7799b7e6a5f6f65be77998cbd2405e..3d30c67d6fe1883b35b9584d54705e9a8cde527d 100644
--- a/dyndns.py
+++ b/dyndns.py
@@ -8,11 +8,11 @@ import datetime
 plugin_dir = os.path.dirname(__file__) # parent folder name of the absolute path of this file
 
 
-def register(add_endpoint, add_postable_endpoint, add_menu):
-    add_endpoint('dyndns', dyndns)
-    add_menu('dyndns', 'DynDNS', 'dyndns')
-    add_postable_endpoint('dyndns-register', dyndnsRegister)
-    add_endpoint('dyndns-update', dyndnsUpdate)
+def register(add_endpoint):
+    add_endpoint(endpoint_id='dyndns', handler=dyndns, permission_name='dyndns', menutext='DynDNS')
+    add_endpoint(endpoint_id='dyndns-register', handler=dyndnsRegister, permission_name='dyndns', method='POST')
+    add_endpoint(endpoint_id='dyndns-update', handler=dyndnsUpdate, permission_name=None) # Auth is handled by DynDNS server using a token
+    add_endpoint(endpoint_id='dyndns-update', handler=dyndnsUpdate, permission_name='dyndns') # Should work when logged in as well
     
 def dyndns(**kwargs):
     session = kwargs['session']