/
Send requests with C#
Send requests with C#
Introduction
After authorizing API requests as required and setting up a C# environment, you can use the script below to send API requests using C#:
using System.Security.Cryptography; using System.Text; namespace Devo { class Program { public void callDevoAPI() { String key = "YOUR-DEVO-API-KEY-GOES-HERE"; String secret = "YOUR-DEVO-API-SECRET-GOES-HERE"; String cloud = "us"; String query = "from box.unix select *"; String body = "" + "{\"from\": \"2h\", " + "\"to\": \"now\", " + "\"query\":\"" + query + "\"," + "\"limit\": 10, " + "\"mode\": { \"type\":\"csv\"}}"; var httpclient = new HttpClient(); httpclient.Timeout = TimeSpan.FromMinutes(9999); String queryEndpoint = "https://apiv2-" + cloud + ".devo.com/search/query"; var webRequest = new HttpRequestMessage(HttpMethod.Post, queryEndpoint) { Content = new StringContent(body, Encoding.UTF8, "application/json") }; String unixTimestamp = (DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalMilliseconds.ToString(); unixTimestamp = unixTimestamp.Substring(0, unixTimestamp.IndexOf(".")); String data = key + body + unixTimestamp; byte[] byteArrayData = Encoding.UTF8.GetBytes(data); byte[] byteArraySecret = Encoding.UTF8.GetBytes(secret); var hash = new HMACSHA256(byteArraySecret); byte[] byteSigned = hash.ComputeHash(byteArrayData); var hexString = BitConverter.ToString(byteSigned); String sign = hexString.Replace("-", "").ToLower(); httpclient.DefaultRequestHeaders.Add("x-logtrust-apikey", key); httpclient.DefaultRequestHeaders.Add("x-logtrust-timestamp", unixTimestamp); httpclient.DefaultRequestHeaders.Add("x-logtrust-sign", sign); try { var response = httpclient.Send(webRequest); Console.WriteLine(response.Content.ReadAsStringAsync().Result); } catch (Exception ex) { Console.WriteLine("Exception occured: " + ex.Message); } } public static void Main(string[] args) { Program p = new Program(); p.callDevoAPI(); } } }
Parameters
Replace the following parameters in the script using your own information:
key | Enter the API key of your Devo domain. To get it, access Devo and go to Administration → Credentials → Access Keys. Learn more in this article. |
---|---|
secret | Enter the API secret of your Devo domain. To get it, access Devo and go to Administration → Credentials → Access Keys. Learn more in this article. |
cloud | Specify the Devo cloud of your domain. The available options are us , eu , es , ca and saas |
query | Enter the query you want to run. |
body | Specify the body of your requests, following the format of the script above. |
, multiple selections available,