code: func (s *HTTPServer) AgentHealthServiceByID(resp http.ResponseWriter, req *http.Request) (interface{}, error) {
  	// Pull out the service id (service id since there may be several instance of the same service on this host)
  	serviceID := strings.TrimPrefix(req.URL.Path, "/v1/agent/health/service/id/")
  	if serviceID == "" {
  		return nil, &BadRequestError{Reason: "Missing serviceID"}
  	}
  	services := s.agent.State.Services()
  	proxies := s.agent.State.Proxies()
  	for _, service := range services {
  		if service.ID == serviceID {
  			code, status, healthChecks := agentHealthService(serviceID, s)
  			if returnTextPlain(req) {
  				return status, CodeWithPayloadError{StatusCode: code, Reason: status, ContentType: "text/plain"}
  			}
  			serviceInfo := buildAgentService(service, proxies)
  			result := &api.AgentServiceChecksInfo{
  				AggregatedStatus: status,
  				Checks:           healthChecks,
  				Service:          &serviceInfo,
  			}
  			return result, CodeWithPayloadError{StatusCode: code, Reason: status, ContentType: "application/json"}
  		}
  	}
  	notFoundReason := fmt.Sprintf("ServiceId %s not found", serviceID)
  	if returnTextPlain(req) {
  		return notFoundReason, CodeWithPayloadError{StatusCode: http.StatusNotFound, Reason: fmt.Sprintf("ServiceId %s not found", serviceID), ContentType: "application/json"}
  	}
  	return &api.AgentServiceChecksInfo{
  		AggregatedStatus: api.HealthCritical,
  		Checks:           nil,
  		Service:          nil,
  	}, CodeWithPayloadError{StatusCode: http.StatusNotFound, Reason: notFoundReason, ContentType: "application/json"}
  }
docs: // AgentHealthServiceByID return the local Service Health given its ID