code: public ServiceCall<ListCollectionFieldsResponse> listFields(ListFieldsOptions listFieldsOptions) {
      Validator.notNull(listFieldsOptions, "listFieldsOptions cannot be null");
      String[] pathSegments = { "v1/environments", "fields" };
      String[] pathParameters = { listFieldsOptions.environmentId() };
      RequestBuilder builder = RequestBuilder.get(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments,
          pathParameters));
      builder.query("version", versionDate);
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("discovery", "v1", "listFields");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      builder.query("collection_ids", RequestUtils.join(listFieldsOptions.collectionIds(), ","));
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(ListCollectionFieldsResponse.class));
    }
docs: List fields across collections.
  
  Gets a list of the unique fields (and their types) stored in the indexes of the specified collections.
  
  @param listFieldsOptions the {@link ListFieldsOptions} containing the options for the call
  @return a {@link ServiceCall} with a response type of {@link ListCollectionFieldsResponse}