static void Main(string[] args) { if (args.Length < 3) { PrintUsage(); return; } string accessToken = RetrieveAccessToken(); using (HttpClient httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.ExpectContinue = false; httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "*/*"); httpClient.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "httpclient/c#"); httpClient.DefaultRequestHeaders.Add("Authorization", String.Format("Bearer {0}", accessToken ?? String.Empty)); httpClient.BaseAddress = new Uri("https://www.dropcatch.com/"); var request = new BackorderRequest() { routingCode = args[1], domains = args.Skip(2).ToList() }; string data = JsonConvert.SerializeObject(request); var content = new StringContent(data, Encoding.UTF8, "application/json"); HttpResponseMessage result = null; if (args[0] == "backorder") { result = httpClient.PostAsync("/api/BackorderDomainsApi/BackOrderDomains", content).Result; } else if (args[0] == "cancel") { result = httpClient.PostAsync("/api/BackorderDomainsApi/CancelBackOrders", content).Result; } else { throw new Exception("Invalid command. Expecting 'backorder' or 'cancel'"); } string resultContent = result.Content.ReadAsStringAsync().Result; Console.WriteLine(resultContent); } }