DeathJack2.0 DeathJack2.0 - 3 years ago 256
JSON Question

Request body has invalid json format - Python

I'm trying to post JSON data (RESTful API) using python.

null = none
payload = {
"priority": 1,
"hello_id": 207,
"bye_id": 207,
"s1": 1,
"s2": 2,
"sub": "CHECK 123",
"t1": "Leave",
"product_id": null,
"due": "2001-01-01T06:11:54.884Z",
"tags": [

headers = {'content-type': 'application/json'}
r =, data=json.dumps(payload), headers=headers)
r =, json = json.dumps(payload_post), headers=headers)
r =, data = payload_post, headers=headers, auth=(username_accadmin, password_accadmin))
r =, json=payload, headers=headers)

None of the above 3 lines seems to yield the expected response (or) the response that I get in Postman.

In the response I get :
"Validation failed","errors":[{"field":"priority","message":"Unexpected/invalid field in request","code":"invalid_field"}]

Why is the data wrong even when I convert the dict() to JSON using dumps() method?

NOTE : If all the fields in the payload were string, the data is posted as expected.

Answer Source

data should be a dict or list, not a string (which the dumps) returns.

r =, json=payload, headers=headers)

See the documentation. Also, you should use None instead of null in your payload.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download