anchor.diff:              Other
       end.
   
  +%% OTP < 21
  +-ifndef (OTP_RELEASE).
   encode(Binary) when is_binary(Binary) ->
       encode(binary_to_list(Binary));
   encode(String) when is_list(String) ->
       http_uri:encode(String).
  +-endif.
   
   build_url(Path, #{api_url := URI}) ->
       <<URI/binary, "/", Path/binary>>.
  
positive.code: build_organization_path(#{api_organization := undefined}, Path) ->
      Path.
  
  %% @private
  join_path_segments(Segments) ->
      erlang:iolist_to_binary(join(<<"/">>, lists:map(fun encode/1, Segments))).
  
  %%====================================================================
  %% Internal functions
  
negative.code: delete(Config, Path) ->
      request(Config, delete, Path, undefined).
  
  %% OTP 21+
  -ifdef (OTP_RELEASE).
  encode_query_string(List0) ->
      %% uri_string:compose_query/1 only accepts proplists where values are lists
      Pairs = lists:map(fun ({K, V}) when is_atom(V)    -> {K, atom_to_list(V)};
                            ({K, V}) when is_binary(V)  -> {K, binary_to_list(V)};
                            ({K, V}) when is_integer(V) -> {K, integer_to_list(V)};
                            ({K, V}) -> {K, V}
                            end, List0),
      list_to_binary(uri_string:compose_query(Pairs)).
  -else.
  %% @private
  encode_query_string(List) ->
      QueryString =
  