How to make a PATCH request using curl
For more information about curl, checkout the “What is curl” article. This article will discuss how to interact with an API using PATCH requests through curl.
Make a simple PATCH request
The basic syntax for sending a PATCH request using curl is:
1curl -X PATCH https://example.comThe -X argument accepts an HTTP method for interacting with the server. For HTTP, valid values include: GET (default), POST, PUT, DELETE, etc.
NOTE: The -X flag is a shorthand for --request. Either can be used.
Make a PATCH request with data
Users can send data along with a PATCH request.
1curl -X PATCH -d "title=bar&body=foo" \
2 https://jsonplaceholder.typicode.com/posts/1In the example above, a PATCH request is sent to the JSONPlaceholder API to update an existing post (1) with a title of bar and a body of foo.
The default Content-Type is application/x-www-form-urlencoded.
NOTE: The -d flag is a shorthand for --data. Either can be used.
Make a PATCH request with JSON body
Users may optionally send JSON data in their request payloads.
Making a PATCH request with JSON
1curl -X PATCH \
2 -H 'Content-Type: application/json' \
3 -d '{"title":"bar","body":"foo"}' \
4 https://jsonplaceholder.typicode.com/posts/1In the example above, a PATCH request is sent to the JSONPlaceholder API to update an existing post (1) with a title of bar and a body of foo.
The -H flag accepts a Key: value string that represents a header. In the above case, it sets the content type: Content-Type: application/json.
NOTE: The -H flag is a shorthand for --header. Either can be used.
Making a PATCH request with a JSON file
In addition to text, the -d parameter accepts a file using the syntax @filename.
If a file is named post.json
1{
2 "title": "bar",
3 "body": "foo"
4}then curl can pass on its contents:
1curl -X PATCH \
2 -H 'Content-Type: application/json' \
3 -d @post.json \
4 https://jsonplaceholder.typicode.com/posts/1