code: func (api OrganizationsAPI) CreateNewSubOrganization(w http.ResponseWriter, r *http.Request) {
  	parent := mux.Vars(r)["globalid"]
  	var org organization.Organization
  
  	if err := json.NewDecoder(r.Body).Decode(&org); err != nil {
  		log.Debug("Error decoding the organization:", err)
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  	org.Globalid = strings.Trim(org.Globalid, " ")
  	if !org.IsValidSubOrganization() {
  		log.Debug("Invalid suborganization")
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  
  	if !strings.HasPrefix(org.Globalid, parent+".") {
  		log.Debug("GlobalID does not start with the parent globalID")
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  
  	localid := strings.TrimPrefix(org.Globalid, parent+".")
  	if strings.Contains(localid, ".") {
  		log.Debug("localid contains a '.'")
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  
  	orgMgr := organization.NewManager(r)
  	if !orgMgr.Exists(parent) {
  		log.Debug("Trying to create a suborganization of an unexisting parent")
  		writeErrorResponse(w, http.StatusNotFound, "Parent organization does not exist")
  		return
  	}
  
  	api.actualOrganizationCreation(org, w, r)
  
  }
docs: // CreateNewSubOrganization is the handler for POST /organizations/{globalid}
  // Create a new suborganization.