title: Passing values to a PUT JSON Request in C#
body: <p>I am working with an API and trying to do a JSON PUT request within C#. This is the code I am using:</p>
  
  <pre><code>    public static bool SendAnSMSMessage()
      {
          var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://apiURL");
          httpWebRequest.ContentType = "text/json";
          httpWebRequest.Method = "PUT";
  
          using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
          {
              string json = **// Need to put data here to pass to the API.**
  
              streamWriter.Write(json);
          }
          var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
          using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
          {
              var responseText = streamReader.ReadToEnd();
              //Now you have your response.
              //or false depending on information in the response
              return true;
          }
      }
  </code></pre>
  
  <p>The problem is I can't figure out how to pass the data to the API. So like in JavaScript I would do something like this to pass the data:</p>
  
  <pre><code>        type: 'PUT',
          data: { 'reg_FirstName': 'Bob',
                  'reg_LastName': 'The Guy',
                  'reg_Phone': '123-342-1211',
                  'reg_Email': 'someemail@emai.com',
                  'reg_Company': 'None',
                  'reg_Address1': 'Some place Dr',
                  'reg_Address2': '',
                  'reg_City': 'Mars',
                  'reg_State': 'GA',
                  'reg_Zip': '12121',
                  'reg_Country': 'United States'
  </code></pre>
  
  <p>How would I go about doing the same in C#? Thanks!</p>