## 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
model = Insight
        fields = [
            "id",
            "short_id",
            "name",
            "filters",
            "dashboards",
            "description",
            "last_refresh",
            "refreshing",
            "saved",
            "tags",
            "updated_at",
            "created_by",
            "created_at",
            "last_modified_at",
            "favorited",
        ]
        read_only_fields = ("short_id", "updated_at", "last_refresh", "refreshing")
    def create(self, validated_data: Dict, *args: Any, **kwargs: Any) -> Any:
        raise NotImplementedError()
    def to_representation(self, instance):
        representation = super().to_representation(instance)
        filters = instance.dashboard_filters()
        if not filters.get("date_from"):
            filters.update({"date_from": f"-{DEFAULT_DATE_FROM_DAYS}d"})
        representation["filters"] = filters
        return representation
class InsightSerializer(InsightBasicSerializer):