You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -132,6 +133,7 @@ This document describes the available endpoints and their usage. All endpoints r
132
133
-[`item_updated`](#item_updated)
133
134
-[`item_cancelled`](#item_cancelled)
134
135
-[`item_deleted`](#item_deleted)
136
+
-[`item_bulk_deleted`](#item_bulk_deleted)
135
137
-[`item_moved`](#item_moved)
136
138
-[`item_status`](#item_status)
137
139
-[`paused`](#paused)
@@ -381,7 +383,7 @@ or an error:
381
383
**Body Parameters**:
382
384
-`type` (string, required): Type of items - `"queue"` or `"done"`
383
385
-`ids` (array, optional): List of specific item IDs to delete. If provided, `status` filter is ignored
384
-
-`status` (string, optional): Filter by status (e.g., `"finished"`, `"!finished"`). Required if `ids` not provided
386
+
-`status` (string, optional): Filter by status (e.g., `"finished"`, `"!finished"`, `"finished,skip"`, `"!finished,!skip"`). Required if `ids` not provided
385
387
-`remove_file` (boolean, optional): Whether to delete files from disk. Default: `true`.
386
388
387
389
> [!NOTE]
@@ -416,6 +418,15 @@ or an error:
416
418
}
417
419
```
418
420
421
+
**Delete all completed and skipped items in one request:**
422
+
```json
423
+
{
424
+
"type": "done",
425
+
"status": "finished,skip",
426
+
"remove_file": false
427
+
}
428
+
```
429
+
419
430
**Response**:
420
431
```json
421
432
{
@@ -448,6 +459,7 @@ or an error:
448
459
**Notes**:
449
460
- When using filter mode, all matching items will be deleted.
450
461
- Filter mode with `{ "status": "!finished" }` is useful for cleaning up failed/pending downloads.
462
+
-`status` also accepts comma-separated include filters (`finished,skip`) and comma-separated exclude filters (`!finished,!skip`).
451
463
- Filter mode returns a `deleted` count indicating how many items were removed.
452
464
453
465
---
@@ -2479,6 +2491,55 @@ or an error:
2479
2491
2480
2492
---
2481
2493
2494
+
### GET /api/system/limits
2495
+
**Purpose**: Get the system limits.
2496
+
2497
+
**Response**:
2498
+
```json
2499
+
{
2500
+
"downloads": {
2501
+
"paused": false,
2502
+
"live_bypasses_limits": true,
2503
+
"global": {
2504
+
"limit": 20,
2505
+
"active": 3,
2506
+
"available": 17,
2507
+
"live_active": 1,
2508
+
"queued": 8
2509
+
},
2510
+
"per_extractor": {
2511
+
"default_limit": 2,
2512
+
"items": [
2513
+
{
2514
+
"name": "youtube",
2515
+
"limit": 3,
2516
+
"source": "env_override",
2517
+
"active": 2,
2518
+
"queued": 4,
2519
+
"available": 1
2520
+
}
2521
+
]
2522
+
}
2523
+
},
2524
+
"extraction": {
2525
+
"concurrency": 4,
2526
+
"timeout_seconds": 70,
2527
+
"info_cache_ttl_seconds": 10800
2528
+
},
2529
+
"live": {
2530
+
"prevent_premiere": true,
2531
+
"premiere_buffer_minutes": 5
2532
+
}
2533
+
}
2534
+
```
2535
+
2536
+
**Notes**:
2537
+
- `downloads.global` counts only non-live downloads against the worker limit.
2538
+
- `downloads.global.live_active` is reported separately because live downloads bypass the global and per-extractor worker limits.
2539
+
- `downloads.per_extractor.items[*].source` is `default` unless an override was provided through `YTP_MAX_WORKERS_FOR_<EXTRACTOR>`.
2540
+
2541
+
---
2542
+
2482
2543
### POST /api/system/terminal
2483
2544
**Purpose**: Start a yt-dlp terminal session. Requires `YTP_CONSOLE_ENABLED=true`.
2484
2545
@@ -3127,6 +3188,24 @@ Emitted when a download item is deleted from the queue or history.
3127
3188
3128
3189
---
3129
3190
3191
+
##### `item_bulk_deleted`
3192
+
3193
+
Emitted when multiple items are cleared in bulk operation.
3194
+
3195
+
**Event**:
3196
+
```json
3197
+
{
3198
+
"event": "item_bulk_deleted",
3199
+
"data": {
3200
+
"count": 10001,
3201
+
"status": "finished,skip",
3202
+
"ids": ["id1", "id2", "..."] // optional, included when clear is driven by explicit ids
3203
+
}
3204
+
}
3205
+
```
3206
+
3207
+
---
3208
+
3130
3209
##### `item_moved`
3131
3210
3132
3211
Emitted when a download item is moved between queue and history.
0 commit comments