@callback execute(url :: binary(), query :: keyword(), opts :: keyword()) :: {:ok, %{status: pos_integer(), headers: keyword(), body: any(), client_opts: any()}} | {:error, any()}