---
title: "Purge Expired"
method: POST
path: "/api/v1/lifecycle/purge-expired"
tags: ["lifecycle"]
---

# Purge Expired

`POST /api/v1/lifecycle/purge-expired`

## Request

- Base URL: `https://api.geopera.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.geopera.com/api/v1/lifecycle/purge-expired`
- Auth: HTTP bearer

Projection of items.purge_expired (cron-token gated): hard-delete items whose
retention lapsed more than the grace window ago, and email quote recipients whose
delivered data expires within the reminder window.

## Headers

- `x-cron-token` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Validation Error
- `500`: Internal Server Error

## Changes

- **2026-09-07** `4df796ef96ce`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/geopera/apis/geopera-data-platform/changes/api/v1/lifecycle/purge-expired/post.md)

---

[API](https://skmtc.dev/geopera/apis/geopera-data-platform.md) · [All operations](https://skmtc.dev/geopera/apis/geopera-data-platform/llms.txt) · [OpenAPI document](https://skmtc.dev/geopera/apis/geopera-data-platform/revisions/d5adab332a7a?raw)
