def METHOD_NAME(self, auth: Authentication, request: DecodeRequest) -> DecodeRequestResult:
    request_json: str = json.dumps(asdict(request))
    params = {
        "auth": json.dumps(asdict(auth)),
        "request": request_json,
    }
    response = requests.get(f"{self.base_url}/api/decode?{urllib.parse.urlencode(params)}").json()
    RemoteService._check_response(response, request_json)
    return from_dict(DecodeRequestResult, response)