Posts

These routes allow you to retrieve/create/update/delete posts or a single post.

See also the global parameter _fields.

Possible routes (endpoints are described below):

/wp/v2/posts       // works with all posts
/wp/v2/posts/{ID}  // works with the specified post instead of {ID}

Controller class:

Resource schema

The schema shows all fields that exist for the post object: the fields of the object that the request will return.

Parameter Context Description
date
string
view, edit, embed The publication date of the post in the site's timezone.
date_gmt
string/datetime
view, edit The publication date of the post, as GMT.
guid
object
view, edit Global unique identifier of the post.
Read-only.
id
number
view, edit, embed Unique identifier of the post.
Read-only.
link
string
view, edit, embed Link to the post.
Read-only.
modified
string
view, edit The date of the last modification of the post in the site's timezone.
Read-only.
modified_gmt
string
view, edit The date of the last modification of the post, as GMT.
Read-only.
slug
string
view, edit, embed Alphanumeric identifier of the post, unique to its type. Also called a slug.
status
string
view, edit The status of the post.
Can be publish, future, draft, pending, private.
type
string
view, edit, embed The type of the post.
Read-only.
password
string
edit Password to protect access to the content and excerpt.
title
object
view, edit, embed The title of the post.
content
object
view, edit The content of the post.
author
number
view, edit, embed Identifier (ID) of the post's author.
excerpt
object
view, edit, embed The excerpt of the post.
featured_media
number
view, edit, embed Identifier (ID) of the post's thumbnail (image).
comment_status
string
view, edit Whether comments can be left on the post or not.
Can be open or closed.
ping_status
string
view, edit The status of pings/trackbacks, can be open or closed.
format
string
view, edit The format of the post.
Can be: standard, aside, chat, gallery, link, image, quote, status, video, audio.
meta
array
view, edit Values of meta-fields.
An array of objects.
sticky
true/false
view, edit Whether the post is sticky or not.
template
string
view, edit The theme file used to display the post.
categories
array
view, edit An array of category IDs that the post belongs to.
tags
array
view, edit An array of tag IDs that the post belongs to.

wp/v2/posts

An OPTIONS request to the route will return a full description of this route: endpoints, their parameters, schema.

