## Bug description

From [a customer report](https://posthoghelp.zendesk.com/agent/tickets/653):

```
I'm accessing insight results through the API, and I’ve noticed that sometimes the result is null in the response.
When I go and view the insight in Posthog and tap “refresh” the result starts to return in the API response.
I’ve also noticed there is a “refreshing” boolean flag in the insight response.
How do I set the insight to either refresh periodically or on request so I always get a result through the API?
```

It seems like the insight returns null if it's not refreshed manually from the frontend.

## How to reproduce

1. Call an insight with GET | /api/projects/:project_id/insights/:id
2. Response is `null`
3. Refresh the insight from the frontend
4. Response is populated

## Environment

- [ ] PostHog Cloud
- [ ] self-hosted PostHog, version/commit: please provide

## Additional context


posthog/api/insight.py
limit = int(request.query_params.get("limit", "10"))
        page = int(request.query_params.get("page", "1"))
        activity_page = load_activity(scope="Insight", team_id=self.team_id, limit=limit, page=page)
        return activity_page_response(activity_page, limit, page, request)
    @action(methods=["GET"], detail=True)
    def activity(self, request: request.Request, **kwargs):
        limit = int(request.query_params.get("limit", "10"))
        page = int(request.query_params.get("page", "1"))
        item_id = kwargs["pk"]
        if not Insight.objects.filter(id=item_id, team_id=self.team_id).exists():
            return Response("", status=status.HTTP_404_NOT_FOUND)
        activity_page = load_activity(scope="Insight", team_id=self.team_id, item_id=item_id, limit=limit, page=page)
        return activity_page_response(activity_page, limit, page, request)
    @action(methods=["POST"], detail=False)
    def cancel(self, request: request.Request, **kwargs):
        if "client_query_id" not in request.data:
            raise serializers.ValidationError({"client_query_id": "Field is required."})
        sync_execute(
            f"KILL QUERY ON CLUSTER {CLICKHOUSE_CLUSTER} WHERE query_id LIKE %(client_query_id)s",
            {"client_query_id": f"{self.team.pk}_{request.data['client_query_id']}%"},
        )
        return Response(status=status.HTTP_201_CREATED)
class LegacyInsightViewSet(InsightViewSet):
    legacy_team_compatibility = True