---
title: "Cron Commodity Carry"
method: POST
path: "/cron/commodity-carry"
tags: ["cron"]
---

# Cron Commodity Carry

`POST /cron/commodity-carry`

## 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/commodity-carry`
- Auth: none declared

Manual trigger for the commodity carry / term-structure refresh.

Computes roll yield / term-structure slope / backwardation-contango regime
for WTI + Henry Hub from the front four Yahoo per-contract futures and
upserts commodity_carry. The signal feeds the energy/materials cyclical
valuation read alongside long-horizon mean reversion (research E8).

NOTE: the live daily refresh is Supabase-native — `pg_cron` calls the SQL
function `refresh_commodity_carry()` weekdays 23:30 UTC (migration 062),
because EIA discontinued its NYMEX futures feed on 2024-04-05. This endpoint
just RPC-triggers the same SQL function, so it stays a valid manual refresh.

## 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)
