| url | Request URL (absolute, or relative when baseURL is set). | yes | — |
| method | HTTP method. | — | GET |
| baseURL | Base URL prepended to url. | no | — |
| body | Request body. Sent as-is; a JSON string is not re-encoded. | no | — |
| query | Query parameters as a JSON object string, e.g. '{"page":"1"}'. | no | — |
| headers | Extra request headers as a JSON object string. | no | — |
| contentType | Content-Type for the request body. | — | application/json |
| timeout | Request timeout in milliseconds. | no | — |
| retry | Number of retry attempts on failure. | no | — |
| retryDelay | Delay between retries in milliseconds. | no | — |
| retryStatusCodes | Comma-separated status codes that trigger a retry, e.g. "429,500,503". | no | — |
| responseType | Force response parsing as "json" or "text". Auto-detected when unset. | no | — |
| ignoreResponseError | Do not fail on non-2xx responses (also skips status-based retry). | — | false |
| bearerToken | Bearer token without the "Bearer " prefix. Sent as the Authorization header. | no | — |
| username | Username for Basic authentication. | no | — |
| password | Password for Basic authentication. | no | — |
| files | JSON map of field name to a file path or array of paths, sent as multipart/form-data, e.g. '{"report":["a.html","b.json"]}'. | no | — |
| file | Path to a single file sent as application/octet-stream. | no | — |
| responseFile | Persist the response body to this file path. | no | — |
| maskResponse | Mask the response value in logs. | — | false |
| ignoreStatusCodes | Comma-separated status codes treated as success (no failure). | no | — |
| preventFailureOnNoResponse | Do not fail when no response is received (network error). | — | false |