Test an Arr connection during setup
const url = 'https://example.com/api/v1/setup/test-connection';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"type":"radarr","url":"example","apiKey":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/setup/test-connection \ --header 'Content-Type: application/json' \ --data '{ "type": "radarr", "url": "example", "apiKey": "example" }'Validates Arr connection credentials without persisting an instance.
This endpoint performs no writes. It is rate-limited per client IP and rejects metadata/link-local URLs before attempting a connection, so it cannot be used as an SSRF or port-scan oracle.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Target Arr application type
Arr base URL
Arr API key
Responses
Section titled “Responses”Connection test result
object
Arr application name, present on success
Arr application version, present on success
Sanitized failure reason, present on failure
Example
{ "reason": "unreachable"}Missing/invalid type, url, or apiKey, or an unsafe URL
object
Arr application name, present on success
Arr application version, present on success
Sanitized failure reason, present on failure
Example
{ "reason": "unreachable"}Setup has already been completed or dismissed
Connection test attempts are rate-limited
object
Arr application name, present on success
Arr application version, present on success
Sanitized failure reason, present on failure
Example
{ "reason": "unreachable"}Connection attempt failed unexpectedly
object
Arr application name, present on success
Arr application version, present on success
Sanitized failure reason, present on failure
Example
{ "reason": "unreachable"}