Get Draft Logs
GET/v1/draft/logs
Tail of the spawned Job's pod log, for diagnosing a crash without cluster access.
Resolves the pod via the same label selectors /status and /practice/sync-job/status already use, then reads its log directly - this works even after the pod has terminated (both Jobs run with backoff_limit=0/restart_policy=Never, so there is no live-vs-previous-container ambiguity), as long as the pod object itself hasn't been garbage-collected. The listener Job sets no ttl_seconds_after_finished, so its pod (and log) sticks around indefinitely; the room-sync Job sets ttl_seconds_after_finished=3600 (see PracticeSyncJobRequest handling below), so its log becomes unavailable an hour after it finishes - an infra-level tradeoff, not something this endpoint can work around.
job="room-sync" intentionally ignores league_id when resolving the pod: the room-sync Job only carries a league-id label when the practice room URL happened to include a leagueId query param, and every other room-sync query in this file (job state, delete) already treats it as a global singleton instead - _practice_sync_job_state() is checked before /practice/sync-job creates a new one, forbidding more than one Active room-sync Job at a time. league_id stays a required query param for consistency with job="listener", where it's the only way to find the right pod.
Request
Responses
- 200
- 422
Successful Response
Validation Error