code: func (s *DashboardService) ReplaceDashboardCells(ctx context.Context, id platform.ID, cs []*platform.Cell) error {
  	u, err := newURL(s.Addr, cellPath(id))
  	if err != nil {
  		return err
  	}
  
  	// TODO(goller): I think this should be {"cells":[]}
  	b, err := json.Marshal(cs)
  	if err != nil {
  		return err
  	}
  
  	req, err := http.NewRequest("PUT", u.String(), bytes.NewReader(b))
  	if err != nil {
  		return err
  	}
  
  	req.Header.Set("Content-Type", "application/json")
  	SetToken(s.Token, req)
  
  	hc := newClient(u.Scheme, s.InsecureSkipVerify)
  
  	resp, err := hc.Do(req)
  	if err != nil {
  		return err
  	}
  
  	if err := CheckError(resp, true); err != nil {
  		return err
  	}
  
  	cells := dashboardCellsResponse{}
  	if err := json.NewDecoder(resp.Body).Decode(&cells); err != nil {
  		return err
  	}
  	defer resp.Body.Close()
  
  	return nil
  }
docs: // ReplaceDashboardCells replaces all cells in a dashboard