code: public static MetadataTemplate updateMetadataTemplate(BoxAPIConnection api, String scope, String template,
              List<FieldOperation> fieldOperations) {
  
          JsonArray array = new JsonArray();
  
          for (FieldOperation fieldOperation : fieldOperations) {
              JsonObject jsonObject = getFieldOperationJsonObject(fieldOperation);
              array.add(jsonObject);
          }
  
          QueryStringBuilder builder = new QueryStringBuilder();
          URL url = METADATA_TEMPLATE_URL_TEMPLATE.build(api.getBaseURL(), scope, template);
          BoxJSONRequest request = new BoxJSONRequest(api, url, "PUT");
          request.setBody(array.toString());
  
          BoxJSONResponse response = (BoxJSONResponse) request.send();
          JsonObject responseJson = JsonObject.readFrom(response.getJSON());
  
          return new MetadataTemplate(responseJson);
      }
docs: Updates the schema of an existing metadata template.
  
  @param api the API connection to be used
  @param scope the scope of the object
  @param template Unique identifier of the template
  @param fieldOperations the fields that needs to be updated / added in the template
  @return the updated metadata template