## 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
filter = Filter(request=request, team=self.team)
        next = (
            format_paginated_url(request, filter.offset, BREAKDOWN_VALUES_LIMIT)
            if len(result["result"]) >= BREAKDOWN_VALUES_LIMIT
            else None
        )
        if self.request.accepted_renderer.format == "csv":
            csvexport = []
            for item in result["result"]:
                line = {"series": item["action"].get("custom_name") or item["label"]}
                for index, data in enumerate(item["data"]):
                    line[item["labels"][index]] = data
                csvexport.append(line)
            renderer = csvrenderers.CSVRenderer()
            renderer.header = csvexport[0].keys()
            export = renderer.render(csvexport)
            if request.GET.get("export_insight_id"):
                export = "{}/insights/{}/\n".format(SITE_URL, request.GET["export_insight_id"]).encode() + export
            response = HttpResponse(export)
            response[
                "Content-Disposition"
            ] = 'attachment; filename="{name} ({date_from} {date_to}) from PostHog.csv"'.format(
                name=slugify(request.GET.get("export_name", "export")),
                date_from=filter.date_from.strftime("%Y-%m-%d -") if filter.date_from else "up until",
                date_to=filter.date_to.strftime("%Y-%m-%d"),
            )
            return response
        return Response({**result, "next": next})
    @cached_function
    def calculate_trends(self, request: request.Request) -> Dict[str, Any]: