Expiry Check Edge Function
API Contract
REST
/api/v1/expiry-checks
5 endpoints
GET
/api/v1/expiry-checks/api/v1/expiry-checks
List expiry check execution logs (daily runs).
Public
Response Example
{
"data": [
{
"check_id": "a7b8c9d0-e1f2-3456-abcd-567890123456",
"scheduled_at": "2026-03-26T08:00:00Z",
"executed_at": "2026-03-26T08:00:01Z",
"expirations_found": 12,
"batch_size": 12,
"orchestration_run_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
"status": "success",
"duration_ms": 11420,
"error_message": null
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1
}
}
GET
/api/v1/expiry-checks/api/v1/expiry-checks/:check_id
Get the execution log for a specific expiry check run.
Public
Response Example
{
"check_id": "a7b8c9d0-e1f2-3456-abcd-567890123456",
"scheduled_at": "2026-03-26T08:00:00Z",
"executed_at": "2026-03-26T08:00:01Z",
"expirations_found": 12,
"batch_size": 12,
"orchestration_run_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
"status": "success",
"duration_ms": 11420,
"error_message": null
}
POST
/api/v1/expiry-checks/api/v1/expiry-checks
Trigger an on-demand expiry check outside the daily schedule.
Public
Request Example
{
"triggered_by": "admin_manual",
"within_days_override": 45
}
Response Example
{
"check_id": "b8c9d0e1-f2a3-4567-bcde-678901234567",
"scheduled_at": "2026-03-26T15:00:00Z",
"executed_at": "2026-03-26T15:00:01Z",
"expirations_found": 5,
"batch_size": 5,
"orchestration_run_id": "g7h8i9j0-k1l2-3456-mnop-789012345678",
"status": "success",
"duration_ms": 4230,
"error_message": null
}
PUT
/api/v1/expiry-checks/api/v1/expiry-checks/:check_id
Update a check log record (e.g., annotate a failed run with resolution info).
Public
Request Example
{
"status": "resolved",
"error_message": null,
"resolution_notes": "Retry succeeded after 3-minute backoff."
}
Response Example
{
"check_id": "a7b8c9d0-e1f2-3456-abcd-567890123456",
"scheduled_at": "2026-03-26T08:00:00Z",
"executed_at": "2026-03-26T08:00:01Z",
"expirations_found": 12,
"batch_size": 12,
"orchestration_run_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
"status": "resolved",
"duration_ms": 11420,
"resolution_notes": "Retry succeeded after 3-minute backoff.",
"error_message": null
}
DELETE
/api/v1/expiry-checks/api/v1/expiry-checks/:check_id
Delete an expiry check log record.
Public
Response Example
{
"deleted": true,
"check_id": "a7b8c9d0-e1f2-3456-abcd-567890123456"
}