code: func (api CompaniesAPI) globalIdPut(w http.ResponseWriter, r *http.Request) {
  
  	globalID := mux.Vars(r)["globalId"]
  
  	var company companydb.Company
  
  	if err := json.NewDecoder(r.Body).Decode(&company); err != nil {
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  
  	companyMgr := companydb.NewCompanyManager(r)
  
  	oldCompany, cerr := companyMgr.GetByName(globalID)
  	if cerr != nil {
  		log.Debug(cerr)
  		http.Error(w, "Not found", http.StatusNotFound)
  		return
  	}
  
  	if company.Globalid != globalID || company.GetId() != oldCompany.GetId() {
  		http.Error(w, "Changing globalId or id is Forbidden!", http.StatusForbidden)
  		return
  	}
  
  	if err := companyMgr.Save(&company); err != nil {
  		log.Error("Error saving company:\n", err)
  		http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
  		return
  	}
  
  }
docs: // globalIdPut is handler for PUT /companies/{globalId}
  // Update existing company. Updating ``globalId`` is not allowed.