---
title: "Delete expired app-lock rows (cron)"
method: POST
path: "/cron/app-lock/prune"
tags: ["cron"]
---

# Delete expired app-lock rows (cron)

`POST /cron/app-lock/prune`

Expected schedule: **daily**.

Unlock windows outlive the JWTs they are keyed to, and a user who stops signing in leaves theirs behind forever. Logins already sweep the caller’s own rows; this covers everyone else. Batched, because an unbounded DELETE on a table every login writes would eventually hold locks against live sign-ins.

Returns **204**. Requires `X-CRON-API-KEY` matching `CRON_API_KEY`.

## Headers

- `X-CRON-API-KEY` string, required

## Response `204`

Prune complete

## Other responses

- `401` — Invalid cron API key

---

[API](https://skmtc.dev/dre/apis/dre-api.md) · [All operations](https://skmtc.dev/dre/apis/dre-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dre/dre-api/revisions/5d14beb9482b/schema)
