/// <summary>
        /// GetEnvelopeStatus fetches envelope status
        /// </summary>
        /// <param name="date"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public string GetEnvelopeStatus(string date, from_to_status status)
        {
            string url       = Url;
            string baseURL   = "";      // we will retrieve this
            string accountId = "";      // will retrieve



            //
            // STEP 1 - Login
            //
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Headers.Add("X-DocuSign-Authentication", authenticateStr);
                request.Accept = "application/xml";
                request.Method = "GET";
                HttpWebResponse webResponse  = (HttpWebResponse)request.GetResponse();
                StreamReader    sr           = new StreamReader(webResponse.GetResponseStream());
                string          responseText = sr.ReadToEnd();
                using (XmlReader reader = XmlReader.Create(new StringReader(responseText)))
                {
                    while (reader.Read())
                    {   // Parse the xml response body
                        if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "accountId"))
                        {
                            accountId = reader.ReadString();
                        }
                        if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "baseUrl"))
                        {
                            baseURL = reader.ReadString();
                        }
                    }
                }

                //--- display results
                Console.WriteLine("accountId = " + accountId + "\nbaseUrl = " + baseURL);

                //
                // STEP 2 - Get Envelope Status(es)
                //

                // Append "/envelopes" and query string to baseUrl and use in the request
                request = (HttpWebRequest)WebRequest.Create(baseURL + "/envelopes?from_date=" + date + "&from_to_status=" + status);
                request.Headers.Add("X-DocuSign-Authentication", authenticateStr);
                request.Accept = "application/xml";
                request.Method = "GET";
                // read the response
                webResponse = (HttpWebResponse)request.GetResponse();
                sr.Close();
                responseText = "";
                sr           = new StreamReader(webResponse.GetResponseStream());
                responseText = sr.ReadToEnd();

                return(responseText);
            }
            catch (WebException e)
            {
                using (WebResponse response = e.Response)
                {
                    HttpWebResponse httpResponse = (HttpWebResponse)response;
                    errorMessage = "Error code:: " + httpResponse.StatusCode;
                    using (Stream data = response.GetResponseStream())
                    {
                        string text = new StreamReader(data).ReadToEnd();
                        errorMessage += text;
                    }
                }
                return(errorMessage);
            }
        }
        /// <summary>
        /// GetEnvelopeStatus fetches envelope status
        /// </summary>
        /// <param name="date"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public string GetEnvelopeStatus(string date,from_to_status status)
        {
            string url = Url;
            string baseURL = "";	// we will retrieve this
            string accountId = "";	// will retrieve

            //
            // STEP 1 - Login
            //
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Headers.Add("X-DocuSign-Authentication", authenticateStr);
                request.Accept = "application/xml";
                request.Method = "GET";
                HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse();
                StreamReader sr = new StreamReader(webResponse.GetResponseStream());
                string responseText = sr.ReadToEnd();
                using (XmlReader reader = XmlReader.Create(new StringReader(responseText)))
                {
                    while (reader.Read())
                    {	// Parse the xml response body
                        if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "accountId"))
                            accountId = reader.ReadString();
                        if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "baseUrl"))
                            baseURL = reader.ReadString();
                    }
                }

                //--- display results
                Console.WriteLine("accountId = " + accountId + "\nbaseUrl = " + baseURL);

                //
                // STEP 2 - Get Envelope Status(es)
                //

                // Append "/envelopes" and query string to baseUrl and use in the request
                request = (HttpWebRequest)WebRequest.Create(baseURL + "/envelopes?from_date=" + date + "&from_to_status=" + status);
                request.Headers.Add("X-DocuSign-Authentication", authenticateStr);
                request.Accept = "application/xml";
                request.Method = "GET";
                // read the response
                webResponse = (HttpWebResponse)request.GetResponse();
                sr.Close();
                responseText = "";
                sr = new StreamReader(webResponse.GetResponseStream());
                responseText = sr.ReadToEnd();

                return responseText;
            }
            catch (WebException e)
            {
                using (WebResponse response = e.Response)
                {
                    HttpWebResponse httpResponse = (HttpWebResponse)response;
                    errorMessage = "Error code:: " + httpResponse.StatusCode;
                    using (Stream data = response.GetResponseStream())
                    {
                        string text = new StreamReader(data).ReadToEnd();
                        errorMessage += text;
                    }
                }
                return errorMessage;
            }
        }