---
title: "Cron Refresh Universe"
method: POST
path: "/cron/refresh-universe"
tags: ["cron"]
---

# Cron Refresh Universe

`POST /cron/refresh-universe`

## Request

- Base URL: `https://api.equity-rank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.equity-rank.com/cron/refresh-universe`
- Auth: none declared

Tier-1 coverage: rebuild the dynamic screener_universe (weekly Sun 02:00 UTC).

Enumerates AV LISTING_STATUS, market-cap-gates survivors (>=$300M + fundamentals),
and upserts them to screener_universe. The daily screener batch reads this via
universe_service.load_universe(). Heavy (~6–7k OVERVIEW probes) but flat-rate.
Auth: X-Cron-Secret.

## Headers

- `x-cron-secret` string, nullable

## Response `202`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/equity-rank/apis/equity-rank-api.md) · [All operations](https://skmtc.dev/equity-rank/apis/equity-rank-api/llms.txt) · [OpenAPI document](https://skmtc.dev/equity-rank/apis/equity-rank-api/revisions/c2f2463fee33?raw)
