---
title: "Daily Triage"
method: POST
path: "/api/tasks/daily-triage"
tags: ["Tasks", "Tasks"]
---

# Daily Triage

`POST /api/tasks/daily-triage`

Read the log, check invariants, self-correct the allow-list, report the rest.

Runs the same logic as scripts/daily_triage.py. Findings are emitted as
structured log lines at ERROR/WARNING so the log-based alert policy picks
them up and mails the Ops channel — no separate email path, which matters
because notification_service's PAYMENT_FAILED handler is stubbed and
send_welcome has never had a caller (NOTIF-1/EMAIL-1/2).

Self-correction is limited to two idempotent, reversible actions and every
correction is re-verified; anything still failing escalates rather than
retries.

## Query parameters

- `dry_run` boolean

## Headers

- `x-cloudscheduler-secret` string, nullable
- `x-scheduler-secret` string, nullable
- `authorization` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `401` — Unauthorized
- `422` — Validation Error
- `500` — Internal Server Error

---

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