How do I send a POST request containing JSON data using cURL?
I have tried the following request:
curl -X POST \ -d '{"user_id": 1, "verified": true}' \ https://example.com/api/method
However, this returns an HTTP 415 Unsupported Media Type
error.
Most web endpoints that accept JSON data will expect to receive requests with the Content-Type: application/json
header. By default, cURL adds the header Content-Type: application/x-www-form-urlencoded
when data is provided with a request. Therefore, we need to manually specify this header in our cURL request using the -H/--header
flag:
curl -X POST \ -H "Content-Type: application/json" \ -d '{"user_id": 1, "verified": true}' \ https://example.com/api/method
More information about cURL can be found by perusing its manual page, which is accessible on the cURL website or through the command man curl
.