$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts
GitHub
{
	"namespace": "wp/v2",
	"methods": [
		"GET",
		"POST",
		"PUT",
		"PATCH",
		"DELETE"
	],
	"endpoints": [
		{
			"methods": [
				"GET"
			],
			"args": {
				"id": {
					"required": false,
					"description": "Уникальный идентификатор для объекта.",
					"type": "integer"
				},
				"context": {
					"required": false,
					"default": "view",
					"enum": [
						"view",
						"embed",
						"edit"
					],
					"description": "Рамки в которых сделан запрос, определяют поля в ответе.",
					"type": "string"
				},
				"password": {
					"required": false,
					"description": "Пароль для записи, если она защищена паролем.",
					"type": "string"
				}
			}
		},
		{
			"methods": [
				"POST",
				"PUT",
				"PATCH"
			],
			"args": {
				"id": {
					"required": false,
					"description": "Уникальный идентификатор для объекта.",
					"type": "integer"
				},
				"date": {
					"required": false,
					"description": "Дата публикации объекта, по временной зоне сайта.",
					"type": "string"
				},
				"date_gmt": {
					"required": false,
					"description": "Время публикации объекта, по GMT.",
					"type": "string"
				},
				"slug": {
					"required": false,
					"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
					"type": "string"
				},
				"status": {
					"required": false,
					"enum": [
						"publish",
						"future",
						"draft",
						"pending",
						"private"
					],
					"description": "Именованный статус для объекта.",
					"type": "string"
				},
				"password": {
					"required": false,
					"description": "Пароль для защиты содержания и отрывка.",
					"type": "string"
				},
				"title": {
					"required": false,
					"description": "Название для объекта.",
					"type": "object"
				},
				"content": {
					"required": false,
					"description": "Содержимое объекта.",
					"type": "object"
				},
				"author": {
					"required": false,
					"description": "ID автора объекта.",
					"type": "integer"
				},
				"excerpt": {
					"required": false,
					"description": "Отрывок объекта.",
					"type": "object"
				},
				"featured_media": {
					"required": false,
					"description": "ID избранного медиа для объекта.",
					"type": "integer"
				},
				"comment_status": {
					"required": false,
					"enum": [
						"open",
						"closed"
					],
					"description": "Открыты ли комментарии для объекта.",
					"type": "string"
				},
				"ping_status": {
					"required": false,
					"enum": [
						"open",
						"closed"
					],
					"description": "Принимает ли объект уведомления.",
					"type": "string"
				},
				"format": {
					"required": false,
					"enum": [
						"standard",
						"aside",
						"chat",
						"gallery",
						"link",
						"image",
						"quote",
						"status",
						"video",
						"audio"
					],
					"description": "Формат для объекта.",
					"type": "string"
				},
				"meta": {
					"required": false,
					"description": "Мета поля.",
					"type": "object"
				},
				"sticky": {
					"required": false,
					"description": "Считать ли объект прилепленным или нет.",
					"type": "boolean"
				},
				"template": {
					"required": false,
					"description": "Файл темы используемый для показа объекта.",
					"type": "string"
				},
				"categories": {
					"required": false,
					"description": "Элементы назначенные объекту в таксономии category.",
					"type": "array",
					"items": {
						"type": "integer"
					}
				},
				"tags": {
					"required": false,
					"description": "Элементы назначенные объекту в таксономии post_tag.",
					"type": "array",
					"items": {
						"type": "integer"
					}
				}
			}
		},
		{
			"methods": [
				"DELETE"
			],
			"args": {
				"id": {
					"required": false,
					"description": "Уникальный идентификатор для объекта.",
					"type": "integer"
				},
				"force": {
					"required": false,
					"default": false,
					"description": "Игнорировать ли перемещение в корзину и принудительно удалять.",
					"type": "boolean"
				}
			}
		}
	],
	"schema": {
		"$schema": "http://json-schema.org/draft-04/schema#",
		"title": "post",
		"type": "object",
		"properties": {
			"date": {
				"description": "Дата публикации объекта, по временной зоне сайта.",
				"type": "string",
				"format": "date-time",
				"context": [
					"view",
					"edit",
					"embed"
				]
			},
			"date_gmt": {
				"description": "Время публикации объекта, по GMT.",
				"type": "string",
				"format": "date-time",
				"context": [
					"view",
					"edit"
				]
			},
			"guid": {
				"description": "Глобальный уникальный идентификатор для объекта.",
				"type": "object",
				"context": [
					"view",
					"edit"
				],
				"readonly": true,
				"properties": {
					"raw": {
						"description": "GUID для объекта, как он существует в базе данных.",
						"type": "string",
						"context": [
							"edit"
						],
						"readonly": true
					},
					"rendered": {
						"description": "GUID для объекта, преобразованный для показа.",
						"type": "string",
						"context": [
							"view",
							"edit"
						],
						"readonly": true
					}
				}
			},
			"id": {
				"description": "Уникальный идентификатор для объекта.",
				"type": "integer",
				"context": [
					"view",
					"edit",
					"embed"
				],
				"readonly": true
			},
			"link": {
				"description": "URL объекта.",
				"type": "string",
				"format": "uri",
				"context": [
					"view",
					"edit",
					"embed"
				],
				"readonly": true
			},
			"modified": {
				"description": "Дата последнего изменения объекта, по временной зоне сайта.",
				"type": "string",
				"format": "date-time",
				"context": [
					"view",
					"edit"
				],
				"readonly": true
			},
			"modified_gmt": {
				"description": "Дата последнего изменения объекта, в GMT.",
				"type": "string",
				"format": "date-time",
				"context": [
					"view",
					"edit"
				],
				"readonly": true
			},
			"slug": {
				"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
				"type": "string",
				"context": [
					"view",
					"edit",
					"embed"
				]
			},
			"status": {
				"description": "Именованный статус для объекта.",
				"type": "string",
				"enum": [
					"publish",
					"future",
					"draft",
					"pending",
					"private"
				],
				"context": [
					"view",
					"edit"
				]
			},
			"type": {
				"description": "Тип записи для объекта.",
				"type": "string",
				"context": [
					"view",
					"edit",
					"embed"
				],
				"readonly": true
			},
			"password": {
				"description": "Пароль для защиты содержания и отрывка.",
				"type": "string",
				"context": [
					"edit"
				]
			},
			"title": {
				"description": "Название для объекта.",
				"type": "object",
				"context": [
					"view",
					"edit",
					"embed"
				],
				"properties": {
					"raw": {
						"description": "Название объекта как оно существует в базе данных.",
						"type": "string",
						"context": [
							"edit"
						]
					},
					"rendered": {
						"description": "HTML название объекта, преобразованное для показа.",
						"type": "string",
						"context": [
							"view",
							"edit",
							"embed"
						],
						"readonly": true
					}
				}
			},
			"content": {
				"description": "Содержимое объекта.",
				"type": "object",
				"context": [
					"view",
					"edit"
				],
				"properties": {
					"raw": {
						"description": "Содержимое объекта как оно существует в базе данных.",
						"type": "string",
						"context": [
							"edit"
						]
					},
					"rendered": {
						"description": "HTML содержимое объекта преобразованное для показа.",
						"type": "string",
						"context": [
							"view",
							"edit"
						],
						"readonly": true
					},
					"protected": {
						"description": "Защищено ли содержимое паролем.",
						"type": "boolean",
						"context": [
							"view",
							"edit",
							"embed"
						],
						"readonly": true
					}
				}
			},
			"author": {
				"description": "ID автора объекта.",
				"type": "integer",
				"context": [
					"view",
					"edit",
					"embed"
				]
			},
			"excerpt": {
				"description": "Отрывок объекта.",
				"type": "object",
				"context": [
					"view",
					"edit",
					"embed"
				],
				"properties": {
					"raw": {
						"description": "Отрывок объекта как он существует в базе данных.",
						"type": "string",
						"context": [
							"edit"
						]
					},
					"rendered": {
						"description": "HTML отрывок объекта, преобразованный для показа.",
						"type": "string",
						"context": [
							"view",
							"edit",
							"embed"
						],
						"readonly": true
					},
					"protected": {
						"description": "Защищать ли паролем отрывок.",
						"type": "boolean",
						"context": [
							"view",
							"edit",
							"embed"
						],
						"readonly": true
					}
				}
			},
			"featured_media": {
				"description": "ID избранного медиа для объекта.",
				"type": "integer",
				"context": [
					"view",
					"edit",
					"embed"
				]
			},
			"comment_status": {
				"description": "Открыты ли комментарии для объекта.",
				"type": "string",
				"enum": [
					"open",
					"closed"
				],
				"context": [
					"view",
					"edit"
				]
			},
			"ping_status": {
				"description": "Принимает ли объект уведомления.",
				"type": "string",
				"enum": [
					"open",
					"closed"
				],
				"context": [
					"view",
					"edit"
				]
			},
			"format": {
				"description": "Формат для объекта.",
				"type": "string",
				"enum": [
					"standard",
					"aside",
					"chat",
					"gallery",
					"link",
					"image",
					"quote",
					"status",
					"video",
					"audio"
				],
				"context": [
					"view",
					"edit"
				]
			},
			"meta": {
				"description": "Мета поля.",
				"type": "object",
				"context": [
					"view",
					"edit"
				],
				"properties": []
			},
			"sticky": {
				"description": "Считать ли объект прилепленным или нет.",
				"type": "boolean",
				"context": [
					"view",
					"edit"
				]
			},
			"template": {
				"description": "Файл темы используемый для показа объекта.",
				"type": "string",
				"context": [
					"view",
					"edit"
				]
			},
			"categories": {
				"description": "Элементы назначенные объекту в таксономии category.",
				"type": "array",
				"items": {
					"type": "integer"
				},
				"context": [
					"view",
					"edit"
				]
			},
			"tags": {
				"description": "Элементы назначенные объекту в таксономии post_tag.",
				"type": "array",
				"items": {
					"type": "integer"
				},
				"context": [
					"view",
					"edit"
				]
			}
		},
		"links": [
			{
				"rel": "https://api.w.org/action-publish",
				"title": "Текущий пользователь может опубликовать эту запись.",
				"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
				"targetSchema": {
					"type": "object",
					"properties": {
						"status": {
							"type": "string",
							"enum": [
								"publish",
								"future"
							]
						}
					}
				}
			},
			{
				"rel": "https://api.w.org/action-sticky",
				"title": "Текущий пользователь может сделать эту запись прикрепленной.",
				"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
				"targetSchema": {
					"type": "object",
					"properties": {
						"sticky": {
							"type": "boolean"
						}
					}
				}
			},
			{
				"rel": "https://api.w.org/action-assign-author",
				"title": "Текущий пользователь может сменить автора для этой записи.",
				"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
				"targetSchema": {
					"type": "object",
					"properties": {
						"author": {
							"type": "integer"
						}
					}
				}
			},
			{
				"rel": "https://api.w.org/action-assign-categories",
				"title": "Текущий пользователь может назначать элементы в таксономии category.",
				"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
				"targetSchema": {
					"type": "object",
					"properties": {
						"categories": {
							"type": "array",
							"items": {
								"type": "integer"
							}
						}
					}
				}
			},
			{
				"rel": "https://api.w.org/action-create-categories",
				"title": "Текущий пользователь может создавать элементы в таксономии category.",
				"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
				"targetSchema": {
					"type": "object",
					"properties": {
						"categories": {
							"type": "array",
							"items": {
								"type": "integer"
							}
						}
					}
				}
			},
			{
				"rel": "https://api.w.org/action-assign-tags",
				"title": "Текущий пользователь может назначать элементы в таксономии post_tag.",
				"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
				"targetSchema": {
					"type": "object",
					"properties": {
						"tags": {
							"type": "array",
							"items": {
								"type": "integer"
							}
						}
					}
				}
			},
			{
				"rel": "https://api.w.org/action-create-tags",
				"title": "Текущий пользователь может создавать элементы в таксономии post_tag.",
				"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
				"targetSchema": {
					"type": "object",
					"properties": {
						"tags": {
							"type": "array",
							"items": {
								"type": "integer"
							}
						}
					}
				}
			}
		]
	}
}

