---
title: "Cron Founder Slots Reconcile"
method: POST
path: "/cron/founder-slots-reconcile"
tags: ["cron"]
---

# Cron Founder Slots Reconcile

`POST /cron/founder-slots-reconcile`

## 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/founder-slots-reconcile`
- Auth: none declared

Release founder checkout slots leaked by abandoned Stripe checkouts.

Sets founder_cohort_slots.used_slots to the count of real founder
subscriptions (tier='founder' OR is_founder=true, status trialing/active).
Downward-only, with a 24h grace window on the last claim so an in-flight
checkout is never raced. Idempotent — re-running is a no-op once reconciled.

Runs synchronously so a manual caller sees the full result. Also wired
into APScheduler daily at 05:15 UTC (id=founder_slots_reconcile_daily).
Auth: X-Cron-Secret.

## Headers

- `x-cron-secret` string, nullable

## Response `200`

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)
