These routes allow you to retrieve/delete revisions of posts.
Possible routes (endpoints are described below):
/wp/v2/posts/{parent}/revisions // retrieves revisions of the post specified in {parent}
/wp/v2/posts/{parent}/revisions/{ID} // retrieves the revision of the post specified in {ID}
Controller class: WP_REST_Revisions_Controller{}
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
author number
view, edit, embed
ID of the object author.
date string
view, edit, embed
Publication date of the object, according to the site's timezone.
date_gmt string
view, edit
Publication time of the object, in GMT.
guid object
view, edit
Global unique identifier for the object.
id number
view, edit, embed
Unique identifier for the object.
modified string
view, edit
Date of the last modification of the object, according to the site's timezone.
modified_gmt string
view, edit
Date of the last modification of the object, in GMT.
parent number
view, edit, embed
ID of the parent object.
slug string
view, edit, embed
Alphanumeric identifier for the object unique to its type.
title object
view, edit, embed
Title for the object.
content object
view, edit
Content of the object.
excerpt object
view, edit, embed
Excerpt of the object.
wp/v2/posts/{parent}/revisions
An OPTIONS request to the route will return a complete description of this route: endpoints, their parameters, schema.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts/{parent}/revisions
GitHub
{
"namespace": "wp/v2",
"methods": [
"GET"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"parent": {
"required": false,
"description": "ID родителя объекта.",
"type": "integer"
},
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки в которых сделан запрос, определяют поля в ответе.",
"type": "string"
}
}
}
],
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "post-revision",
"type": "object",
"properties": {
"author": {
"description": "ID автора объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"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"
]
},
"modified": {
"description": "Дата последнего изменения объекта, по временной зоне сайта.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"modified_gmt": {
"description": "Дата последнего изменения объекта, в GMT.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"parent": {
"description": "ID родителя объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"slug": {
"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
]
},
"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
}
}
},
"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
}
}
}
}
}
}
List of post revisions
The algorithm is similar to the function wp_get_post_revisions() .
Request type
Access: public
GET /wp/v2/posts/{parent}/revisions
Request parameters
parent(number)
ID of the post whose revisions need to be retrieved. Specified in the route.
context(string)
The context in which the request is made; determines the fields present in the response.
Must be: view, embed, edit
Default: view
Example request
$ curl http://demo.wp-api.org/wp-json/wp/v2/posts/72/revisions
[
{
"author": 1,
"date": "2018-08-03T22:11:48",
"date_gmt": "2018-08-03T22:11:48",
"id": 97,
"modified": "2018-08-03T22:11:48",
"modified_gmt": "2018-08-03T22:11:48",
"parent": 72,
"slug": "72-revision-v1",
"guid": {
"rendered": "http://example.com/72-revision-v1/"
},
"title": {
"rendered": "Post Title"
},
"content": {
"rendered": "post content"
},
"excerpt": {
"rendered": ""
},
"_links": {
"parent": [
{
"href": "http://example.com/wp-json/wp/v2/posts/72"
}
]
}
},
{ ... },
{ ... },
]
wp/v2/posts/{parent}/revisions/{id}
An OPTIONS request to the route will return a complete description of this route: endpoints, their parameters, schema.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts/{parent}/revisions/{id}
GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"DELETE"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"parent": {
"required": false,
"description": "ID родителя объекта.",
"type": "integer"
},
"id": {
"required": false,
"description": "Уникальный идентификатор для объекта.",
"type": "integer"
},
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки в которых сделан запрос, определяют поля в ответе.",
"type": "string"
}
}
},
{
"methods": [
"DELETE"
],
"args": {
"parent": {
"required": false,
"description": "ID родителя объекта.",
"type": "integer"
},
"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-revision",
"type": "object",
"properties": {
"author": {
"description": "ID автора объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"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"
]
},
"modified": {
"description": "Дата последнего изменения объекта, по временной зоне сайта.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"modified_gmt": {
"description": "Дата последнего изменения объекта, в GMT.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"parent": {
"description": "ID родителя объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"slug": {
"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
]
},
"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
}
}
},
"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
}
}
}
}
}
}
Retrieving a single post revision
The algorithm is similar to the function get_post() .
Request type
Access: public
GET /wp/v2/posts/{parent}/revisions/{id}
Request parameters
parent(number)
ID of the post whose revision needs to be retrieved. Specified in the route.
id(number)
ID of the revision. Specified in the route.
context(string)
The context in which the request is made; determines the fields present in the response.
Must be: view, embed, edit
Default: view
Example request
$ curl http://example.com/wp-json/wp/v2/posts/72/revisions/97
{
"author": 1,
"date": "2018-08-03T22:11:48",
"date_gmt": "2018-08-03T22:11:48",
"id": 97,
"modified": "2018-08-03T22:11:48",
"modified_gmt": "2018-08-03T22:11:48",
"parent": 72,
"slug": "72-revision-v1",
"guid": {
"rendered": "http://example.com/72-revision-v1/"
},
"title": {
"rendered": "Post Title"
},
"content": {
"rendered": "post content"
},
"excerpt": {
"rendered": ""
},
"_links": {
"parent": [
{
"href": "http://example.com/wp-json/wp/v2/posts/72"
}
]
}
}
Deleting a post revision
The algorithm is similar to the function wp_delete_post_revision() .
Request type
Access: authorization required
DELETE /wp/v2/posts/{parent}/revisions/{id}
Request parameters
parent(number)
ID of the post whose revision needs to be deleted. Specified in the route.
id(number)
ID of the revision. Specified in the route.
force
Must always be true, as revisions do not support trash.
Default: false
Example request
$ curl -X DELETE http://example.com/wp-json/wp/v2/posts/72/revisions/97
Error: force=true parameter not specified:
{
"code": "rest_trash_not_supported",
"message": "Revisions cannot be moved to trash. Set 'force=true' to delete.",
"data": {
"status": 501
}
}
Specify the required parameter:
$ curl -X DELETE http://example.com/wp-json/wp/v2/posts/72/revisions/97?force=true
{
"deleted": true,
"previous": {
"author": 1,
"date": "2018-08-03T22:11:48",
"date_gmt": "2018-08-03T22:11:48",
"id": 97,
"modified": "2018-08-03T22:11:48",
"modified_gmt": "2018-08-03T22:11:48",
"parent": 72,
"slug": "72-revision-v1",
"guid": {
"rendered": "http://example.com/72-revision-v1/"
},
"title": {
"rendered": "Post Title"
},
"content": {
"rendered": "revision content"
},
"excerpt": {
"rendered": ""
}
}
}