List of posts

You can retrieve a collection of posts based on certain conditions with one request. The algorithm is similar to the operation of the WP_Query class and functions based on it.

Request type

Access: public

GET /wp/v2/posts

Request parameters

context
The context in which the request is made; defines the fields present in the response. Can be view, embed, edit.
Default: view
page
The page of the collection (pagination).
Default: 1
per_page
The maximum number of posts in the resulting set.
Default: 10 (from 1 to 100 inclusive)
search
Limit the response to posts by a string (search phrase).
after
Limit the response to posts published after a specified date, corresponding to ISO8601.
before
Limit the response to posts published before a specified date, corresponding to ISO8601.
author
Specifies which authors' posts to return.
author_exclude
Specifies which authors' posts not to return.
exclude
Excludes posts from the set by their IDs.
include
Includes posts in the set by their IDs. Only those posts whose IDs are specified will be present in the set.
offset
Offset the result set by the specified number.
Default: 1
order
Sorting of posts in the selection. Can be asc or desc.
Default: desc
orderby
Sorting of posts in the selection by attributes. Can be author, date, id, include, modified, parent, relevance, slug, title.
Default: date
slug
Limit the selection to the specified single post slug or multiple slugs.
status
Limit the selection to a single status or multiple statuses.
Default: publish
categories
Limit the selection to the specified category or categories.
categories_exclude:
Excludes from the selection posts belonging to the specified category or categories.
tags
Limit the selection to the specified tag or tags.
tags_exclude:
Excludes from the selection posts belonging to the specified tag or tags.
sticky
The selection will consist only of "sticky" posts.

