## 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
if self.request.user.is_authenticated:
            insight_viewed = InsightViewed.objects.filter(
                team=self.team, user=self.request.user, insight_id=OuterRef("id")
            )
            return queryset.annotate(my_last_viewed_at=Subquery(insight_viewed.values("last_viewed_at")[:1]))
        raise exceptions.NotAuthenticated()
    def _filter_request(self, request: request.Request, queryset: QuerySet) -> QuerySet:
        filters = request.GET.dict()
        for key in filters:
            if key == "saved":