{ "name": "download.addBatch \u2014 three URLs, one bad, added together", "description": "Partial success is normal: the two good items become tasks and the third is reported per-item rather than failing the batch.", "request": { "jsonrpc": "2.0", "id": 12, "method": "download.addBatch", "params": { "items": [ { "url": "https://example.org/a.zip" }, { "url": "https://example.org/b.zip" }, { "url": "https://example.org/c.zip", "saveDir": "/etc" } ], "defaults": { "url": "https://example.org/", "categoryId": "programs", "startMode": "queue", "queueId": "main" } } }, "response": { "jsonrpc": "2.0", "id": 12, "result": { "taskIds": [ "$uuid", "$uuid" ], "failed": [ { "index": 2, "code": -32011, "message": "destination is outside the allowed roots" } ] } }, "assertions": [ "defaults fill only fields an item left unset; the defaults' own url is ignored", "one rejected item never rolls back the accepted ones", "failed[].index refers to params.items, so the caller can map it back to its own list" ] }