code: func (h *HistoricalWeatherData) HistoryByID(id int, hp ...*HistoricalParameters) error {
  	if len(hp) > 0 {
  		response, err := h.client.Get(fmt.Sprintf(fmt.Sprintf(historyURL, "city?appid=%s&id=%d&type=hour&start%d&end=%d&cnt=%d"), h.Key, id, hp[0].Start, hp[0].End, hp[0].Cnt))
  		if err != nil {
  			return err
  		}
  		defer response.Body.Close()
  
  		if err = json.NewDecoder(response.Body).Decode(&h); err != nil {
  			return err
  		}
  	}
  
  	response, err := h.client.Get(fmt.Sprintf(fmt.Sprintf(historyURL, "city?appid=%s&id=%d"), h.Key, id))
  	if err != nil {
  		return err
  	}
  	defer response.Body.Close()
  
  	if err = json.NewDecoder(response.Body).Decode(&h); err != nil {
  		return err
  	}
  
  	return nil
  }
docs: // HistoryByID will return the history for the provided location ID