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.com
The -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/1
In 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/1
In 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