anchor.diff:      List = lists:reverse(lists:foldl(Extract, [], Services)),
       jsx:encode(#{service_list => List}).
   
  -return_oidc_list(Oidc) ->
  -    Id = fun({OidcId, Pid}, List) ->
  -                 Result = oidcc:get_openid_provider_info(Pid),
  -                 case Result of
  -                 {ok, #{issuer := Issuer, ready := true}}  ->
  -                         [#{ id => OidcId, issuer => Issuer} | List];
  +return_json_oidc_list(Oidc) ->
  +    Id = fun(OidcInfo, List) ->
  +                 case OidcInfo of
  +                 #{issuer := Issuer, id := Id, ready := true}  ->
  +                         [#{ id => Id, issuer => Issuer} | List];
                        _ -> List
                    end
            end,
       List = lists:reverse(lists:foldl(Id, [], Oidc)),
       jsx:encode(#{openid_provider_list => List}).
   
  -return_credential_list(Credentials) ->
  +return_json_credential_list(Credentials) ->
       Id = fun(CredId, List) ->
                    [#{ id => CredId} | List]
            end,
  
positive.code:    (Version =< 0) or (Version > ?LATEST_VERSION);
  is_bad_version(_) ->
      true.
  
  
  
  
negative.code:           version = undefined,
            type = undefined,
            id = undefined,
  
            token = undefined,
            issuer = undefined,
            json = undefined,
            session_pid = undefined
           }).
  
  rest_init(Req, _Opts) ->
  