Overview of WordPress REST API Commands - SkillBakery Studios


Post Top Ad

Post Top Ad

Thursday, December 17, 2020

Overview of WordPress REST API Commands

 Once you’ve accessed your site and you know how to use authentication (and indeed whether you need to), you’ll need to use one of a range of commands to interact with your site.

The commands you’ll need to use are:

  • GET retrieves a resource such as a post or some other data.
  • POST adds a resource to the server, such as a post, attachment or another resource.
  • PUT can be used to edit or update a resource that’s already on the server.
  • DELETE removes a resource from the server. Use it with care!

Let’s take a look at each of these in turn.


The GET command is probably the most commonly used: it retrieves data. The example below (which you use once you’ve successfully accessed your site) would fetch a list of all published pages in your site:

GET http://yoursite.com/wp-json/wp/v2/posts/?status=published

Note that I haven’t included the full path to your site in the line above as you’ve already accessed that using WP-CLI.

Having retrieved that data, you can use it to inform your next step. You might delete one of those posts, edit it, or update it. You could simply output posts to your web app.

Let’s say you wanted to fetch the latest post. You’d use this:

GET http://yoursite.com/wp-json/wp/v2/posts/?per_page=1

There are a number of arguments you can use when working with posts. See the WordPress REST API Handbook for more.


Use POST to add new data or resources to your site.

So, for example, if you wanted to create a post, you would start by using a POST command:

POST http://yoursite.com/wp-json/wp/v2/posts/

This would create a new empty draft post.

You can then update the post by using a PUT command to edit it.

With a POST command, you can also add other resources other than posts, including attachments and other post types.

To add a page to your site, you might use something like this:

POST http://yoursite.com/wp-json/wp/v2/posts/pages

This would create an empty page in just the same way as you would create an empty post.


The PUT command lets you edit an existing resource, including posts.

Let’s say you have a number of draft posts on your site. You want to check them and update one to make it published.

You could start by fetching a list of all the draft posts:

POST http://yoursite.com/wp-json/wp/v2/posts/?status="draft"

The system will give you a list of all current draft posts. You can change the status of one of them using its ID:

PUT http://yoursite.com/wp-json/wp/v2/posts/567

This accesses that post and allows you to edit it. You can then change its status using the status argument:

"status" = "publish"

Or you could add content to the post and publish it:

"status" = "publish"
"content" = "content here"

The server will return a 200 - OK status telling you the PUT request has successfully edited the post.


The DELETE command does what you would expect: it deletes a resource. By default, if you use it to delete a post it will put it in the trash instead of permanently deleting it.

So if you wanted to move the post you just created to the trash, you would use this:

DELETE http://yoursite.com/wp-json/wp/v2/posts/567

However, if you wanted to bypass the trash and delete it permanently, you would use the force argument:

DELETE http://yoursite.com/wp-json/wp/v2/posts/567?force=true

This permanently deletes the post with no option to undo, so it should be used with caution.

No comments:

Post a Comment

Post Top Ad