Example request

The links are functional, you can open them in a browser and see the result.

1) Request to retrieve an array of all posts:

https://demo.wp-api.org/wp-json/wp/v2/posts/

An array of objects will be returned, where each post object is similar to what is described in the "Get post" section:

[
	{
	... post data <id> ...
	},
	{
	... post data <id> ...
	},
	{
	... post data <id> ...
	}
]

2) Will return posts whose author has ID=1

https://demo.wp-api.org/wp-json/wp/v2/posts/?author=1

3) Will return posts whose author has ID=1 and that belong to the category with ID=11

https://demo.wp-api.org/wp-json/wp/v2/posts/?author=1&categories=11

Creating a post

The algorithm is similar to the operation of the wp_insert_post().

Request type

Access: authorization required

POST /wp/v2/posts

Request parameters

date(string)
The publication date of the post in the site's timezone.
date_gmt(string/datetime)
The publication date of the post, as GMT.
slug(string)
Alphanumeric identifier of the post, unique to its type. Also called a slug.
status(string)
The status of the post. Can be publish, future, draft, pending, private.
password(string)
Password to protect access to the content and excerpt.
title(object)
The title of the post.
content(object)
The content of the post.
author(number)
Identifier (ID) of the post's author.
excerpt(object)
The excerpt of the post.
featured_media(number)
Identifier (ID) of the post's thumbnail (image).
comment_status(string)
Whether comments can be left on the post or not. Can be open or closed.
ping_status(string)
The status of pings/trackbacks, can be open or closed.
format(string)
The status of the post. Can be: standard, aside, chat, gallery, link, image, quote, status, video, audio.
meta(array)
Values of meta-fields. An array of objects.
sticky(boolean)
Whether the post is sticky or not.
template(string)
The theme file used to display the post.
categories(array)
An array of category IDs that the post belongs to.
tags(array)
An array of tag IDs that the post belongs to.

