---
title: "Bench Staleness Tick"
method: POST
path: "/api/internal/cron/bench-staleness"
tags: ["Internal Cron"]
---

# Bench Staleness Tick

`POST /api/internal/cron/bench-staleness`

## Request

- Base URL: `https://api.ruzora.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ruzora.com/api/internal/cron/bench-staleness`
- Auth: none declared

Bench freshness sweep (Wave 2 Epic 2.3).

Vetted candidates whose availability_confirmed_at is older than
BENCH_STALE_AFTER_DAYS get a 30-second check-in nudge; after
BENCH_STALE_MAX_PINGS unanswered nudges the row is marked 'stale' and
leaves every shortlist surface until the candidate saves availability.
No-ops with {"skipped": "flag"} while BENCH_STALENESS_ENABLED is off.
Advisory-locked; a re-run never double-sends. Runs FIRST in the daily
workflow so a candidate due for both heartbeats gets one email.

## Headers

- `x-cron-token` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api.md) · [All operations](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/revisions/f9b8223f3ac4?raw)
