 index b97a154..1e2f4f8 100644
 --- a/Koha/REST/V1/Patron.pm
 +++ b/Koha/REST/V1/Patron.pm
-@@ -18,15 +18,25 @@ package Koha::REST::V1::Patron;
+@@ -18,15 +18,30 @@ package Koha::REST::V1::Patron;
  use Modern::Perl;
- 
+
  use Mojo::Base 'Mojolicious::Controller';
 -
 +use Koha::AuthUtils qw(hash_password);
  use Koha::Patrons;
 +use Koha::Patron::Categories;
 +use Koha::Libraries;
- 
++
++use Module::Load;
++if ( C4::Context->preference('NorwegianPatronDBEnable') && C4::Context->preference('NorwegianPatronDBEnable') == 1 ) {
++    load Koha::NorwegianPatronDB, qw( NLGetSyncDataFromBorrowernumber NLEncryptPIN NLSync);
++}
+
  sub list {
      my ($c, $args, $cb) = @_;
- 
+
 -    my $user = $c->stash('koha.user');
 -
 -    my $patrons = Koha::Patrons->search;

+            return $c->$cb({error => "Patron category \"" . $body->{categorycode} . "\" does not exist"}, 404);
+        }
+    }
+    # ALL OK - Update patron
+    # Perhaps limit/validate what should be updated here? flags, et.al.
+    if ($body->{password}) { $body->{password} = hash_password($body->{password}) }; # bcrypt password if given

+    } else {
+        $patrons = Koha::Patrons->search;
+    }

     $c->$cb($patrons->unblessed, 200);
 }
@@ -34,8 +49,6 @@ sub list {
 sub get {
     my ($c, $args, $cb) = @_;

-    my $user = $c->stash('koha.user');
-
     my $patron = Koha::Patrons->find($args->{borrowernumber});
     unless ($patron) {
         return $c->$cb({error => "Patron not found"}, 404);
@@ -44,4 +57,143 @@ sub get {
     return $c->$cb($patron->unblessed, 200);
 }

+sub add {
+    my ($c, $args, $cb) = @_;
+
