{
  "_comment": "ILLUSTRATIVE EXAMPLE ONLY. The fireAt date, author and targetStatus below are fictional and do not reproduce the exact schedule calls used in the real recovery; they show the shape of the API call, not a historical record. Call PATCH /api/projects/{slug}/tickets/{id}/schedule with a body like this.",
  "endpoint": "PATCH /api/projects/{slug}/tickets/{id}/schedule",
  "request": {
    "fireAt": "2026-01-15T09:00:00Z",
    "author": "owner",
    "targetStatus": "REPLACE_WITH_YOUR_COLUMN_NAME"
  },
  "context": {
    "why": "the outside image/clip generation provider enforces a daily generation quota; several clips could not be regenerated until the owner raised it",
    "realRecoveryFacts": "in the real recovery, the daily quota was raised from 20 to 40 generations per day on 11 August, per the production ticket's comments; this example's dates are fictional and were not copied from that history",
    "expectedResumeCondition": "provider daily quota raised by the account owner"
  },
  "notes": [
    "fireAt is when the ticket should wake up and be re-checked, not necessarily the moment the wait ends. If the exact resume moment is unknown, schedule a check-in and reschedule again if the condition still holds.",
    "targetStatus lets the wake-up route the ticket to the column or state where the recovery work actually continues, instead of leaving it in a generic waiting column. It must match a real column name in your own project.",
    "Record why the wait exists directly on the ticket (as a comment or in the description) so the next person does not mistake a scheduled wait for an abandoned ticket."
  ]
}
