Sentry Answers>Bash>

POST JSON data using cURL

POST JSON data using cURL

David Y.

The Problem

How do I send a POST request containing JSON data using cURL?

I have tried the following request:

Click to Copy
curl -X POST \ -d '{"user_id": 1, "verified": true}' \ https://example.com/api/method

However, this returns an HTTP 415 Unsupported Media Type error.

The Solution

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:

Click to Copy
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.

  • Syntax.fmListen to the Syntax Podcast (opens in a new tab)
  • ResourcesWhat is Distributed Tracing (opens in a new tab)
  • Syntax.fm logo
    Listen to the Syntax Podcast (opens in a new tab)

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.