---
title: "Integrity Retention Tick"
method: POST
path: "/api/internal/cron/integrity-retention"
tags: ["Internal Cron"]
---

# Integrity Retention Tick

`POST /api/internal/cron/integrity-retention`

## 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/integrity-retention`
- Auth: none declared

Vetting Integrity v1 (PR5): purge raw IP + device hash older than 90
days from integrity_request_meta. Coarse evidence (country, ASN, hosting
and VPN booleans, browser zone) stays so existing D signals remain
explainable.

Runs whatever INTEGRITY_SIGNALS_ENABLED says: data captured while the
flag was on must still age out after it is turned off. Idempotent (a
second run touches nothing). Driven daily by
.github/workflows/bench-freshness-cron.yml — external cron, never the
in-process scheduler.

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