{ "name": "download.probe \u2014 the server answered 403", "description": "data.httpStatus is what lets the GUI say 'the link has expired' instead of 'probe failed'.", "request": { "jsonrpc": "2.0", "id": 107, "method": "download.probe", "params": { "url": "https://releases.ubuntu.com/26.04/ubuntu-26.04-desktop-amd64.iso?token=expired" } }, "response": { "jsonrpc": "2.0", "id": 107, "error": { "code": -32013, "message": "probe failed: HTTP 403", "data": { "httpStatus": 403 } } }, "assertions": [ "data.httpStatus is present whenever there was an HTTP response at all", "a DNS or connection failure returns -32013 with httpStatus null", "no task is created by a failed probe", "not replayable against a mock: exercised in tests/integration against tools/testserver" ], "requires": "an origin server that answers 403" }