Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/xcoder-es/media-cleaner-pro/llms.txt

Use this file to discover all available pages before exploring further.

The /api/status endpoint is a synchronous snapshot of the entire pipeline state at the moment of the request. It returns the status of every processing stage, live throughput statistics, the running and paused flags, and up to the last 1000 log messages. Poll this endpoint periodically to drive a dashboard UI, or call it once before launching a job to confirm no other job is already running.
GET /api/status

Response fields

stages
array of StageInfo
required
Ordered list of all pipeline stages and their current execution state.
stats
ProcessingStats
required
Live throughput and resource counters for the currently running job.
is_running
boolean
required
true when a job is actively executing; false when idle or after a job has finished or been cancelled.
is_paused
boolean
required
true when a running job has been suspended via POST /api/control. The job remains in memory and can be resumed.
log_messages
array of LogMessage
required
Ring buffer of up to 1000 most recent log entries. Oldest entries are discarded once the buffer is full.

Example

curl http://127.0.0.1:8080/api/status
{
  "is_running": true,
  "is_paused": false,
  "stages": [
    {
      "name": "Exact Duplicate Removal",
      "description": "Removes byte-for-byte identical files using SHA-256 hashing.",
      "status": "completed",
      "progress": 100,
      "processed": 3200,
      "total": 3200,
      "started_at": "2024-06-01T10:23:45.000Z",
      "completed_at": "2024-06-01T10:24:10.500Z",
      "error": null
    },
    {
      "name": "Perceptual Duplicate Detection",
      "description": "Detects visually similar images using dHash and Hamming distance.",
      "status": "running",
      "progress": 38,
      "processed": 1216,
      "total": 3200,
      "started_at": "2024-06-01T10:24:10.501Z",
      "completed_at": null,
      "error": null
    }
  ],
  "stats": {
    "current_file": "/home/user/photos/2024/IMG_4821.jpg",
    "current_dhash": "F0A3C1B2D4E56789",
    "unique_count": 1128,
    "duplicate_count": 88,
    "error_count": 0,
    "speed": 134.7,
    "eta_seconds": 148,
    "memory_mb": 210,
    "cpu_percent": 72.4
  },
  "log_messages": [
    {
      "timestamp": "2024-06-01T10:23:45.123Z",
      "level": "INFO",
      "stage": "system",
      "message": "Job started"
    }
  ]
}

Build docs developers (and LLMs) love