code: func GetDashboardSnapshot(c *m.ReqContext) {
  	key := c.Params(":key")
  	query := &m.GetDashboardSnapshotQuery{Key: key}
  
  	err := bus.Dispatch(query)
  	if err != nil {
  		c.JsonApiErr(500, "Failed to get dashboard snapshot", err)
  		return
  	}
  
  	snapshot := query.Result
  
  	// expired snapshots should also be removed from db
  	if snapshot.Expires.Before(time.Now()) {
  		c.JsonApiErr(404, "Dashboard snapshot not found", err)
  		return
  	}
  
  	dto := dtos.DashboardFullWithMeta{
  		Dashboard: snapshot.Dashboard,
  		Meta: dtos.DashboardMeta{
  			Type:       m.DashTypeSnapshot,
  			IsSnapshot: true,
  			Created:    snapshot.Created,
  			Expires:    snapshot.Expires,
  		},
  	}
  
  	metrics.M_Api_Dashboard_Snapshot_Get.Inc()
  
  	c.Resp.Header().Set("Cache-Control", "public, max-age=3600")
  	c.JSON(200, dto)
  }
docs: // GET /api/snapshots/:key