/
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.



Related content

Send requests with Postman
Send requests with Postman
More like this
Running queries with the Query API
Running queries with the Query API
More like this
Send requests with Postman
Send requests with Postman
More like this
Query API requests
Query API requests
More like this
Query API
Query API
More like this
Forward response to email
Forward response to email
More like this