anchor.diff:              Auth, URN, post, Body, [{endpoint, rest_no_auth}]
           ) of
               {ok, 200, _ResponseHeaders, ResponseBody} ->
  -                Proplist = json_utils:decode_deprecated(ResponseBody),
  -                ProviderId = lists_utils:key_get(<<"providerId">>, Proplist),
  -                Macaroon = lists_utils:key_get(<<"macaroon">>, Proplist),
  -                {ok, ProviderId, Macaroon};
  +                {ok, json_utils:decode(ResponseBody)};
   
               {ok, 400, _ResponseHeaders, ResponseBody} ->
                   #{<<"error">> := ErrorDesc} = json_utils:decode(ResponseBody),
  
positive.code:         {ok, 200, _ResponseHeaders, ResponseBody} = oz_endpoint:request(
              Auth, URN, post, Body, [{endpoint, rest_no_auth}]
          ),
          Proplist = json_utils:decode_deprecated(ResponseBody),
          ProviderId = lists_utils:key_get(<<"providerId">>, Proplist),
          Macaroon = lists_utils:key_get(<<"macaroon">>, Proplist),
          {ok, ProviderId, Macaroon}
      end).
  
  %%--------------------------------------------------------------------
  
negative.code: %%--------------------------------------------------------------------
  -spec register_with_uuid(Auth :: oz_endpoint:auth(),
      Parameters :: oz_endpoint:params()) ->
      {ok, maps:map()} |
      {error, Reason :: term()}.
  register_with_uuid(Auth, Parameters) ->
      ?run(fun() ->
  