code: func (api UsersAPI) RegisterNewAddress(w http.ResponseWriter, r *http.Request) {
  	username := mux.Vars(r)["username"]
  	userMgr := user.NewManager(r)
  
  	address := user.Address{}
  
  	if err := json.NewDecoder(r.Body).Decode(&address); err != nil {
  		log.Debug("Error while decoding the body: ", err)
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  
  	if !address.Validate() {
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  
  	u, err := userMgr.GetByName(username)
  	if err != nil {
  		http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
  		return
  	}
  
  	//Check if this label is already used
  	_, err = u.GetAddressByLabel(address.Label)
  	if err == nil {
  		http.Error(w, http.StatusText(http.StatusConflict), http.StatusConflict)
  		return
  	}
  
  	if err := userMgr.SaveAddress(username, address); err != nil {
  		log.Error("ERROR while saving address:\n", err)
  		http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
  		return
  	}
  
  	// respond with created phone number.
  	w.Header().Set("Content-Type", "application/json")
  	w.WriteHeader(http.StatusCreated)
  
  	json.NewEncoder(w).Encode(address)
  }
docs: // RegisterNewAddress is the handler for POST /users/{username}/addresses
  // Register a new address