code: func restAddAddressable(w http.ResponseWriter, r *http.Request) {
  	defer r.Body.Close()
  	var a models.Addressable
  	err := json.NewDecoder(r.Body).Decode(&a)
  	if err != nil {
  		LoggingClient.Error(err.Error())
  		http.Error(w, err.Error(), http.StatusBadRequest)
  		return
  	}
  
  	id, err := addAddressable(a)
  	if err != nil {
  		switch err.(type) {
  		case *types.ErrDuplicateAddressableName:
  			http.Error(w, err.Error(), http.StatusConflict)
  		case *types.ErrEmptyAddressableName:
  			http.Error(w, err.Error(), http.StatusBadRequest)
  		default:
  			http.Error(w, err.Error(), http.StatusInternalServerError)
  		}
  		return
  	}
  	w.WriteHeader(http.StatusOK)
  	_, err = w.Write([]byte(id))
  	if err != nil {
  		LoggingClient.Error(err.Error())
  		return
  	}
  }
docs: // Add a new addressable
  // The name must be unique