title: Sendgrid/python - json could not be unmarshalled
body: <p>This python3 code returns an error:</p>
  
  <pre><code>import json
  import requests
  
  # Perform a Single Send 
  
  headers = {
      "authorization": "Bearer &lt;my-API-key&gt;",
      "content-type": "application/json"
  }
  
  data = {
      "name": "Test Blast",
      "send_to": {
          "segment_ids": ["&lt;a-segment-id&gt;"],
          "all": False
      },
      "email_config": {
          "subject": "Test Blast",
          "html_content": "&lt;h1&gt;My Message&lt;/h1&gt;&lt;p&gt;Is a very simple one.&lt;/p&gt;",
          "generate_plain_content": True
      }
  }
  
  url = "https://api.sendgrid.com/v3/marketing/singlesends"
  res = requests.post(url, headers=headers, data=json.dumps(payload))
  print((res.status_code, res.text))
  </code></pre>
  
  <p>and the response is</p>
  
  <pre><code>(400, '{"errors":[{"field":"name","message":"cannot be empty string"}]}')
  </code></pre>
  
  <p>which isn't overly informative.  Running the same data (with the python booleans changed to true/false) with the 'Try it out' interface on <a href="https://sendgrid.com/docs/api-reference/" rel="nofollow noreferrer">https://sendgrid.com/docs/api-reference/</a>
  gives the error response of</p>
  
  <pre><code>{
      "errors": [
          {
              "field": "",
              "message": "json could not be unmarshalled"
          }
      ]
  </code></pre>
  
  <p>Any clues to what is wrong, or what is missing?</p>