Example request

POST http://example.com/wp-json/wp/v2/posts/?title=Title&slug=my-post&status=publish

wp/v2/posts/{id}

An OPTIONS request to the route will return a full description of this route: endpoints, their parameters, schema.

$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts/1
GitHub
{
    "namespace": "wp/v2",
    "methods": [
        "GET",
        "POST",
        "PUT",
        "PATCH",
        "DELETE"
    ],
    "endpoints": [
        {
            "methods": [
                "GET"
            ],
            "args": {
                "id": {
                    "required": false,
                    "description": "Уникальный идентификатор для объекта.",
                    "type": "integer"
                },
                "context": {
                    "required": false,
                    "default": "view",
                    "enum": [
                        "view",
                        "embed",
                        "edit"
                    ],
                    "description": "Рамки в которых сделан запрос, определяют поля в ответе.",
                    "type": "string"
                },
                "password": {
                    "required": false,
                    "description": "Пароль для записи, если она защищена паролем.",
                    "type": "string"
                }
            }
        },
        {
            "methods": [
                "POST",
                "PUT",
                "PATCH"
            ],
            "args": {
                "id": {
                    "required": false,
                    "description": "Уникальный идентификатор для объекта.",
                    "type": "integer"
                },
                "date": {
                    "required": false,
                    "description": "Дата публикации объекта, по временной зоне сайта.",
                    "type": "string"
                },
                "date_gmt": {
                    "required": false,
                    "description": "Время публикации объекта, по GMT.",
                    "type": "string"
                },
                "slug": {
                    "required": false,
                    "description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
                    "type": "string"
                },
                "status": {
                    "required": false,
                    "enum": [
                        "publish",
                        "future",
                        "draft",
                        "pending",
                        "private"
                    ],
                    "description": "Именованный статус для объекта.",
                    "type": "string"
                },
                "password": {
                    "required": false,
                    "description": "Пароль для защиты содержания и отрывка.",
                    "type": "string"
                },
                "title": {
                    "required": false,
                    "description": "Название для объекта.",
                    "type": "object"
                },
                "content": {
                    "required": false,
                    "description": "Содержимое объекта.",
                    "type": "object"
                },
                "author": {
                    "required": false,
                    "description": "ID автора объекта.",
                    "type": "integer"
                },
                "excerpt": {
                    "required": false,
                    "description": "Отрывок объекта.",
                    "type": "object"
                },
                "featured_media": {
                    "required": false,
                    "description": "ID избранного медиа для объекта.",
                    "type": "integer"
                },
                "comment_status": {
                    "required": false,
                    "enum": [
                        "open",
                        "closed"
                    ],
                    "description": "Открыты ли комментарии для объекта.",
                    "type": "string"
                },
                "ping_status": {
                    "required": false,
                    "enum": [
                        "open",
                        "closed"
                    ],
                    "description": "Принимает ли объект уведомления.",
                    "type": "string"
                },
                "format": {
                    "required": false,
                    "enum": [
                        "standard",
                        "aside",
                        "chat",
                        "gallery",
                        "link",
                        "image",
                        "quote",
                        "status",
                        "video",
                        "audio"
                    ],
                    "description": "Формат для объекта.",
                    "type": "string"
                },
                "meta": {
                    "required": false,
                    "description": "Мета поля.",
                    "type": "object"
                },
                "sticky": {
                    "required": false,
                    "description": "Считать ли объект прилепленным или нет.",
                    "type": "boolean"
                },
                "template": {
                    "required": false,
                    "description": "Файл темы используемый для показа объекта.",
                    "type": "string"
                },
                "categories": {
                    "required": false,
                    "description": "Элементы назначенные объекту в таксономии category.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "tags": {
                    "required": false,
                    "description": "Элементы назначенные объекту в таксономии post_tag.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        {
            "methods": [
                "DELETE"
            ],
            "args": {
                "id": {
                    "required": false,
                    "description": "Уникальный идентификатор для объекта.",
                    "type": "integer"
                },
                "force": {
                    "required": false,
                    "default": false,
                    "description": "Игнорировать ли перемещение в корзину и принудительно удалять.",
                    "type": "boolean"
                }
            }
        }
    ],
    "schema": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "title": "post",
        "type": "object",
        "properties": {
            "date": {
                "description": "Дата публикации объекта, по временной зоне сайта.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "date_gmt": {
                "description": "Время публикации объекта, по GMT.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "guid": {
                "description": "Глобальный уникальный идентификатор для объекта.",
                "type": "object",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true,
                "properties": {
                    "raw": {
                        "description": "GUID для объекта, как он существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ],
                        "readonly": true
                    },
                    "rendered": {
                        "description": "GUID для объекта, преобразованный для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit"
                        ],
                        "readonly": true
                    }
                }
            },
            "id": {
                "description": "Уникальный идентификатор для объекта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "link": {
                "description": "URL объекта.",
                "type": "string",
                "format": "uri",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "modified": {
                "description": "Дата последнего изменения объекта, по временной зоне сайта.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "modified_gmt": {
                "description": "Дата последнего изменения объекта, в GMT.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "slug": {
                "description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "status": {
                "description": "Именованный статус для объекта.",
                "type": "string",
                "enum": [
                    "publish",
                    "future",
                    "draft",
                    "pending",
                    "private"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "type": {
                "description": "Тип записи для объекта.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "password": {
                "description": "Пароль для защиты содержания и отрывка.",
                "type": "string",
                "context": [
                    "edit"
                ]
            },
            "title": {
                "description": "Название для объекта.",
                "type": "object",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "properties": {
                    "raw": {
                        "description": "Название объекта как оно существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ]
                    },
                    "rendered": {
                        "description": "HTML название объекта, преобразованное для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit",
                            "embed"
                        ],
                        "readonly": true
                    }
                }
            },
            "content": {
                "description": "Содержимое объекта.",
                "type": "object",
                "context": [
                    "view",
                    "edit"
                ],
                "properties": {
                    "raw": {
                        "description": "Содержимое объекта как оно существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ]
                    },
                    "rendered": {
                        "description": "HTML содержимое объекта преобразованное для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit"
                        ],
                        "readonly": true
                    },
                    "protected": {
                        "description": "Защищено ли содержимое паролем.",
                        "type": "boolean",
                        "context": [
                            "view",
                            "edit",
                            "embed"
                        ],
                        "readonly": true
                    }
                }
            },
            "author": {
                "description": "ID автора объекта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "excerpt": {
                "description": "Отрывок объекта.",
                "type": "object",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "properties": {
                    "raw": {
                        "description": "Отрывок объекта как он существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ]
                    },
                    "rendered": {
                        "description": "HTML отрывок объекта, преобразованный для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit",
                            "embed"
                        ],
                        "readonly": true
                    },
                    "protected": {
                        "description": "Защищать ли паролем отрывок.",
                        "type": "boolean",
                        "context": [
                            "view",
                            "edit",
                            "embed"
                        ],
                        "readonly": true
                    }
                }
            },
            "featured_media": {
                "description": "ID избранного медиа для объекта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "comment_status": {
                "description": "Открыты ли комментарии для объекта.",
                "type": "string",
                "enum": [
                    "open",
                    "closed"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "ping_status": {
                "description": "Принимает ли объект уведомления.",
                "type": "string",
                "enum": [
                    "open",
                    "closed"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "format": {
                "description": "Формат для объекта.",
                "type": "string",
                "enum": [
                    "standard",
                    "aside",
                    "chat",
                    "gallery",
                    "link",
                    "image",
                    "quote",
                    "status",
                    "video",
                    "audio"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "meta": {
                "description": "Мета поля.",
                "type": "object",
                "context": [
                    "view",
                    "edit"
                ],
                "properties": []
            },
            "sticky": {
                "description": "Считать ли объект прилепленным или нет.",
                "type": "boolean",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "template": {
                "description": "Файл темы используемый для показа объекта.",
                "type": "string",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "categories": {
                "description": "Элементы назначенные объекту в таксономии category.",
                "type": "array",
                "items": {
                    "type": "integer"
                },
                "context": [
                    "view",
                    "edit"
                ]
            },
            "tags": {
                "description": "Элементы назначенные объекту в таксономии post_tag.",
                "type": "array",
                "items": {
                    "type": "integer"
                },
                "context": [
                    "view",
                    "edit"
                ]
            }
        },
        "links": [
            {
                "rel": "https://api.w.org/action-publish",
                "title": "Текущий пользователь может опубликовать эту запись.",
                "href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
                "targetSchema": {
                    "type": "object",
                    "properties": {
                        "status": {
                            "type": "string",
                            "enum": [
                                "publish",
                                "future"
                            ]
                        }
                    }
                }
            },
            {
                "rel": "https://api.w.org/action-sticky",
                "title": "Текущий пользователь может сделать эту запись прикрепленной.",
                "href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
                "targetSchema": {
                    "type": "object",
                    "properties": {
                        "sticky": {
                            "type": "boolean"
                        }
                    }
                }
            },
            {
                "rel": "https://api.w.org/action-assign-author",
                "title": "Текущий пользователь может сменить автора для этой записи.",
                "href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
                "targetSchema": {
                    "type": "object",
                    "properties": {
                        "author": {
                            "type": "integer"
                        }
                    }
                }
            },
            {
                "rel": "https://api.w.org/action-assign-categories",
                "title": "Текущий пользователь может назначать элементы в таксономии category.",
                "href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
                "targetSchema": {
                    "type": "object",
                    "properties": {
                        "categories": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                }
            },
            {
                "rel": "https://api.w.org/action-create-categories",
                "title": "Текущий пользователь может создавать элементы в таксономии category.",
                "href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
                "targetSchema": {
                    "type": "object",
                    "properties": {
                        "categories": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                }
            },
            {
                "rel": "https://api.w.org/action-assign-tags",
                "title": "Текущий пользователь может назначать элементы в таксономии post_tag.",
                "href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
                "targetSchema": {
                    "type": "object",
                    "properties": {
                        "tags": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                }
            },
            {
                "rel": "https://api.w.org/action-create-tags",
                "title": "Текущий пользователь может создавать элементы в таксономии post_tag.",
                "href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
                "targetSchema": {
                    "type": "object",
                    "properties": {
                        "tags": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                }
            }
        ]
    }
}

Getting a post

The algorithm is similar to the operation of the get_post().

Request type

Access: public

GET /wp/v2/posts/{id}

Request parameters

id (required)
Unique identifier of the post
context
The context in which the request is made; defines the fields present in the response. Can be view, embed, edit.
Default: view
password
Password to access the protected post.

Example request

$ curl http://demo.wp-api.org/wp-json/wp/v2/posts/{id}

Example request for the post object with ID=1:

https://demo.wp-api.org/wp-json/wp/v2/posts/1

Response:

{
   "id":1,
   "date":"2017-05-23T06:25:50",
   "date_gmt":"2017-05-23T06:25:50",
   "guid":{
	  "rendered":"http://demo.wp-api.org/?p=1"
   },
   "modified":"2017-05-23T06:25:50",
   "modified_gmt":"2017-05-23T06:25:50",
   "slug":"hello-world",
   "status":"publish",
   "type":"post",
   "link":"https://demo.wp-api.org/2017/05/23/hello-world/",
   "title":{
	  "rendered":"Hello world!"
   },
   "content":{
	  "rendered":"<p>Welcome to <a href=\"http://wp-api.org/\">WP API Demo Sites</a>. This is your first post. Edit or delete it, then start blogging!</p>\n",
	  "protected":false
   },
   "excerpt":{
	  "rendered":"<p>Welcome to WP API Demo Sites. This is your first post. Edit or delete it, then start blogging!</p>\n",
	  "protected":false
   },
   "author":1,
   "featured_media":0,
   "comment_status":"open",
   "ping_status":"open",
   "sticky":false,
   "template":"",
   "format":"standard",
   "meta":[

   ],
   "categories":[
	  1
   ],
   "tags":[

   ],
   "_links":{
	  "self":[
		 {
			"href":"https://demo.wp-api.org/wp-json/wp/v2/posts/1"
		 }
	  ],
	  "collection":[
		 {
			"href":"https://demo.wp-api.org/wp-json/wp/v2/posts"
		 }
	  ],
	  "about":[
		 {
			"href":"https://demo.wp-api.org/wp-json/wp/v2/types/post"
		 }
	  ],
	  "author":[
		 {
			"embeddable":true,
			"href":"https://demo.wp-api.org/wp-json/wp/v2/users/1"
		 }
	  ],
	  "replies":[
		 {
			"embeddable":true,
			"href":"https://demo.wp-api.org/wp-json/wp/v2/comments?post=1"
		 }
	  ],
	  "version-history":[
		 {
			"href":"https://demo.wp-api.org/wp-json/wp/v2/posts/1/revisions"
		 }
	  ],
	  "wp:attachment":[
		 {
			"href":"https://demo.wp-api.org/wp-json/wp/v2/media?parent=1"
		 }
	  ],
	  "wp:term":[
		 {
			"taxonomy":"category",
			"embeddable":true,
			"href":"https://demo.wp-api.org/wp-json/wp/v2/categories?post=1"
		 },
		 {
			"taxonomy":"post_tag",
			"embeddable":true,
			"href":"https://demo.wp-api.org/wp-json/wp/v2/tags?post=1"
		 }
	  ],
	  "curies":[
		 {
			"name":"wp",
			"href":"https://api.w.org/{rel}",
			"templated":true
		 }
	  ]
   }
}

Updating a post

The algorithm is similar to the operation of the wp_update_post().

Request type

Access: authorization required

POST|PUT|PATCH /wp/v2/posts/{id}

Request parameters

id(required)
Unique identifier of the post to be updated.
Other parameters
Exactly match the parameters in the "Creating a post" section.

Example request

$ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/posts/123 -d '{"title":"My New Title"}'

Deleting a post

The algorithm is similar to the operation of the wp_delete_post().

Request type

Access: authorization required

DELETE /wp/v2/posts/{id}

Request parameters

id(required)
Unique identifier of the post to be deleted.
force(boolean)
Delete bypassing the trash, if it is enabled. true - force delete permanently.
Default: false

Example request

Deleting post 25:

$ curl -X DELETE http://demo.wp-api.org/wp-json/wp/v2/posts/25

Deleting the meta-field of post 25:
To do this, set the value of the meta-field to an empty string and make a post request:

$ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/posts/25 -d '{"my_metakey":""}'