Status
Real-time processing status
GET /status
Section titled “GET /status”Get current processing status
Returns shared processing status including active jobs and queue depth. The browser polls this route every 2 seconds and backs off to 30 seconds after failures.
Responses
Section titled “Responses”| Status | Description | Body |
|---|---|---|
| 200 | Current status | ProcessingStatus |
GET /status/stream
Section titled “GET /status/stream”Real-time status stream (SSE)
Compatibility Server-Sent Events stream of processing status updates. A stream lasts at most 30 seconds and polls shared state every 2 seconds. Concurrent streams are bounded to one fewer than the configured gunicorn thread count.
Authentication is snapshotted once at connect time, not on the
HTTP handshake. The endpoint is in AUTH_EXEMPT_PATHS because
browser EventSource clients cannot surface a 401 response.
An unauthenticated connect receives a single
event: auth-failed SSE frame and the stream closes; the
frontend handler redirects to /ui/login on that event. An
authenticated connect opens the real data stream.
A password change or removal revokes the stream on its next state
poll with event: auth-failed.
Responses
Section titled “Responses”| Status | Description | Body |
|---|---|---|
| 200 | SSE stream. Body is either a sequence of data: frames (authenticated) or a single event: auth-failed frame followed by stream close (unauthenticated). |
text/event-stream |
| 410 | SSE compatibility is disabled because no stream slots are configured |
GET /status/processing-admission
Section titled “GET /status/processing-admission”Read whether new processing runs are paused
Pause for new processing runs that survives restarts. While paused, active runs finish and queued episodes stay queued until someone resumes.
Responses
Section titled “Responses”| Status | Description | Body |
|---|---|---|
| 200 | Current admission state | ProcessingAdmission |
PUT /status/processing-admission
Section titled “PUT /status/processing-admission”Pause or resume new processing runs
Pausing does not stop runs already in progress. It only keeps new work from starting.
Request body (application/json, required)
Section titled “Request body (application/json, required)”paused(boolean, required)
Responses
Section titled “Responses”| Status | Description | Body |
|---|---|---|
| 200 | Admission state after the change | ProcessingAdmission |
| 400 | paused must be a boolean | Error |