Schema
The schema defines all the fields that exist within a post record. Any response from these endpoints can be expected to contain the fields below unless the `_filter` query parameter is used or the schema field only appears in a specific context.
date
|
The date the post was published, in the site's timezone.
JSON data type: string or null, Context: |
date_gmt
|
The date the post was published, as GMT.
JSON data type: string or null, Context: |
guid
|
The globally unique identifier for the post.
JSON data type: object Read only Context: |
id
|
Unique identifier for the post.
JSON data type: integer Read only Context: |
link
|
URL to the post.
JSON data type: string, Read only Context: |
modified
|
The date the post was last modified, in the site's timezone.
JSON data type: string, Read only Context: |
modified_gmt
|
The date the post was last modified, as GMT.
JSON data type: string, Read only Context: |
slug
|
An alphanumeric identifier for the post unique to its type.
JSON data type: string Context: |
status
|
A named status for the post.
JSON data type: string Context: One of: |
type
|
Type of post.
JSON data type: string Read only Context: |
password
|
A password to protect access to the content and excerpt.
JSON data type: string Context: |
permalink_template
|
Permalink template for the post.
JSON data type: string Read only Context: |
generated_slug
|
Slug automatically generated from the post title.
JSON data type: string Read only Context: |
title
|
The title for the post.
JSON data type: object Context: |
content
|
The content for the post.
JSON data type: object Context: |
author
|
The ID for the author of the post.
JSON data type: integer Context: |
excerpt
|
The excerpt for the post.
JSON data type: object Context: |
featured_media
|
The ID of the featured media for the post.
JSON data type: integer Context: |
comment_status
|
Whether or not comments are open on the post.
JSON data type: string Context: One of: |
ping_status
|
Whether or not the post can be pinged.
JSON data type: string Context: One of: |
format
|
The format for the post.
JSON data type: string Context: One of: |
meta
|
Meta fields.
JSON data type: object Context: |
sticky
|
Whether or not the post should be treated as sticky.
JSON data type: boolean Context: |
template
|
The theme file to use to display the post.
JSON data type: string Context: |
categories
|
The terms assigned to the post in the category taxonomy.
JSON data type: array Context: |
tags
|
The terms assigned to the post in the post_tag taxonomy.
JSON data type: array Context: |
List Posts
Query this endpoint to retrieve a collection of posts. The response you receive can be controlled and filtered using the URL query parameters below.
Definition
GET /wp/v2/posts
Example Request
$ curl https://example.com/wp-json/wp/v2/posts
Arguments
context
|
Scope under which the request is made; determines fields present in response.
Default: One of: |
page
|
Current page of the collection.
Default: |
per_page
|
Maximum number of items to be returned in result set.
Default: |
search
|
Limit results to those matching a string. |
after
|
Limit response to posts published after a given ISO8601 compliant date. |
modified_after
|
Limit response to posts modified after a given ISO8601 compliant date. |
author
|
Limit result set to posts assigned to specific authors. |
author_exclude
|
Ensure result set excludes posts assigned to specific authors. |
before
|
Limit response to posts published before a given ISO8601 compliant date. |
modified_before
|
Limit response to posts modified before a given ISO8601 compliant date. |
exclude
|
Ensure result set excludes specific IDs. |
include
|
Limit result set to specific IDs. |
offset
|
Offset the result set by a specific number of items. |
order
|
Order sort attribute ascending or descending.
Default: One of: |
orderby
|
Sort collection by post attribute.
Default: One of: |
search_columns
|
Array of column names to be searched. |
slug
|
Limit result set to posts with one or more specific slugs. |
status
|
Limit result set to posts assigned one or more statuses.
Default: |
tax_relation
|
Limit result set based on relationship between multiple taxonomies. One of: AND , OR
|
categories
|
Limit result set to items with specific terms assigned in the categories taxonomy. |
categories_exclude
|
Limit result set to items except those with specific terms assigned in the categories taxonomy. |
tags
|
Limit result set to items with specific terms assigned in the tags taxonomy. |
tags_exclude
|
Limit result set to items except those with specific terms assigned in the tags taxonomy. |
sticky
|
Limit result set to items that are sticky. |
Create a Post
Arguments
date
|
The date the post was published, in the site's timezone. |
date_gmt
|
The date the post was published, as GMT. |
slug
|
An alphanumeric identifier for the post unique to its type. |
status
|
A named status for the post. One of: publish , future , draft , pending , private
|
password
|
A password to protect access to the content and excerpt. |
title
|
The title for the post. |
content
|
The content for the post. |
author
|
The ID for the author of the post. |
excerpt
|
The excerpt for the post. |
featured_media
|
The ID of the featured media for the post. |
comment_status
|
Whether or not comments are open on the post. One of: open , closed
|
ping_status
|
Whether or not the post can be pinged. One of: open , closed
|
format
|
The format for the post. One of: standard , aside , chat , gallery , link , image , quote , status , video , audio
|
meta
|
Meta fields. |
sticky
|
Whether or not the post should be treated as sticky. |
template
|
The theme file to use to display the post. |
categories
|
The terms assigned to the post in the category taxonomy. |
tags
|
The terms assigned to the post in the post_tag taxonomy. |
Definition
POST /wp/v2/posts
Retrieve a Post
Definition & Example Request
GET /wp/v2/posts/<id>
Query this endpoint to retrieve a specific post record.
$ curl https://example.com/wp-json/wp/v2/posts/<id>
Arguments
id
|
Unique identifier for the post. |
context
|
Scope under which the request is made; determines fields present in response.
Default: One of: |
password
|
The password for the post if it is password protected. |
Update a Post
Arguments
id
|
Unique identifier for the post. |
date
|
The date the post was published, in the site's timezone. |
date_gmt
|
The date the post was published, as GMT. |
slug
|
An alphanumeric identifier for the post unique to its type. |
status
|
A named status for the post. One of: publish , future , draft , pending , private
|
password
|
A password to protect access to the content and excerpt. |
title
|
The title for the post. |
content
|
The content for the post. |
author
|
The ID for the author of the post. |
excerpt
|
The excerpt for the post. |
featured_media
|
The ID of the featured media for the post. |
comment_status
|
Whether or not comments are open on the post. One of: open , closed
|
ping_status
|
Whether or not the post can be pinged. One of: open , closed
|
format
|
The format for the post. One of: standard , aside , chat , gallery , link , image , quote , status , video , audio
|
meta
|
Meta fields. |
sticky
|
Whether or not the post should be treated as sticky. |
template
|
The theme file to use to display the post. |
categories
|
The terms assigned to the post in the category taxonomy. |
tags
|
The terms assigned to the post in the post_tag taxonomy. |
Definition
POST /wp/v2/posts/<id>
Example Request
$ curl -X POST https://example.com/wp-json/wp/v2/posts/<id> -d '{"title":"My New Title"}'
Delete a Post
Arguments
id
|
Unique identifier for the post. |
force
|
Whether to bypass Trash and force deletion. |
Definition
DELETE /wp/v2/posts/<id>
Example Request
$ curl -X DELETE https://example.com/wp-json/wp/v2/posts/<id>