diff --git a/.gitignore b/.gitignore
index df59e63..85f7a90 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 # Ignore Composer files
+.idea/
 vendor/
diff --git a/README.md b/README.md
index 9a4ff1e..b0a15a7 100644
--- a/README.md
+++ b/README.md
@@ -7,3 +7,13 @@ This repo contains the source for [documentation for the API](https://developer.
 When creating new files, these must be added to the manifest. Run `bin/generate-manifest.php` to update this.
 
 Removing files also requires regenerating the manifest. After deletion and sync with DevHub, the page also needs to be manually deleted from DevHub.
+
+## Refreshing the Templated API Reference
+
+The reference section is created by parsing the output of a site's schema as retrieved from that site's REST API index route. The current method used to generate this approach is as follows:
+
+- Create a local WordPress environment (always use the current or Release Candidate version of WordPress) using the local environment tool of your choice.
+- Edit `/etc/hosts` to map the domain `example.com` to the IP of that WordPress instance, and ensure the site is configured to run at `example.com`.
+- Run `composer install` in this project's root directory to install dependencies. 
+- Run `composer run-script regenerate` in this project's root directory to run the asset regeneration script.
+- Use `git status` and `git diff` to validate that the files were updated as expected.
diff --git a/bin/manifest.json b/bin/manifest.json
index e847a9a..29727c4 100644
--- a/bin/manifest.json
+++ b/bin/manifest.json
@@ -9,11 +9,26 @@
         "parent": null,
         "markdown_source": "https://github.com/WP-API/docs/blob/master/extending-the-rest-api.md"
     },
+    "frequently-asked-questions": {
+        "slug": "frequently-asked-questions",
+        "parent": null,
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/frequently-asked-questions.md"
+    },
+    "glossary": {
+        "slug": "glossary",
+        "parent": null,
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/glossary.md"
+    },
     "index": {
         "slug": "index",
         "parent": null,
         "markdown_source": "https://github.com/WP-API/docs/blob/master/index.md"
     },
+    "key-concepts": {
+        "slug": "key-concepts",
+        "parent": null,
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/key-concepts.md"
+    },
     "reference": {
         "slug": "reference",
         "parent": null,
@@ -44,11 +59,6 @@
         "parent": "extending-the-rest-api",
         "markdown_source": "https://github.com/WP-API/docs/blob/master/extending-the-rest-api/controller-classes.md"
     },
-    "extending-the-rest-api/glossary": {
-        "slug": "glossary",
-        "parent": "extending-the-rest-api",
-        "markdown_source": "https://github.com/WP-API/docs/blob/master/extending-the-rest-api/glossary.md"
-    },
     "extending-the-rest-api/modifying-responses": {
         "slug": "modifying-responses",
         "parent": "extending-the-rest-api",
@@ -64,6 +74,41 @@
         "parent": "extending-the-rest-api",
         "markdown_source": "https://github.com/WP-API/docs/blob/master/extending-the-rest-api/schema.md"
     },
+    "reference/application-passwords": {
+        "slug": "application-passwords",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/application-passwords.md"
+    },
+    "reference/block-directory-items": {
+        "slug": "block-directory-items",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/block-directory-items.md"
+    },
+    "reference/block-pattern-categories": {
+        "slug": "block-pattern-categories",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/block-pattern-categories.md"
+    },
+    "reference/block-patterns": {
+        "slug": "block-patterns",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/block-patterns.md"
+    },
+    "reference/block-revisions": {
+        "slug": "block-revisions",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/block-revisions.md"
+    },
+    "reference/block-types": {
+        "slug": "block-types",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/block-types.md"
+    },
+    "reference/blocks": {
+        "slug": "blocks",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/blocks.md"
+    },
     "reference/categories": {
         "slug": "categories",
         "parent": "reference",
@@ -79,6 +124,26 @@
         "parent": "reference",
         "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/media.md"
     },
+    "reference/menu-locations": {
+        "slug": "menu-locations",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/menu-locations.md"
+    },
+    "reference/nav_menu_item-revisions": {
+        "slug": "nav_menu_item-revisions",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/nav_menu_item-revisions.md"
+    },
+    "reference/nav_menu_items": {
+        "slug": "nav_menu_items",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/nav_menu_items.md"
+    },
+    "reference/nav_menus": {
+        "slug": "nav_menus",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/nav_menus.md"
+    },
     "reference/page-revisions": {
         "slug": "page-revisions",
         "parent": "reference",
@@ -89,6 +154,16 @@
         "parent": "reference",
         "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/pages.md"
     },
+    "reference/pattern-directory-items": {
+        "slug": "pattern-directory-items",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/pattern-directory-items.md"
+    },
+    "reference/plugins": {
+        "slug": "plugins",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/plugins.md"
+    },
     "reference/post-revisions": {
         "slug": "post-revisions",
         "parent": "reference",
@@ -124,6 +199,11 @@
         "parent": "reference",
         "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/settings.md"
     },
+    "reference/sidebars": {
+        "slug": "sidebars",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/sidebars.md"
+    },
     "reference/tags": {
         "slug": "tags",
         "parent": "reference",
@@ -144,15 +224,55 @@
         "parent": "reference",
         "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/users.md"
     },
-    "reference/wp_block-revisions": {
-        "slug": "wp_block-revisions",
+    "reference/widget-types": {
+        "slug": "widget-types",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/widget-types.md"
+    },
+    "reference/widgets": {
+        "slug": "widgets",
         "parent": "reference",
-        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp_block-revisions.md"
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/widgets.md"
     },
-    "reference/wp_blocks": {
-        "slug": "wp_blocks",
+    "reference/wp-site-health-tests": {
+        "slug": "wp-site-health-tests",
         "parent": "reference",
-        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp_blocks.md"
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp-site-health-tests.md"
+    },
+    "reference/wp_global_styles": {
+        "slug": "wp_global_styles",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp_global_styles.md"
+    },
+    "reference/wp_navigation-revisions": {
+        "slug": "wp_navigation-revisions",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp_navigation-revisions.md"
+    },
+    "reference/wp_navigations": {
+        "slug": "wp_navigations",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp_navigations.md"
+    },
+    "reference/wp_template-revisions": {
+        "slug": "wp_template-revisions",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp_template-revisions.md"
+    },
+    "reference/wp_template_part-revisions": {
+        "slug": "wp_template_part-revisions",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp_template_part-revisions.md"
+    },
+    "reference/wp_template_parts": {
+        "slug": "wp_template_parts",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp_template_parts.md"
+    },
+    "reference/wp_templates": {
+        "slug": "wp_templates",
+        "parent": "reference",
+        "markdown_source": "https://github.com/WP-API/docs/blob/master/reference/wp_templates.md"
     },
     "using-the-rest-api/authentication": {
         "slug": "authentication",
@@ -174,11 +294,6 @@
         "parent": "using-the-rest-api",
         "markdown_source": "https://github.com/WP-API/docs/blob/master/using-the-rest-api/discovery.md"
     },
-    "using-the-rest-api/frequently-asked-questions": {
-        "slug": "frequently-asked-questions",
-        "parent": "using-the-rest-api",
-        "markdown_source": "https://github.com/WP-API/docs/blob/master/using-the-rest-api/frequently-asked-questions.md"
-    },
     "using-the-rest-api/global-parameters": {
         "slug": "global-parameters",
         "parent": "using-the-rest-api",
diff --git a/bin/regenerate.php b/bin/regenerate.php
index 84c234b..98a4367 100755
--- a/bin/regenerate.php
+++ b/bin/regenerate.php
@@ -1,8 +1,18 @@
 #!/usr/bin/env php
 <?php
 
+namespace WPAPI\Docs\Regenerate;
+
+use Twig;
+use WpOrg\Requests\Requests;
+
 require dirname( __DIR__ ) . '/vendor/autoload.php';
 
+// This assumes you have a local WP VM running the latest stable WP, mapped to
+// use the domain name example.com using /etc/hosts. http://demo.wp-api.org is
+// also available, though may be outdated.
+const SITE_URL = 'http://example.com';
+
 function update_route( $route ) {
 	foreach ( $route['endpoints'] as &$endpoint ) {
 		if ( in_array( 'POST', $endpoint['methods'] ) ) {
@@ -23,10 +33,18 @@ function update_route( $route ) {
 	return $route;
 }
 
+/**
+ * Ingest a title string and ensure any kebab-casing or wp_-prefixing is removed.
+ */
+function cleanup_name( string $name ) : string {
+	return preg_replace( '/WP_/i', '', implode( ' ', explode( '-', $name ) ) );
+}
+
 function add_simple_schemas() {
 	$objects = [];
 
-	$response = Requests::get( 'http://demo.wp-api.org/wp-json/?context=help' );
+	$response = Requests::get( SITE_URL . '?rest_route=/&context=help' );
+
 	$parsed_data = json_decode( $response->body, true );
 
 	foreach ( $parsed_data['routes'] as $key => $route ) {
@@ -57,6 +75,18 @@ function add_simple_schemas() {
 				$plural = 'media';
 				break;
 
+			case 'rendered-block':
+				$key = 'rendered-blocks';
+				$title = 'Rendered Block';
+				$plural = 'Rendered Blocks';
+				break;
+
+			case 'settings':
+				$key = 'settings';
+				$title = 'Site Setting';
+				$plural = 'Site Settings';
+			break;
+
 			case 'status':
 				$plural = 'statuses';
 				$key = 'post-statuses';
@@ -65,11 +95,28 @@ function add_simple_schemas() {
 			case 'type':
 				$key = 'post-types';
 				break;
+
+			case 'wp_block':
+				$key = 'blocks';
+				$title = 'Editor Block';
+				$plural = 'Editor Blocks';
+				break;
+
+			case 'wp_block-revision':
+				$key = 'block-revisions';
+				$title = 'Block Revision';
+				$plural = 'Block Revisions';
+				break;
+
+			default:
+				// Fallback title cleaning logic, to remove kebab-casing, etcetera.
+				$title = cleanup_name( $title );
+				$plural = cleanup_name( $plural );
 		}
 
 		if ( ! isset( $objects[ $key ] ) ) {
 			$objects[ $key ] = [
-				'name' => $title,
+				'name'   => $title,
 				'plural' => $plural,
 				'routes' => [ $route_nicename => update_route( $route ) ],
 				'schema' => $route['schema'],
@@ -83,7 +130,7 @@ function add_simple_schemas() {
 }
 
 function add_terms_schema() {
-	$response = Requests::options( 'http://demo.wp-api.org/wp-json/wp/v2/terms/category' );
+	$response = Requests::options( SITE_URL . '?rest_route=/wp/v2/terms/category' );
 	$file = fopen( '_data/terms.json', 'w' );
 	$parsed_data = json_decode( $response->body );
 
@@ -98,12 +145,11 @@ function twig() {
 		return $twig;
 	}
 
-	$loader = new Twig_Loader_Filesystem( __DIR__ . '/templates' );
+	$loader = new Twig\Loader\FilesystemLoader( __DIR__ . '/templates' );
 
-	$twig = new Twig_Environment( $loader, array(
+	$twig = new Twig\Environment( $loader, [
 	    'cache' => false,
-	    // 'cache' => __DIR__ . '/cache',
-	) );
+	] );
 	return $twig;
 }
 
diff --git a/bin/templates/endpoint.md b/bin/templates/endpoint.md
index 71dd33c..b4afe76 100644
--- a/bin/templates/endpoint.md
+++ b/bin/templates/endpoint.md
@@ -1,17 +1,12 @@
 ---
 ---
 
-# {{ plural | capitalize }}
+# {{ plural | title }}
 
 <section class="route">
 	<div class="primary">
 		{{ include('reference-parts/schema.html') }}
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json{{ attribute( routes | first, 'nicename' ) }}</code>
-	</div>
 </section>
 
 <div>
diff --git a/bin/templates/reference-parts/create-item.html b/bin/templates/reference-parts/create-item.html
index e8b018e..d2f21b2 100644
--- a/bin/templates/reference-parts/create-item.html
+++ b/bin/templates/reference-parts/create-item.html
@@ -1,6 +1,6 @@
 <section class="route">
 	<div class="primary">
-		<h2>Create a {{ name | capitalize }}</h2>
+		<h2>Create a {{ name | title }}</h2>
 		{{ include( 'reference-parts/args-list.html', { args: endpoint.args, link: true } ) }}
 	</div>
 	<div class="secondary">
diff --git a/bin/templates/reference-parts/delete-item.html b/bin/templates/reference-parts/delete-item.html
index cc47b3c..b0d42b0 100644
--- a/bin/templates/reference-parts/delete-item.html
+++ b/bin/templates/reference-parts/delete-item.html
@@ -1,6 +1,6 @@
 <section class="route">
 	<div class="primary">
-		<h2>Delete a {{ name | capitalize }}</h2>
+		<h2>Delete a {{ name | title }}</h2>
 		{{ include( 'reference-parts/args-list.html', { args: endpoint.args } ) }}
 	</div>
 	<div class="secondary">
diff --git a/bin/templates/reference-parts/examples/update-comment-curl.html b/bin/templates/reference-parts/examples/update-comment-curl.html
new file mode 100644
index 0000000..5868f65
--- /dev/null
+++ b/bin/templates/reference-parts/examples/update-comment-curl.html
@@ -0,0 +1 @@
+$ curl -X POST https://example.com/wp-json{{ route.nicename }} -d '{"content":"My updated comment"}'
diff --git a/bin/templates/reference-parts/get-item.html b/bin/templates/reference-parts/get-item.html
index 34bb288..becaa58 100644
--- a/bin/templates/reference-parts/get-item.html
+++ b/bin/templates/reference-parts/get-item.html
@@ -1,15 +1,16 @@
 <section class="route">
 	<div class="primary">
-		<h2>Retrieve a {{ name | capitalize }}</h2>
-		{{ include( 'reference-parts/args-list.html', { args: endpoint.args, link: false } ) }}
-	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
+		<h2>Retrieve a {{ name | title }}</h2>
+
+		<h3>Definition & Example Request</h3>
 
 		<code>GET {{ route.nicename }}</code>
 
-		<h3>Example Request</h3>
+		<p>Query this endpoint to retrieve a specific {{ name }} record.</p>
 
 		<code>$ curl https://example.com/wp-json{{ route.nicename }}</code>
 	</div>
+	<div class="secondary">
+		{{ include( 'reference-parts/args-list.html', { args: endpoint.args, link: false } ) }}
+	</div>
 </section>
diff --git a/bin/templates/reference-parts/list-item.html b/bin/templates/reference-parts/list-item.html
index b82c913..29d6b0f 100644
--- a/bin/templates/reference-parts/list-item.html
+++ b/bin/templates/reference-parts/list-item.html
@@ -1,9 +1,8 @@
 <section class="route">
 	<div class="primary">
-		<h2>List {{ plural | capitalize }}</h2>
-		{{ include( 'reference-parts/args-list.html', { args: endpoint.args, link: false } ) }}
-	</div>
-	<div class="secondary">
+		<h2>List {{ plural | title }}</h2>
+		<p>Query this endpoint to retrieve a collection of {{ plural }}. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
 		<h3>Definition</h3>
 
 		<code>GET {{ route.nicename }}</code>
@@ -12,4 +11,7 @@ <h3>Example Request</h3>
 
 		<code>$ curl https://example.com/wp-json{{ route.nicename }}</code>
 	</div>
+	<div class="secondary">
+		{{ include( 'reference-parts/args-list.html', { args: endpoint.args, link: false } ) }}
+	</div>
 </section>
diff --git a/bin/templates/reference-parts/schema.html b/bin/templates/reference-parts/schema.html
index 4e15eb1..f0dbcfe 100644
--- a/bin/templates/reference-parts/schema.html
+++ b/bin/templates/reference-parts/schema.html
@@ -1,23 +1,23 @@
 <h2>Schema</h2>
-<p>The schema defines all the fields that exist for a {{ schema.title }} object.</p>
+<p>The schema defines all the fields that exist within a {{ name }} 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.</p>
 <table class="attributes">
 	{% for key, property in schema.properties %}
 		<tr id="schema-{{ key }}">
 			<td>
-				<code>{{ key }}</code><br />
-				<span class="type">
-					{{ property.type }}{% if property.format %},
-						{% if property.format == 'date-time' %}
-							datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-						{% elseif property.format == 'uri' %}
-							uri
-						{% else %}
-							{{ property.format }}
-					{% endif %}{% endif %}
-				</span>
+				<code>{{ key }}</code>
 			</td>
 			<td>
 				<p>{{ property.description }}</p>
+				<p class="type">
+					JSON data type: {{ property.type | join(' or ') }}{% if property.format %},
+					{% if property.format == 'date-time' %}
+						Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+					{% elseif property.format == 'uri' %}
+						Format: uri
+					{% else %}
+						Format: {{ property.format }}
+					{% endif %}{% endif %}
+				</p>
 				{% if property.readonly %}
 					<p class="read-only">Read only</p>
 				{% endif %}
diff --git a/bin/templates/reference-parts/update-item.html b/bin/templates/reference-parts/update-item.html
index 32ef28e..db5d6ff 100644
--- a/bin/templates/reference-parts/update-item.html
+++ b/bin/templates/reference-parts/update-item.html
@@ -1,6 +1,6 @@
 <section class="route">
 	<div class="primary">
-		<h2>Update a {{ name | capitalize }}</h2>
+		<h2>Update a {{ name | title }}</h2>
 		{{ include( 'reference-parts/args-list.html', { args: endpoint.args, link: true } ) }}
 	</div>
 	<div class="secondary">
diff --git a/changelog.md b/changelog.md
index 53859b1..96884fd 100644
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,76 @@
 
 This document details changes to the WP REST API since its public release in version 4.7.0.
 
+## Version 5.6
+- Introduce Application Passwords for API authentication. [r49109](https://core.trac.wordpress.org/changeset/49109)
+- Introduce Batch Requests. [r49252](https://core.trac.wordpress.org/changeset/49252)
+- Support a route-level validation callback. [r48945](https://core.trac.wordpress.org/changeset/48945)
+- Move Site Health async tests to the REST API. [r49154](https://core.trac.wordpress.org/changeset/49154)
+- Add a hook to fire once a post, its terms and meta update. [r49172](https://core.trac.wordpress.org/changeset/49172)
+- Introduce search term handler. [r49103](https://core.trac.wordpress.org/changeset/49103)
+- Introduce search post format handler. [r49132](https://core.trac.wordpress.org/changeset/49132)
+- Allow for string ids in the search controller. [r49088](https://core.trac.wordpress.org/changeset/49088)
+- Support a broader range of JSON media types. [r49329](https://core.trac.wordpress.org/changeset/49329)
+- Support the `multipleOf` JSON Schema keyword. [r49063](https://core.trac.wordpress.org/changeset/49063)
+- Support the `minProperties` and `maxProperties` JSON Schema keywords. [r49053](https://core.trac.wordpress.org/changeset/49053)
+- Support the `patternProperties` JSON Schema keyword. [r49082](https://core.trac.wordpress.org/changeset/49082)
+- Support the `anyOf` and `oneOf` JSON Schema keywords. [r49246](https://core.trac.wordpress.org/changeset/49246)
+- Make sure all supported JSON Schema keywords are output in the index. [r49257](https://core.trac.wordpress.org/changeset/49257)
+- Add HTTP/1.1 emulation to `wp.apiRequest`. [r49133](https://core.trac.wordpress.org/changeset/49133)
+- Include a JSON `Accept` header in `wp.apiRequest`. [r49716](https://core.trac.wordpress.org/changeset/49716)
+- Don't validate the post status if it hasn't changed. [r49302](https://core.trac.wordpress.org/changeset/49302)
+- Support generating comment up links to custom posts controllers. [r49299](https://core.trac.wordpress.org/changeset/49299)
+
+## Version 5.5
+- Introduce Block Types endpoint. [r48173](https://core.trac.wordpress.org/changeset/48173)
+- Introduce Plugins and Block Directory endpoints. [r48242](https://core.trac.wordpress.org/changeset/48242)
+- Introduce Image Editor endpoint. [r48291](https://core.trac.wordpress.org/changeset/48291)
+- Add additional fields to the Themes endpoint. [r47921](https://core.trac.wordpress.org/changeset/47921)
+- Introduce `register_theme_feature()` API for use in the Themes endpoint. [r48171](https://core.trac.wordpress.org/changeset/48171) 
+- Allow POST requests to the Block Renderer endpoint. [r47756](https://core.trac.wordpress.org/changeset/47756)
+- Register only a single Block Renderer endpoint shared by all block types. [r48069](https://core.trac.wordpress.org/changeset/48069)
+- Add support for classic embeds to the oEmbed endpoint. [r48135](https://core.trac.wordpress.org/changeset/48135)
+- Link to the REST route for the currently queried resource. [r48273](https://core.trac.wordpress.org/changeset/48273)
+- Introduce support for default metadata values. [r48402](https://core.trac.wordpress.org/changeset/48402)
+- Add the `Link` header to the list of exposed cors headers. [48112](https://core.trac.wordpress.org/changeset/48112)
+- Add `Content-Disposition`, `Content-MD5` and `X-WP-Nonce` as allowed cors headers. [r48452](https://core.trac.wordpress.org/changeset/48452)
+- Improve multi-type JSON Schema support. [r48306](https://core.trac.wordpress.org/changeset/48306)
+- Only validate the `format` keyword if the `type` is a `string`. [r48300](https://core.trac.wordpress.org/changeset/48300)
+- Support the `uuid` JSON Schema format. [47753](https://core.trac.wordpress.org/changeset/47753)
+- Support the `hex-color` JSON Schema format. [r47450](https://core.trac.wordpress.org/changeset/47450)
+- Support the `pattern` JSON Schema keyword. [r47810](https://core.trac.wordpress.org/changeset/47810)
+- Support the `minItems`, `maxItems`, and `uniqueItems` JSON Schema keywords. [r47923](https://core.trac.wordpress.org/changeset/47923) [r48357](https://core.trac.wordpress.org/changeset/48357)
+- Support the `minLength` and `maxLength` JSON Schema keywords. [r47627](https://core.trac.wordpress.org/changeset/47627)
+- Check required properties are provided when validating an object. [r47809](https://core.trac.wordpress.org/changeset/47809)
+- Support more JSON Schemas when filtering a response by context. [r47758](https://core.trac.wordpress.org/changeset/47758)
+- Handle parameter types consistently within `WP_REST_Request::set_param()`. [r47559](https://core.trac.wordpress.org/changeset/47559)
+- Deprecate back-filling of the `HTTP_RAW_POST_DATA` global variable. [r47926](https://core.trac.wordpress.org/changeset/47926)
+- Issue a `_doing_it_wrong` when registering a route without a `permission_callback`. [r48526](https://core.trac.wordpress.org/changeset/48526)
+- Issue a `_doing_it_wrong` when using the `wp_send_json()` family of functions during a REST API request. [r48361](https://core.trac.wordpress.org/changeset/48361)
+- Ensure `rest_ensure_response()` upgrades `WP_HTTP_Response` to `WP_REST_Response`. [r47849](https://core.trac.wordpress.org/changeset/47849)
+- Only force the main query to be `is_home()` during a REST API request. [r48053](https://core.trac.wordpress.org/changeset/48053)
+- Ensure all keywords supported by the JSON Schema validator are permitted by `WP_REST_Controller::get_endpoint_args_for_item_schema()`. [r47911](https://core.trac.wordpress.org/changeset/47911)
+- Ensure deprecation notices are triggered when preloading REST API data. [r48150](https://core.trac.wordpress.org/changeset/48150)
+- See [REST API changes in WordPress 5.5](https://make.wordpress.org/core/2020/07/22/rest-api-changes-in-wordpress-5-5/) for further commentary.
+
+## Version 5.4
+- Introduce selective link embedding. [r47224](https://core.trac.wordpress.org/changeset/47224)
+- Fix PHP warning in the comments controller if the commented-upon post type does not exist. [r47036](https://core.trac.wordpress.org/changeset/47036]
+- Add `_doing_it_wrong` warning when registering an "array" setting without an items schema. [r47325](https://core.trac.wordpress.org/changeset/47325)
+- Correctly infer empty objects passed via query parameters. [r47362](https://core.trac.wordpress.org/changeset/47362)
+- Add a "tax_relation" parameter to the posts collection. [r46646](https://core.trac.wordpress.org/changeset/46646)
+- Allow meta to be set when creating a new media record via REST. [r47261](https://core.trac.wordpress.org/changeset/47261)
+- Permit access to the themes controller if the user can edit any post type. [r47361](https://core.trac.wordpress.org/changeset/47361).
+- Add support for the `REDIRECT_HTTP_AUTHORIZATION` header. [r47239](https://core.trac.wordpress.org/changeset/47239)
+- Add support for filtering the posts controller's schema. [r47265](https://core.trac.wordpress.org/changeset/47265)
+- Add `_doing_it_wrong` warning if a taxonomy's specified `rest_base` is already in use by a different resource. [r47037](https://core.trac.wordpress.org/changeset/47037)
+- Improve routing performance by matching REST API routes on namespace before performing regex checks. [r47260](https://core.trac.wordpress.org/changeset/47260)
+- Don't assume all item schemas have properties. [r47328](https://core.trac.wordpress.org/changeset/47328)
+- Imrove performance by reusing previously-generated embedded objects when building collection response. [r47138](https://core.trac.wordpress.org/changeset/47138)
+- List all core theme feature support details in `/themes` endpoint response. [r47258](https://core.trac.wordpress.org/changeset/47528)
+- Fix links format in `OPTIONS` requests for non-variable routes. [r47326](https://core.trac.wordpress.org/changeset/47326)
+- Apply all relevant block rendering filters when rendering block previews. [r47360](https://core.trac.wordpress.org/changeset/47360)
+
 ## Version 5.3
 - Cache results of `get_item_schema` on controller instances for performance. [r45811](https://core.trac.wordpress.org/changeset/45811)
 - Permit embedding of the `self` link relation in the search endpoint. [r46434](https://core.trac.wordpress.org/changeset/46434)
diff --git a/composer.json b/composer.json
index 6f34299..e872aea 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,11 @@
 {
+    "name": "wp-api/docs",
+    "description": "The WordPress REST API Handbook",
     "require": {
-        "rmccue/requests": "^1.7",
-        "twig/twig": "~1.0"
+        "rmccue/requests": "^2.0",
+        "twig/twig": "^3.0"
+    },
+    "scripts": {
+        "regenerate": "php bin/regenerate.php"
     }
 }
diff --git a/composer.lock b/composer.lock
index c15a49d..1a500bb 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1,36 +1,51 @@
 {
     "_readme": [
         "This file locks the dependencies of your project to a known state",
-        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "b7605dcba442ebc58999b2a0d3aaaa7e",
+    "content-hash": "be0acbd1b1c64155ab5c204b72162e16",
     "packages": [
         {
             "name": "rmccue/requests",
-            "version": "v1.7.0",
+            "version": "v2.0.6",
             "source": {
                 "type": "git",
-                "url": "https://github.com/rmccue/Requests.git",
-                "reference": "87932f52ffad70504d93f04f15690cf16a089546"
+                "url": "https://github.com/WordPress/Requests.git",
+                "reference": "7d0f8394ea7846a7086978318c306123118445dc"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/rmccue/Requests/zipball/87932f52ffad70504d93f04f15690cf16a089546",
-                "reference": "87932f52ffad70504d93f04f15690cf16a089546",
+                "url": "https://api.github.com/repos/WordPress/Requests/zipball/7d0f8394ea7846a7086978318c306123118445dc",
+                "reference": "7d0f8394ea7846a7086978318c306123118445dc",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.2"
+                "ext-json": "*",
+                "php": ">=5.6"
             },
             "require-dev": {
-                "requests/test-server": "dev-master"
+                "dealerdirect/phpcodesniffer-composer-installer": "^0.7",
+                "php-parallel-lint/php-console-highlighter": "^0.5.0",
+                "php-parallel-lint/php-parallel-lint": "^1.3.1",
+                "phpcompatibility/php-compatibility": "^9.0",
+                "requests/test-server": "dev-main",
+                "roave/security-advisories": "dev-latest",
+                "squizlabs/php_codesniffer": "^3.6",
+                "wp-coding-standards/wpcs": "^2.0",
+                "yoast/phpunit-polyfills": "^1.0.0"
             },
             "type": "library",
             "autoload": {
-                "psr-0": {
-                    "Requests": "library/"
-                }
+                "files": [
+                    "library/Deprecated.php"
+                ],
+                "psr-4": {
+                    "WpOrg\\Requests\\": "src/"
+                },
+                "classmap": [
+                    "library/Requests.php"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
@@ -39,11 +54,23 @@
             "authors": [
                 {
                     "name": "Ryan McCue",
-                    "homepage": "http://ryanmccue.info"
+                    "homepage": "https://rmccue.io/"
+                },
+                {
+                    "name": "Alain Schlesser",
+                    "homepage": "https://github.com/schlessera"
+                },
+                {
+                    "name": "Juliette Reinders Folmer",
+                    "homepage": "https://github.com/jrfnl"
+                },
+                {
+                    "name": "Contributors",
+                    "homepage": "https://github.com/WordPress/Requests/graphs/contributors"
                 }
             ],
             "description": "A HTTP library written in PHP, for human beings.",
-            "homepage": "http://github.com/rmccue/Requests",
+            "homepage": "https://requests.ryanmccue.info/",
             "keywords": [
                 "curl",
                 "fsockopen",
@@ -53,40 +80,208 @@
                 "iri",
                 "sockets"
             ],
-            "time": "2016-10-13T00:11:37+00:00"
+            "support": {
+                "docs": "https://requests.ryanmccue.info/",
+                "issues": "https://github.com/WordPress/Requests/issues",
+                "source": "https://github.com/WordPress/Requests"
+            },
+            "time": "2023-04-04T09:01:49+00:00"
+        },
+        {
+            "name": "symfony/polyfill-ctype",
+            "version": "v1.27.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-ctype.git",
+                "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
+                "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "provide": {
+                "ext-ctype": "*"
+            },
+            "suggest": {
+                "ext-ctype": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.27-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "bootstrap.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Polyfill\\Ctype\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Gert de Pagter",
+                    "email": "BackEndTea@gmail.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for ctype functions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "ctype",
+                "polyfill",
+                "portable"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-11-03T14:55:06+00:00"
+        },
+        {
+            "name": "symfony/polyfill-mbstring",
+            "version": "v1.27.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-mbstring.git",
+                "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+                "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "provide": {
+                "ext-mbstring": "*"
+            },
+            "suggest": {
+                "ext-mbstring": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.27-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "bootstrap.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Polyfill\\Mbstring\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for the Mbstring extension",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "mbstring",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-11-03T14:55:06+00:00"
         },
         {
             "name": "twig/twig",
-            "version": "v1.34.4",
+            "version": "v3.5.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/twigphp/Twig.git",
-                "reference": "f878bab48edb66ad9c6ed626bf817f60c6c096ee"
+                "reference": "a6e0510cc793912b451fd40ab983a1d28f611c15"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/twigphp/Twig/zipball/f878bab48edb66ad9c6ed626bf817f60c6c096ee",
-                "reference": "f878bab48edb66ad9c6ed626bf817f60c6c096ee",
+                "url": "https://api.github.com/repos/twigphp/Twig/zipball/a6e0510cc793912b451fd40ab983a1d28f611c15",
+                "reference": "a6e0510cc793912b451fd40ab983a1d28f611c15",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=7.2.5",
+                "symfony/polyfill-ctype": "^1.8",
+                "symfony/polyfill-mbstring": "^1.3"
             },
             "require-dev": {
                 "psr/container": "^1.0",
-                "symfony/debug": "~2.7",
-                "symfony/phpunit-bridge": "~3.3@dev"
+                "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.34-dev"
+                    "dev-master": "3.5-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
-                    "Twig_": "lib/"
-                },
                 "psr-4": {
                     "Twig\\": "src/"
                 }
@@ -102,23 +297,36 @@
                     "homepage": "http://fabien.potencier.org",
                     "role": "Lead Developer"
                 },
+                {
+                    "name": "Twig Team",
+                    "role": "Contributors"
+                },
                 {
                     "name": "Armin Ronacher",
                     "email": "armin.ronacher@active-4.com",
                     "role": "Project Founder"
-                },
-                {
-                    "name": "Twig Team",
-                    "homepage": "http://twig.sensiolabs.org/contributors",
-                    "role": "Contributors"
                 }
             ],
             "description": "Twig, the flexible, fast, and secure template language for PHP",
-            "homepage": "http://twig.sensiolabs.org",
+            "homepage": "https://twig.symfony.com",
             "keywords": [
                 "templating"
             ],
-            "time": "2017-07-04T13:19:31+00:00"
+            "support": {
+                "issues": "https://github.com/twigphp/Twig/issues",
+                "source": "https://github.com/twigphp/Twig/tree/v3.5.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-02-08T07:49:20+00:00"
         }
     ],
     "packages-dev": [],
@@ -128,5 +336,6 @@
     "prefer-stable": false,
     "prefer-lowest": false,
     "platform": [],
-    "platform-dev": []
+    "platform-dev": [],
+    "plugin-api-version": "2.3.0"
 }
diff --git a/extending-the-rest-api.md b/extending-the-rest-api.md
index d9d296c..ad00c33 100644
--- a/extending-the-rest-api.md
+++ b/extending-the-rest-api.md
@@ -2,7 +2,7 @@
 
 ## Guides
 
-[Modifying responses](https://developer.wordpress.org/rest-api/extending-the-rest-api/modifying-responses/): add fields to REST API response objects using `register_rest_field`
+[Modifying responses](https://developer.wordpress.org/rest-api/extending-the-rest-api/modifying-responses/): add fields to REST API response objects using `register_meta` or `register_rest_field`
 
 [Adding Endpoints](https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/): create custom REST API endpoints for your plugin or application
 
@@ -13,8 +13,11 @@
 
 [Defining your API Schema](https://developer.wordpress.org/rest-api/extending-the-rest-api/schema/): define the schema for your REST API resources and their arguments
 
-[Glossary](https://developer.wordpress.org/rest-api/extending-the-rest-api/glossary/): get up to speed with phrases used throughout our documentation
+[Glossary](https://developer.wordpress.org/rest-api/glossary/): get up to speed with phrases used throughout our documentation
 
 [Routes & Endpoints](https://developer.wordpress.org/rest-api/extending-the-rest-api/routes-and-endpoints/): dive deeper into the nuances of REST API routes and the endpoints they provide
 
 [Controller Classes](https://developer.wordpress.org/rest-api/extending-the-rest-api/controller-classes/): discover how to structure and extend REST API endpoint controller classes
+
+
+[Frequently Asked Questions](https://developer.wordpress.org/rest-api/frequently-asked-questions/): see some of the most frequent inquiries about the REST API and learn how to solve common problems
diff --git a/extending-the-rest-api/adding-custom-endpoints.md b/extending-the-rest-api/adding-custom-endpoints.md
index 34e1be8..7ac3542 100644
--- a/extending-the-rest-api/adding-custom-endpoints.md
+++ b/extending-the-rest-api/adding-custom-endpoints.md
@@ -2,7 +2,7 @@
 
 The WordPress REST API is more than just a set of default routes. It is also a tool for creating custom routes and endpoints. The WordPress front-end provides a default set of URL mappings, but the tools used to create them (e.g. the Rewrites API, as well as the query classes: `WP_Query`, `WP_User`, etc) are also available for creating your own URL mappings, or custom queries.
 
-This document details how to create a totally custom route, with its own endpoints. We'll first work through a short example, then expand it out to the full controller pattern as used internally.
+This document details how to create a new and completely custom route with its own endpoints. We'll first work through a short example and then expand it out to the full controller pattern as used internally.
 
 
 ## Bare Basics
@@ -45,10 +45,14 @@ add_action( 'rest_api_init', function () {
 } );
 ```
 
-Right now, we're only registering the one endpoint for the route. The term "route" refers to the URL, whereas "endpoint" refers to the function behind it that corresponds to a method *and* a URL (for more information, see the [Glossary](https://developer.wordpress.org/rest-api/extending-the-rest-api/glossary/)).
+Right now, we're only registering the one endpoint for the route. The term "route" refers to the URL, whereas "endpoint" refers to the function behind it that corresponds to a method *and* a URL (for more information, see the [Glossary](https://developer.wordpress.org/rest-api/glossary/)).
 
 For example, if your site domain is `example.com` and you've kept the API path of `wp-json`, then the full URL would be `http://example.com/wp-json/myplugin/v1/author/(?P\d+)`.
 
+[alert]
+On sites without pretty permalinks, the route is instead added to the URL as the `rest_route` parameter. For the above example, the full URL would then be <code>http://example.com/?rest_route=/myplugin/v1/author/(?P\d+)</code>
+[/alert]
+
 Each route can have any number of endpoints, and for each endpoint, you can define the HTTP methods allowed, a callback function for responding to the request and a permissions callback for creating custom permissions. In addition you can define allowed fields in the request and for each field specify a default value, a sanitization callback, a validation callback, and whether the field is required.
 
 
@@ -204,10 +208,13 @@ $response->header( 'Location', 'http://example.com/' );
 
 When wrapping existing callbacks, you should always use `rest_ensure_response()` on the return value. This will take raw data returned from an endpoint and automatically turn it into a `WP_REST_Response` for you. (Note that `WP_Error` is not converted to a `WP_REST_Response` to allow proper error handling.)
 
+Importantly, a REST API route's callback should _always_ return data; it shouldn't attempt to send the response body itself. This ensures that the additional processing that the REST API server does, like handling linking/embedding, sending headers, etc… takes place. In other words, don't call `die( wp_json_encode( $data ) );` or `wp_send_json( $data )`. As of [WordPress 5.5](https://core.trac.wordpress.org/changeset/48361), a `_doing_it_wrong` notice is issued if the `wp_send_json()` family of functions is used during a REST API request.
+
+> Return a WP_REST_Response or WP_Error object from your callback when using the REST API.
 
 ### Permissions Callback
 
-You can also register a permissions callback for the endpoint. This is a function that checks if the user can perform the action (reading, updating, etc) before the real callback is called. This allows the API to tell the client what actions they can perform on a given URL without needing to attempt the request first.
+You must also register a permissions callback for the endpoint. This is a function that checks if the user can perform the action (reading, updating, etc) before the real callback is called. This allows the API to tell the client what actions they can perform on a given URL without needing to attempt the request first.
 
 This callback can be registered as `permission_callback`, again in the endpoint options next to your `callback` option. This callback should return a boolean or a `WP_Error` instance. If this function returns true, the response will be processed. If it returns false, a default error message will be returned and the request will not proceed with processing. If it returns a `WP_Error`, that error will be returned to the client.
 
@@ -237,6 +244,40 @@ add_action( 'rest_api_init', function () {
 
 Note that the permission callback also receives the Request object as the first parameter, so you can do checks based on request arguments if you need to.
 
+As of [WordPress 5.5](https://core.trac.wordpress.org/changeset/48526), if a `permission_callback` is not provided, the REST API will issue a `_doing_it_wrong` notice.
+
+> The REST API route definition for myplugin/v1/author is missing the required permission_callback argument. For REST API routes that are intended to be public, use __return_true as the permission callback.
+
+If your REST API endpoint is public, you can use `__return_true` as the permission callback.
+
+```php
+<?php
+add_action( 'rest_api_init', function () {
+  register_rest_route( 'myplugin/v1', '/author/(?P<id>\d+)', array(
+    'methods' => 'GET',
+    'callback' => 'my_awesome_func',
+    'permission_callback' => '__return_true',
+  ) );
+} );
+```
+
+### Discovery
+
+If you'd like to enable [Resource Discovery](https://developer.wordpress.org/rest-api/using-the-rest-api/discovery/#resource-discovery) for your custom endpoint, you can do so using the `rest_queried_resource_route` filter. For example, consider a [custom query var](https://developer.wordpress.org/reference/hooks/query_vars/) `my-route` that contains the id of your custom resource. The following code snippet would add a discovery link whenever the `my-route` query var is used.
+
+```php
+function my_plugin_rest_queried_resource_route( $route ) {
+    $id = get_query_var( 'my-route' );
+    if ( ! $route && $id ) {
+        $route = '/my-ns/v1/items/' . $id;
+    }
+
+    return $route;
+}
+add_filter( 'rest_queried_resource_route', 'my_plugin_rest_queried_resource_route' );
+```
+
+Note: If your endpoint is describing a custom post type or custom taxonomy you will most likely want to be using the `rest_route_for_post` or `rest_route_for_term` filters instead. 
 
 ## The Controller Pattern
 
diff --git a/extending-the-rest-api/adding-rest-api-support-for-custom-content-types.md b/extending-the-rest-api/adding-rest-api-support-for-custom-content-types.md
index b2ded5e..3591d1a 100644
--- a/extending-the-rest-api/adding-rest-api-support-for-custom-content-types.md
+++ b/extending-the-rest-api/adding-rest-api-support-for-custom-content-types.md
@@ -11,7 +11,7 @@ When registering a custom post type, if you want it to be available via the REST
 /**
  * Register a book post type, with REST API support
  *
- * Based on example at: http://codex.wordpress.org/Function_Reference/register_post_type
+ * Based on example at: https://developer.wordpress.org/reference/functions/register_post_type
  */
 add_action( 'init', 'my_book_cpt' );
 function my_book_cpt() {
@@ -34,7 +34,7 @@ Here is an example of registering a post type, with full labels, support for the
 /**
  * Register a book post type, with REST API support
  *
- * Based on example at: http://codex.wordpress.org/Function_Reference/register_post_type
+ * Based on example at: https://developer.wordpress.org/reference/functions/register_post_type
  */
 add_action( 'init', 'my_book_cpt' );
 function my_book_cpt() {
@@ -78,6 +78,18 @@ function my_book_cpt() {
 }
 ```
 
+If you are using a custom `rest_controller_class`, then the REST API is unable to automatically determine the route for a given post. In this case, you can use the `rest_route_for_post` filter to provide this information. This allows for your custom post type to be properly formatted in the Search endpoint and enables automated discovery links.
+
+```php
+function my_plugin_rest_route_for_post( $route, $post ) {
+    if ( $post->post_type === 'book' ) {
+        $route = '/wp/v2/books/' . $post->ID;
+    }
+ 
+    return $route;
+}
+add_filter( 'rest_route_for_post', 'my_plugin_rest_route_for_post', 10, 2 );
+``` 
 
 ## Registering A Custom Taxonomy With REST API Support
 
@@ -91,7 +103,7 @@ Here is an example of how to register a custom taxonomy with REST API support:
 /**
  * Register a genre post type, with REST API support
  *
- * Based on example at: https://codex.wordpress.org/Function_Reference/register_taxonomy
+ * Based on example at: https://developer.wordpress.org/reference/functions/register_taxonomy/
  */
 add_action( 'init', 'my_book_taxonomy', 30 );
 function my_book_taxonomy() {
@@ -127,6 +139,19 @@ function my_book_taxonomy() {
 }
 ```
 
+If you are using a custom `rest_controller_class`, then the REST API is unable to automatically determine the route for a given term. In this case, you can use the `rest_route_for_term` filter to provide this information. This allows for your custom taxonomy to be properly formatted in the Search endpoint and enables automated discovery links.
+
+```php
+function my_plugin_rest_route_for_term( $route, $term ) {
+    if ( $term->taxonomy === 'genre' ) {
+        $route = '/wp/v2/genre/' . $term->term_id;
+    }
+ 
+    return $route;
+}
+add_filter( 'rest_route_for_term', 'my_plugin_rest_route_for_term', 10, 2 );
+``` 
+
 ## Adding REST API Support To Existing Content Types
 
 If you need to add REST API support for a custom post type or custom taxonomy you do not control, for example a theme or plugin you are using, you can use the `register_post_type_args` filter hook that exists since WordPress version 4.6.0.
@@ -152,7 +177,7 @@ function my_post_type_args( $args, $post_type ) {
 ```
 
 
-For custom taxnomies it is almost the same. You can use the `register_taxonomy_args` filter that exists since WordPress version 4.4.0. 
+For custom taxonomies it is almost the same. You can use the `register_taxonomy_args` filter that exists since WordPress version 4.4.0. 
 
 ```php
 /**
diff --git a/extending-the-rest-api/controller-classes.md b/extending-the-rest-api/controller-classes.md
index ce6b034..b584313 100644
--- a/extending-the-rest-api/controller-classes.md
+++ b/extending-the-rest-api/controller-classes.md
@@ -122,7 +122,7 @@ class My_REST_Posts_Controller {
 	}
 
 	/**
-	 * Grabs the five most recent posts and outputs them as a rest response.
+	 * Gets post data of requested post id and outputs it as a rest response.
 	 *
 	 * @param WP_REST_Request $request Current request.
 	 */
@@ -194,9 +194,9 @@ class My_REST_Posts_Controller {
 	/**
 	 * Get our sample schema for a post.
 	 *
-	 * @param WP_REST_Request $request Current request.
+	 * @return array The sample schema for a post
 	 */
-	public function get_item_schema( $request ) {
+	public function get_item_schema() {
 		if ( $this->schema ) {
 			// Since WordPress 5.3, the schema can be cached in the $schema property.
 			return $this->schema;
@@ -281,7 +281,7 @@ In most cases you will want to create a base controller class as either an `inte
 
 The WordPress REST API follows a deliberate design pattern for its internal classes, which may be categorized as either *infrastructure* or *endpoint* classes.
 
-Endpoint classes encapsulate the functional logic necessary to perform [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations on WordPress resources. WordPress exposes many REST API endpoints (such as [`WP_REST_Posts_Controller`](https://developer.wordpress.org/reference/classes/wp_rest_controller/)), but as discussed above all endpoints extend from a common base controller class:
+Endpoint classes encapsulate the functional logic necessary to perform [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations on WordPress resources. WordPress exposes many REST API endpoints (such as [`WP_REST_Posts_Controller`](https://developer.wordpress.org/reference/classes/wp_rest_posts_controller/)), but as discussed above all endpoints extend from a common base controller class:
 
 * [`WP_REST_Controller`](https://developer.wordpress.org/reference/classes/wp_rest_controller/): The base class for all WordPress core endpoints. This class is designed to represent a consistent pattern for manipulating WordPress resources. When interacting with an endpoint that implements `WP_REST_Controller`, a HTTP client can expect each endpoint to behave in a consistent way.
 
diff --git a/extending-the-rest-api/modifying-responses.md b/extending-the-rest-api/modifying-responses.md
index 1e546d6..44cfc14 100644
--- a/extending-the-rest-api/modifying-responses.md
+++ b/extending-the-rest-api/modifying-responses.md
@@ -367,6 +367,22 @@ This would result in two meta database rows. The first containing `[ "WordPress"
 
 If the existing value for a meta field does not validate against the registered type and schema, the value for that meta field will be returned as null. If that null value is passed back to the API when doing an update request, you'll receive a `rest_invalid_stored_value` error: `The %s property has an invalid stored value, and cannot be updated to null.`. To fix this, either update the meta key with a valid value or omit that property from your request.
 
+### Default Metadata Values
+
+WordPress 5.5 adds [official support](https://make.wordpress.org/core/2020/08/04/registering-default-values-for-meta-data/) for specifying a default value for metadata if no value is defined. For example, with this code snippet the `price` meta field will be set to `0.00` in the REST API response if a value is not yet.
+
+```php
+register_post_meta(
+     'product',
+     'price',
+     array(
+         'single'  => true,
+         'type'    => 'string',
+         'default' => '0.00',
+     )
+ );
+```
+
 ## Adding Links to the API Response
 WordPress generates a list of links associated with the queried resource to make it easier to navigate to related resources. 
 
diff --git a/extending-the-rest-api/routes-and-endpoints.md b/extending-the-rest-api/routes-and-endpoints.md
index 643dd9b..f13ea9a 100644
--- a/extending-the-rest-api/routes-and-endpoints.md
+++ b/extending-the-rest-api/routes-and-endpoints.md
@@ -62,7 +62,7 @@ When we go to `https://ourawesomesite.com/wp-json/hello-world/v1/phrase` we can
 
 ## Routes
 
-Routes in the REST API are represented by URIs. The route itself is what is tacked onto the end of `https://ourawesomesite.com/wp-json`. The index route for the API is `'/'` which is why `https://ourawesomesite.com/wp-json/` returns all of the available information for the API. All routes should be built onto this route, the `wp-json` portion can be changed, but in general, it is advised to keep it the same.
+Routes in the REST API are represented by URIs. The route itself is what is tacked onto the end of `https://ourawesomesite.com/wp-json`. The index route for the API is `/` which is why `https://ourawesomesite.com/wp-json/` returns all of the available information for the API. All routes should be built onto this route, the `wp-json` portion can be changed, but in general, it is advised to keep it the same.
 
 We want to make sure that our routes are unique. For instance we could have a route for books like this: `/books`. Our books route would now live at `https://ourawesomesite.com/wp-json/books`. However, this is not a good practice as we would end up polluting potential routes for the API. What if another plugin we wanted to register a books route as well? We would be in big trouble in that case, as the two routes would conflict with each other and only one could be used. The fourth parameter to `register_rest_route()` is a boolean for whether the route should override an existing route.
 
@@ -479,7 +479,7 @@ add_action( 'rest_api_init', 'prefix_register_example_routes' );
 
 #### Sanitizing
 
-In the above example, we do not need to use a `sanitize_callback`, because we are restricting input to only values in our enum. If we did not have strict validation and accepted any string as a parameter, we would definitely need to register a `sanitize_callback`. What if we wanted to update a content field and the user entered something like `alert('ZOMG Hacking you');`. The field value could potentially be a executable script. To strip out unwanted data or to transform data into a desired format we need to register a `sanitize_callback` for our arguments. Here is an example of how to use WordPress's `sanitize_text_field()` for a sanitize callback:
+In the above example, we do not need to use a `sanitize_callback`, because we are restricting input to only values in our enum. If we did not have strict validation and accepted any string as a parameter, we would definitely need to register a `sanitize_callback`. What if we wanted to update a content field and the user entered something like `alert('ZOMG Hacking you');`. The field value could potentially be an executable script. To strip out unwanted data or to transform data into a desired format we need to register a `sanitize_callback` for our arguments. Here is an example of how to use WordPress's `sanitize_text_field()` for a sanitize callback:
 
 ```php
 /**
diff --git a/extending-the-rest-api/schema.md b/extending-the-rest-api/schema.md
index 377103d..37471f5 100644
--- a/extending-the-rest-api/schema.md
+++ b/extending-the-rest-api/schema.md
@@ -5,9 +5,9 @@
 A schema is metadata that tells us how our data is structured. Most databases implement some form of schema which enables us to reason about our data in a more structured manner. The WordPress REST API utilizes [JSON Schema](http://json-schema.org/) to handle the structuring of its data. You can implement endpoints without using a schema, but you will be missing out on a lot of things. It is up to you to decide what suits you best.
 
 
-## JSON Schema
+### JSON
 
-First, let's talk about JSON a bit. JSON is a human readable data format that resembles JavaScript objects. JSON stands for JavaScript Object Notation. JSON is growing wildly in popularity and seems to be taking the world of data structure by storm. The WordPress REST API uses a special specification for JSON known as JSON schema. To learn more about JSON Schema please check out the [JSON Schema website](http://json-schema.org/) and this [easier to understand introduction to JSON Schema](https://spacetelescope.github.io/understanding-json-schema/index.html). Schema affords us many benefits: improved testing, discoverability, and overall better structure. Let's look at a JSON blob of data.
+First, let's talk about JSON a bit. JSON is a human readable data format that resembles JavaScript objects. JSON stands for JavaScript Object Notation. JSON is growing wildly in popularity and seems to be taking the world of data structure by storm. The WordPress REST API uses a special specification for JSON known as JSON schema. To learn more about JSON Schema please check out the [JSON Schema website](http://json-schema.org/) and this [easier to understand introduction to JSON Schema](https://json-schema.org/understanding-json-schema). Schema affords us many benefits: improved testing, discoverability, and overall better structure. Let's look at a JSON blob of data.
 
 ```js
 {
@@ -20,7 +20,7 @@ First, let's talk about JSON a bit. JSON is a human readable data format that re
 A JSON parser will go through that data no problem and won't complain about anything, because it is valid JSON. The clients and servers know nothing about the data and what to expect they just see the JSON. By implementing schema we can actually simplify our codebase. Schema will help structure our data better so our applications can more easily reason about our interactions with the WordPress REST API. The WordPress REST API does not force you to use schema, but it is encouraged. There are two ways in which schema data is incorporated into the API; schema for resources and schema for our registered arguments.
 
 
-## Resource Schema
+### Resource Schema
 
 The schema for a resource indicates what fields are present for a particular object. When we register our routes we can also specify the resource schema for the route. Let's look at what a simple comment schema might look like in a PHP representation of JSON schema.
 
@@ -105,14 +105,8 @@ function prefix_prepare_for_collection( $response ) {
 		return $response;
 	}
 
-	$data = (array) $response->get_data();
-	$server = rest_get_server();
-
-	if ( method_exists( $server, 'get_compact_response_links' ) ) {
-		$links = call_user_func( array( $server, 'get_compact_response_links' ), $response );
-	} else {
-		$links = call_user_func( array( $server, 'get_response_links' ), $response );
-	}
+	$data  = (array) $response->get_data();
+    $links = rest_get_server()::get_compact_response_links( $response );
 
 	if ( ! empty( $links ) ) {
 		$data['_links'] = $links;
@@ -159,7 +153,7 @@ If you notice, each comment resource now matches up to our schema that we specif
 Schema provides machine readable data, so potentially anything that can read JSON can understand what kind of data it is looking at. When we look at the API index by making a `GET` request to `https://ourawesomesite.com/wp-json/`, we are returned the schema of our API, enabling others to write client libraries to interpret our data. This process of reading schema data is known as discovery. When we have provided schema for a resource we make that resource discoverable via `OPTIONS` requests to that route. Exposing resource schema is only one part of our schema puzzle. We also want to use schema for our registered arguments.
 
 
-## Argument Schema
+### Argument Schema
 
 When we register request arguments for an endpoint, we can also use JSON Schema to provide us data about what the arguments should be. This enables us to write validation libraries that can be reused as our endpoints expand. Schema is more work upfront, but if you are going to write a production application that will grow, you should definitely consider using schema. Let's look at an example of using argument schema and validation.
 
@@ -213,6 +207,7 @@ function prefix_get_endpoint_args() {
  * @param mixed           $value   Value of the my-arg parameter.
  * @param WP_REST_Request $request Current request object.
  * @param string          $param   The name of the parameter in this case, 'my-arg'.
+ * @return true|WP_Error True if the data is valid, WP_Error otherwise.
  */
 function prefix_validate_my_arg( $value, $request, $param ) {
 	$attributes = $request->get_attributes();
@@ -234,11 +229,12 @@ function prefix_validate_my_arg( $value, $request, $param ) {
 }
 
 /**
- * Our santization callback for `my-arg` parameter.
+ * Our sanitization callback for `my-arg` parameter.
  *
  * @param mixed           $value   Value of the my-arg parameter.
  * @param WP_REST_Request $request Current request object.
  * @param string          $param   The name of the parameter in this case, 'my-arg'.
+ * @return mixed|WP_Error The sanitize value, or a WP_Error if the data could not be sanitized.
  */
 function prefix_sanitize_my_arg( $value, $request, $param ) {
 	$attributes = $request->get_attributes();
@@ -264,7 +260,758 @@ In the example above we have abstracted away from using the `'my-arg'` name. We
 
 [info]If you are uncomfortable with using schema, it is still possible to have validate/sanitize callbacks for each of your arguments, and in some cases it will make the most sense to do a custom validation.[/info]
 
-
-## Overview
+### Summary
 
 Schema can seem silly at points and possibly like unnecessary work, but if you want maintainable, discoverable, and easily extensible endpoints, it is essential to use schema. Schema also helps to self document your endpoints both for humans and computers!
+
+## JSON Schema Basics
+
+WordPress implements a validator that uses a subset of the [JSON Schema Version 4 specification](https://json-schema.org/specification-links.html#draft-4). The RFC is recommended reading to gain a deeper understanding of how JSON Schema works, but this article will describe the basics of JSON Schema and what features WordPress supports.
+
+### API
+
+The REST API defines two main functions for using JSON Schema: `rest_validate_value_from_schema` and `rest_sanitize_value_from_schema`. Both functions accept the request data as the first parameter, the parameter's schema definition as the second parameter, and optionally the parameter's name as the third parameter. The validate function returns either `true` or a `WP_Error` instance depending on if the data successfully validates against the schema. The sanitize function returns a sanitized form of the data passed to the function, or a `WP_Error` instance if the data cannot be safely sanitized.
+
+When calling these functions, you should take care to _always_ first validate the data using `rest_validate_value_from_schema`, and then if that function returns `true`, sanitize the data using `rest_sanitize_value_from_schema`. Not using both can open up your endpoint to security vulnerabilities.
+
+If your endpoint is implemented using a [subclass of `WP_REST_Controller`](https://developer.wordpress.org/rest-api/extending-the-rest-api/controller-classes/), the `WP_REST_Controller::get_endpoint_args_for_item_schema` method will automatically mark your arguments as using the built-in validate and sanitize callbacks. As such, there is no need to manually specify the callbacks.
+
+If your endpoint does not follow the controller class pattern, args returned from `WP_REST_Controller::get_collection_params()`, or any other instance where callbacks are not specified, the `WP_REST_Request` object will apply sanitization and validation using the `rest_parse_request_arg` function. Importantly, this is only applied when the `sanitize_callback` is not defined. As such, if you specify a custom `sanitize_callback` for your argument definition, the built-in JSON Schema validation will not apply. If you need this validation, you should manually specify `rest_validate_request_arg` as the `validate_callback` in your argument definition.   
+
+### Caching Schema
+
+Schema may be complex, and can take time to generate. You should consider caching generated schema in your plugin's custom endpoints to avoid repeatedly generating the same schema object.
+
+If you are defining your endpoint using a a [subclass of `WP_REST_Controller`](https://developer.wordpress.org/rest-api/extending-the-rest-api/controller-classes/), that might look like this:
+
+```php
+
+	/**
+	 * Retrieves the attachment's schema, conforming to JSON Schema.
+	 *
+	 * @return array Item schema as an array.
+	 */
+	public function get_item_schema() {
+		// Returned cached copy whenever available.
+		if ( $this->schema ) {
+			return $this->add_additional_fields_schema( $this->schema );
+		}
+
+		$schema = parent::get_item_schema();
+		// Add endpoint-specific properties to Schema.
+		$schema['properties']['field_name'] = array( /* ... */ );
+		$schema['properties']['etcetera'] = array( /* ... */ );
+
+		// Cache generated schema on endpoint instance.
+		$this->schema = $schema;
+
+		return $this->add_additional_fields_schema( $this->schema );
+	}
+```
+
+This pattern was introduced into WordPress core in version 5.3 in [#47871](https://core.trac.wordpress.org/ticket/47871), and yielded up to 40% speed improvement when generating some API responses.
+
+### Schema Documents
+
+A basic schema document consists of a few properties.
+
+- `$schema` A reference to a meta schema that describes the version of the spec the document is using.
+- `title` The title of the schema. Normally this is a human readable label, but in WordPress this is machine readable string . The posts endpoint, for example, has a title of ‘post’. Comments has a title of ‘comment’.
+- `type` This refers to the type of the value being described. This can be any one of the seven primitive types. In WordPress the top-level type will almost always be an `object`, even for collection endpoints that return an array of objects.
+- `properties` A list of the known properties contained in the object and their definitions. Each property definition itself is also a schema, but without the $schema top-level property, more accurately described as a sub-schema.
+
+### Primitive Types
+
+JSON Schema defines a list of seven allowed [primitive types](https://tools.ietf.org/html/draft-zyp-json-schema-04#section-3.5).
+
+- `string` A string value.
+- `null` A `null` value.
+- `number` Any number. Decimals are allowed. Equivalent to a [`float` in PHP](https://www.php.net/float).
+- `integer` A number, but decimals or exponents are not allowed.
+- `boolean` A `true` or `false` value. 
+- `array` A list of values. This is equivalent to a [JavaScript array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array). In PHP this is referred to as a numerical array, or an array without defined keys.
+- `object` A map of keys to values. This is equivalent to a [JavaScript object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer). In PHP this is referred to as an [associative array](https://en.wikipedia.org/wiki/Associative_array), or an array with defined keys.  
+
+A value's primitive type is specified using the `type` keyword. For example, this is how you would define a `string` value with JSON Schema.
+
+```php
+array(
+    'type' => 'string',
+);
+```
+
+JSON Schema allows for defining values that can be multiple types. For example, this is how you would define a value that can be either a `string` or a `boolean`.
+
+```php
+array(
+    'type' => array( 'boolean', 'string' ),  
+);
+```
+
+#### Type Juggling
+
+Because the WordPress REST API accepts [URL form encoded](https://en.wikipedia.org/wiki/Percent-encoding#The_application/x-www-form-urlencoded_type) data both in the `POST` body or as the query portion of the URL, many primtive types perform type juggling to convert these string values into their proper native types.
+
+- `string` Only strings according to [`is_string`](https://www.php.net/is_string) are allowed.
+- `null` Only a properly typed `null` is accepted. This means that submitting a null value in the URL or as a URL form encoded post body is not possible, a JSON request body must be used.
+- `number` Floats, integers, and strings that pass [`is_numeric`](https://www.php.net/manual/en/function.is-numeric.php) are allowed. Values will be casted to a `float`.
+- `integer` Integers or strings that can be [casted to a `float`](https://www.php.net/manual/en/language.types.float.php#language.types.float.casting) with a fractional part that is equivalent to 0.
+- `boolean` Booleans, the integers `0` and `1`, or the strings `"0"`, `"1"`, `"false"`, and `"true"`. `0` is treated as `false` and `1` is treated as `true`.
+- `array` Numeric arrays according to [`wp_is_numeric_array`](https://developer.wordpress.org/reference/functions/wp_is_numeric_array/) or a string. If the string is comma separated it will be split into an array, otherwise it will be an array containing the string value. For example: `"red,yellow"` becomes `array( "red", "yellow" )` and  `"blue"` becomes `array( "blue" )`.
+- `object` An array, an `stdClass` object, an object implementing `JsonSerializable` or an empty string. Values will be converted to a native PHP array.
+
+When using multiple types, types will be evaluated in the order they are specified. This can have an impact on the sanitized data received by your REST API endpoint. For instance, in the previous example, if the value submitted was `"1"`, it would be sanitized to the boolean `true` value. However, if the order was flipped, the value would remain as the string `"1"`.
+
+[info]The JSON Schema specification allows for defining schemas without a `type` field. The WordPress implementation however requires a `type` to be defined, and will issue a `_doing_it_wrong` notice if a type is ommitted.[/info]
+
+### Format
+
+The seven primitive types are just that, [primitive](https://en.wikipedia.org/wiki/Primitive_data_type), so how do you define more complex value types? One of the ways to do that is using the `format` keyword. The `format` keyword allows for defining additional semantic-level validation of values that have a well-defined structure.
+
+For example, to require a date value, you would use the `date-time` format.
+
+```php
+array(
+    'type'   => 'string',
+    'format' => 'date-time',
+);
+```
+
+WordPress supports the following formats:
+
+- `date-time` A date formatted according to [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.8).
+- `uri` A uri according to [`esc_url_raw`](https://developer.wordpress.org/reference/functions/esc_url_raw/).
+- `email` An email address according to [`is_email`](https://developer.wordpress.org/reference/functions/is_email/).
+- `ip` A v4 or v6 ip address.
+- `uuid` A uuid of any version.
+- `hex-color` A 3 or 6 character hex color with a leading `#`.
+
+A value must match its format even if the value is an empty string. If allowing an "empty" value is desired, add `null` as a possible type. 
+
+For example, the following schema would allow `127.0.0.1` or `null` as possible values.
+
+```php
+array(
+    'type'   => array( 'string', 'null' ),
+    'format' => 'ip',
+);
+```
+
+### Strings
+
+The `string` types supports three additional keywords.
+
+#### minLength and maxLength
+
+The `minLength` and `maxLength` keywords can be used to constrain the acceptable length of a string. Importantly multi-byte characters are counted as a single character and bounds are inclusive.
+
+For instance, given the following schema, `ab`, `abc`, and `abcd` are valid, while `a`, and `abcde` are invalid.
+
+```php
+array(
+    'type'      => 'string',
+    'minLength' => 2,
+    'maxLength' => 4,
+);
+```
+
+The `exclusiveMinimum` and `exclusiveMaximum` keywords do not apply, they are only valid for numbers.
+
+#### pattern
+
+The JSON Schema keyword `pattern` can be used to validate that a string field matches a regular expression.
+
+For instance, given the following schema, `#123` would be valid, but `#abc` would not.
+
+```php
+array(
+    'type'    => 'string',
+    'pattern' => '#[0-9]+',
+);
+```
+
+The regex is not automatically anchored. Regex flags, for instance `/i` to make the match case insensitive are not supported.
+
+The JSON Schema RFC recommends limiting yourself to the following regex features so the schema can be interoperable between as many different programming languages as possible.
+
+- individual Unicode characters, as defined by the JSON specification [RFC4627].
+- simple character classes `[abc]`, range character classes `[a-z]`.
+- complemented character classes `[^abc]`, `[^a-z]`.
+- simple quantifiers: `+` (one or more), `*` (zero or more), `?` (zero or one), and their lazy versions `+?`, `*?`, `??`.
+- range quantifiers: `{x}` (exactly x occurrences), `{x,y}` (at least x, at most y, occurrences), `{x,}` (x occurrences or more), and their lazy versions.
+- the beginning-of-input `^` and end-of-input `$` anchors.
+- simple grouping `(...)` and alternation `|`.
+
+The pattern should be valid according to the ECMA 262 regex dialect.
+
+### Numbers
+
+The `number` and `integer` types support four additional keywords.
+
+#### minimum and maximum
+
+The `minimum` and `maximum` keyword allow constraining the range of acceptable numbers. For example, `2` would be valid according to this schema, but `0` and `4` would not be.
+
+```php
+array(
+    'type' => 'integer',
+    'minimum' => 1,
+    'maximum' => 3,
+);
+```
+
+JSON Schema also allows using the `exclusiveMinimum` and `exclusiveMaximum` keywords to denote that the value cannot equal the defined `minimum` or `maximum` respectively. For example, in this case only `2` would be an acceptable value.
+
+```php
+array(
+    'type'             => 'integer',
+    'minimum'          => 1,
+    'exclusiveMinimum' => true,
+    'maximum'          => 3,
+    'exclusiveMaximum' => true,
+);
+``` 
+
+#### multipleOf
+
+The `multipleOf` keyword allows for asserting an integer or number type is a multiple of the given number. For example, this schema will only accept even integers.
+
+```php
+array(
+    'type'       => 'integer',
+    'multipleOf' => 2,
+);
+```
+
+`multipleOf` also supports decimals. For example, this schema could be used to accept a percentage with a maximum of 1 decimal point.
+
+```php
+array(
+    'type'       => 'number',
+    'minimum'    => 0,
+    'maximum'    => 100,
+    'multipleOf' => 0.1,
+);
+```
+
+### Arrays
+
+Specifying a `type` of `array` requires data to be an array, but that is only half the validation story. You'll also want to enforce the format of each item in the array. This is done by specifying a JSON Schema that each array item must conform to using the `items` keyword.
+
+For example, the following schema requires an array of IP addresses.
+
+```php
+array(
+    'type'  => 'array',
+    'items' => array(
+        'type'   => 'string',
+        'format' => 'ip',
+    ),
+);
+```
+
+This would pass validation.
+
+```json
+[ "127.0.0.1", "255.255.255.255" ]
+```
+
+While this would fail validation.
+
+```json
+[ "127.0.0.1", 5 ]
+```
+
+The `items` schema can be any schema, it could even be an array itself!
+
+```php
+array(
+    'type'  => 'array',
+    'items' => array(
+        'type'  => 'array',
+        'items' => array(
+            'type'   => 'string',
+            'format' => 'hex-color',
+        ),
+    ),
+);
+```
+
+This would pass validation.
+
+```json
+[
+  [ "#ff6d69", "#fecc50" ],
+  [ "#0be7fb" ]
+]
+```
+
+While this would fail validation.
+
+```json
+[
+  [ "#ff6d69", "#fecc50" ],
+  "george"
+]
+```
+
+#### minItems and maxItems
+
+The `minItems` and `maxItems` keywords can be used to constrain the acceptable number of items included in the array.
+
+For instance, given the following schema, `[ "a" ]` and `[ "a", "b" ]` are valid, while `[]` and `[ "a", "b", "c" ]` are invalid.
+
+```php
+array(
+    'type'     => 'array',
+    'minItems' => 1,
+    'maxItems' => 2,
+    'items'    => array(
+        'type' => 'string',
+    ),
+);
+```
+
+The `exclusiveMinimum` and `exclusiveMaximum` keywords do not apply, they are only valid for the `number` and `integer` types.
+
+#### uniqueItems
+
+The `uniqueItems` keyword can be used to require that all items in the array are unique.
+
+For instance, given the following schema, `[ "a", "b" ]` is valid, while `[ "a", "a" ]` is not.
+
+```php
+array(
+    'type'        => 'array',
+    'uniqueItems' => true,
+    'items'       => array(
+        'type' => 'string',
+    ),
+);
+```
+
+##### Uniqueness
+
+Items of different types are considered unique, for instance, `"1"`, `1` and `1.0` are different values.
+
+When arrays are compared, the order of items matters. So the given array is considered to have all unique items.
+
+```json
+[
+  [ "a", "b" ],
+  [ "b", "a" ]
+]
+```
+
+When objects are compared, the order the members appear in does not matter. So the given array is considered to have duplicate items since the values are the same, they just appear in a different order.
+
+```json
+[
+  { 
+    "a": 1,
+    "b": 2
+  },
+  {
+    "b": 2,
+    "a": 1
+  }
+]
+```
+
+Uniqueness is checked in both `rest_validate_value_from_schema` and `rest_sanitize_value_from_schema`. This is to prevent instances where items would be considered unique before sanitization is applied, but after sanitization the items would converge to identical values.
+
+Take for instance the following schema:
+
+```php
+array(
+    'type' => 'array',
+    'uniqueItems' => true,
+    'items' => array(
+        'type' => 'string',
+        'format' => 'uri',
+    ),
+);
+```
+
+A request with `[ "https://example.org/hello world", "https://example.org/hello%20world" ]` would pass validation because each string value is different. However, after `esc_url_raw` converted the space in the first url to `%20` the values would be identical.
+
+In this case `rest_sanitize_value_from_schema` would return an error. As such, you should always validate and sanitize parameters.
+
+### Objects
+
+Specifying a `type` of `object` requires data to be an object, but that is only half the validation story. You'll also want to enforce the format of each object's property. This is done by specifying a map of property names to JSON Schemas that object members must conform to using the `properties` keyword.
+
+For example, the following schema requires an object where the property `name` is a string and `color` is a hex color.
+
+```php
+array(
+    'type'       => 'object',
+    'properties' => array(
+        'name'  => array(
+            'type' => 'string',
+        ),
+        'color' => array(
+            'type'   => 'string',
+            'format' => 'hex-color',        
+        ),
+    ),
+);
+```
+
+This would pass validation.
+
+```json
+{
+  "name": "Primary",
+  "color": "#ff6d69"
+}
+```
+
+While this would fail validation.
+
+```json
+{
+  "name": "Primary",
+  "color": "orange"
+}
+```
+
+#### Required Properties
+
+By default, any properties listed for an object are optional, so while it might be unexpected, the following would also pass validation for the previous schema.
+
+```json
+{
+  "name": "Primary"
+}
+```
+
+There are two mechanisms for requiring a property to be provided.
+
+##### Version 3 Syntax
+
+While WordPress mostly follows JSON Schema Version 4, one way that it doesn't is with the syntax for defining required properties. The predominant way is using JSON Schema Version 3 syntax by adding the `required` keyword to each property's definition.
+
+```php
+array(
+    'type'       => 'object',
+    'properties' => array(
+        'name'  => array(
+            'type'     => 'string',
+            'required' => true,
+        ),
+        'color' => array(
+            'type'     => 'string',
+            'format'   => 'hex-color',
+            'required' => true,        
+        ),
+    ),
+);
+``` 
+
+##### Version 4 syntax
+
+WordPress also supports JSON Schema Version 4 required property syntax where the list of required properties for an object is defined as an array of property names. This can be particularly helpful when specifying that a meta value has a list of required properties.
+
+Given the following meta field.
+
+```php
+register_post_meta( 'post', 'fixed_in', array(
+    'type'         => 'object',
+    'show_in_rest' => array(
+        'single' => true,
+        'schema' => array(
+            'required'   => array( 'revision', 'version' ),
+            'type'       => 'object',
+            'properties' => array(
+                'revision' => array(
+                    'type' => 'integer',
+                ),
+                'version'  => array(
+                    'type' => 'string',
+                ),
+            ),
+        ),
+    ),
+) );
+```
+
+The following request would fail validation.
+
+```json
+{
+    "title": "Check required properties",
+    "content": "We should check that required properties are provided",
+    "meta": {
+        "fixed_in": {
+            "revision": 47089
+        }
+    }
+}
+```
+
+If the `fixed_in` meta field was omitted entirely, no error would be generated. An object that defines a list of required properties does not indicate that the object itself is required to be submitted. Just that if the object is included, that the listed properties must also be included as well.
+
+Version 4 syntax is not supported for an endpoint's top level schema in `WP_REST_Controller::get_item_schema()`. Given the following schema, a user could successfully submit a request without the title or content properties. This is because the schema document is not itself used for validation, but instead transformed to a list of parameter definitions.
+
+```php
+array(
+	'$schema'    => 'http://json-schema.org/draft-04/schema#',
+	'title'      => 'my-endpoint',
+	'type'       => 'object',
+	'required'   => array( 'title', 'content' ),
+	'properties' => array(
+		'title'   => array(
+			'type' => 'string',
+		),
+		'content' => array(
+			'type' => 'string',
+		),
+	),
+);
+```
+
+#### additionalProperties
+
+Perhaps unintuitively, by default JSON Schema also allows providing additional properties that are not specified in the schema. As such, the following would pass validation.
+
+```json
+{
+  "name": "Primary",
+  "color": "#ff6d69",
+  "description": "The primary color to use in the theme."
+}
+```
+
+This can be customized using the `additionalProperties` keyword. Setting `additionalProperties` to false will reject data that has unknown properties.
+
+```php
+array(
+    'type'                 => 'object',
+    'additionalProperties' => false,
+    'properties'           => array(
+        'name'  => array(
+            'type' => 'string',
+        ),
+        'color' => array(
+            'type'   => 'string',
+            'format' => 'hex-color',        
+        ),
+    ),
+);
+```
+
+The `additionalProperties` keyword can also be set to a schema of its own. This would require that the values for any unknown properties match the given schema.
+
+One way this can be helpful is when you want to accept a list of values that each have their own unique key. For example:
+
+```php
+array(
+    'type'                 => 'object',
+    'properties'           => array(),
+    'additionalProperties' => array(
+        'type'       => 'object',
+        'properties' => array(
+            'name'  => array(
+                'type'     => 'string',
+                'required' => true,
+            ),
+            'color' => array(
+                'type'     => 'string',
+                'format'   => 'hex-color',
+                'required' => true,        
+            ),
+        ),    
+    ),
+);
+```
+
+This would pass validation.
+
+```json
+{
+  "primary": {
+    "name": "Primary",
+    "color": "#ff6d69"
+  },
+  "secondary": {
+    "name": "Secondary",
+    "color": "#fecc50"
+  }
+}
+```
+
+While this would fail validation.
+
+```json
+{
+  "primary": {
+    "name": "Primary",
+    "color": "#ff6d69"
+  },
+  "secondary": "#fecc50"
+}
+```
+
+#### patternProperties
+
+The `patternProperties` keyword is similar to the `additionalProperties` keyword, but allows for asserting the property matches a regex pattern. The keyword is an object where each property is a regex pattern and its value is the JSON Schema used to validate properties that match that pattern.
+
+For example, this schema requires that each value is a hex color and the property must only contain “word” characters.
+
+```php
+array(
+  'type'                 => 'object',
+  'patternProperties'    => array(
+    '^\\w+$' => array(
+      'type'   => 'string',
+      'format' => 'hex-color',
+    ),
+  ),
+  'additionalProperties' => false,
+);
+```
+
+This would pass validation.
+
+```json
+{
+  "primary": "#ff6d69",
+  "secondary": "#fecc50"
+}
+```
+
+While this would fail validation.
+
+```json
+{
+  "primary": "blue",
+  "$secondary": "#fecc50"
+}
+```
+
+When the REST API validates the `patternProperties` schema, if a property doesn’t match any of the patterns, the property will be allowed and not have any validation applied to its contents. While this may be confusing, it behaves the same as the `properties` keyword. If this logic isn’t desired, add `additionalProperties` to the schema to disallow non-matching properties.
+
+#### minProperties and maxProperties
+
+The `minItems` and `maxItems` keywords can be used for the `array` type. The `minProperties` and `maxProperties` introduces this same functionality for the `object` type. This can be helpful when using `additionalProperties` to have a list of objects with unique keys.
+
+```php
+array(
+  'type'                 => 'object',
+  'additionalProperties' => array(
+    'type'   => 'string',
+    'format' => 'hex-color',
+  ),
+  'minProperties'        => 1,
+  'maxProperties'        => 3,
+);
+```
+
+This would pass validation.
+
+```json
+{
+  "primary": "#52accc",
+  "secondary": "#096484"
+}
+```
+
+While this would fail validation.
+
+```json
+{
+  "primary": "#52accc",
+  "secondary": "#096484",
+  "tertiary": "#07526c"
+}
+```
+
+The `exclusiveMinimum` and `exclusiveMaximum` keywords do not apply, they are only valid for the `number` and `integer` types.
+
+### Type agnostic keywords
+
+#### oneOf and anyOf
+
+These are advanced keywords that allow for the JSON Schema validator to choose one of many schemas to use when validating a value. The `anyOf` keyword allows for a value to match at least one of the given schemas. Whereas, the `oneOf` keyword requires the value match _exactly_ one schema.
+
+For example, this schema allows for submitting an array of “operations” to an endpoint. Each operation can either be a “crop” or a “rotation”.
+
+```php
+array(
+	'type'  => 'array',
+	'items' => array(
+		'oneOf' => array(
+			array(
+				'title'      => 'Crop',
+				'type'       => 'object',
+				'properties' => array(
+					'operation' => array(
+						'type' => 'string',
+						'enum' => array(
+							'crop',
+						),
+					),
+					'x'         => array(
+						'type' => 'integer',
+					),
+					'y'         => array(
+						'type' => 'integer',
+					),
+				),
+			),
+			array(
+				'title'      => 'Rotation',
+				'type'       => 'object',
+				'properties' => array(
+					'operation' => array(
+						'type' => 'string',
+						'enum' => array(
+							'rotate',
+						),
+					),
+					'degrees'   => array(
+						'type'    => 'integer',
+						'minimum' => 0,
+						'maximum' => 360,
+					),
+				),
+			),
+		),
+	),
+);
+```
+
+The REST API will loop over each schema specified in the `oneOf` array and look for a match. If exactly one schema matches, then validation will succeed. If more than one schema matches, validation will fail. If no schemas match, then the validator will try to find the closest matching schema and return an appropriate error message.
+
+> operations[0] is not a valid Rotation. Reason: operations[0][degrees] must be between 0 (inclusive) and 360 (inclusive)
+
+To generate more helpful error messages, it is highly recommended to give each `oneOf` or `anyOf` schema a `title` property.
+
+## Changelog
+
+### WordPress 5.6
+- Support the `multipleOf` JSON Schema keyword. [r49063](https://core.trac.wordpress.org/changeset/49063)
+- Support the `minProperties` and `maxProperties` JSON Schema keywords. [r49053](https://core.trac.wordpress.org/changeset/49053)
+- Support the `patternProperties` JSON Schema keyword. [r49082](https://core.trac.wordpress.org/changeset/49082)
+- Support the `anyOf` and `oneOf` JSON Schema keywords. [r49246](https://core.trac.wordpress.org/changeset/49246)
+
+### WordPress 5.5
+- Improve multi-type JSON Schema support. [r48306](https://core.trac.wordpress.org/changeset/48306)
+- Check required properties are provided when validating an object. [r47809](https://core.trac.wordpress.org/changeset/47809)
+- Only validate the `format` keyword if the `type` is a `string`. [r48300](https://core.trac.wordpress.org/changeset/48300)
+- Support the `uuid` JSON Schema format. [47753](https://core.trac.wordpress.org/changeset/47753)
+- Support the `hex-color` JSON Schema format. [r47450](https://core.trac.wordpress.org/changeset/47450)
+- Support the `pattern` JSON Schema keyword. [r47810](https://core.trac.wordpress.org/changeset/47810)
+- Support the `minItems`, `maxItems`, and `uniqueItems` JSON Schema keywords. [r47923](https://core.trac.wordpress.org/changeset/47923) [r48357](https://core.trac.wordpress.org/changeset/48357)
+- Support the `minLength` and `maxLength` JSON Schema keywords. [r47627](https://core.trac.wordpress.org/changeset/47627)
+
+### WordPress 5.4
+- Support type juggling an empty string to an empty object. [r47362](https://core.trac.wordpress.org/changeset/47362)
+
+### WordPress 5.3
+- Support the `null` primitive type and implement basic multi-type handling. [r46249](https://core.trac.wordpress.org/changeset/46249)
+- Support validating `additionalProperties` against a schema. [r45807](https://core.trac.wordpress.org/changeset/45807)
+
+### WordPress 4.9
+- Support the `object` primitive type. [r41727](https://core.trac.wordpress.org/changeset/41727)
diff --git a/using-the-rest-api/frequently-asked-questions.md b/frequently-asked-questions.md
similarity index 88%
rename from using-the-rest-api/frequently-asked-questions.md
rename to frequently-asked-questions.md
index b2d6eb1..f0c5414 100644
--- a/using-the-rest-api/frequently-asked-questions.md
+++ b/frequently-asked-questions.md
@@ -5,7 +5,7 @@ This page provides solutions to some common questions and problems that may aris
 
 ## Can I disable the REST API?
 
-You should not disable the REST API, because doing so will break WordPress Admin functionality that depends on the API being active. However, you may use a filter to require that API consumers be authenticated, which effectively prevents anonymous external access. See below for more information.
+You should not disable the REST API; doing so will break WordPress Admin functionality that depends on the API being active. However, you may use a filter to require that API consumers be authenticated, which effectively prevents anonymous external access. See below for more information.
 
 
 ## Require Authentication for All Requests
@@ -68,7 +68,7 @@ Instead, manually call the [`WP_REST_Server::response_to_data`](https://develope
 
 ```php
 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' );
-$response = rest_do_request( $req );
+$response = rest_do_request( $request );
 $data = rest_get_server()->response_to_data( $response, true );
 var_dump( $data['_embedded'] );
 ```
@@ -99,14 +99,22 @@ Adding `$is_args` (which will print a ? character if query arguments are found)
 
 ## Why is Authentication not working?
 
-If you're finding that you are sending Authentication headers but the request is not being accepted, and you're using Apache in a CGI environment, Apache may be stripping the headers. Try adding this to a configuration file or .htaccess:
+If you're finding that you are sending Authentication headers but the request is not being accepted, and you are using a CGI environment, your webserver may be stripping the headers. Please try adding the appropriate configuration below to remedy this.
 
+### Apache
+Add the following to a configuration file or .htaccess:
 ```
 <IfModule mod_setenvif>
   SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
 </IfModule>
 ```
 
+### Nginx
+Add the following to your server configurations fastcgi section:
+```
+fastcgi_pass_header Authorization;
+```
+
 ## Why is the REST API not verifying the incoming Origin header? Does this expose my site to CSRF attacks?
 
 Cross-Origin Resource Sharing (CORS) is a mechanism which allows a website to control which Origins (originating external sites) are allowed to access your site's data. CORS prevents against a particular type of attack known as Cross-Site Request Forgery, or CSRF. However, WordPress has an existing CSRF protection mechanism which uses [nonces](https://developer.wordpress.org/plugins/security/nonces/). Tightening CORS restrictions would prevent some authentication methods, so the WordPress REST API uses nonces for CSRF protection instead of CORS.
diff --git a/extending-the-rest-api/glossary.md b/glossary.md
similarity index 94%
rename from extending-the-rest-api/glossary.md
rename to glossary.md
index b241477..c368243 100644
--- a/extending-the-rest-api/glossary.md
+++ b/glossary.md
@@ -5,7 +5,7 @@ New to REST APIs? Get up to speed with phrases used throughout our documentation
 
 <h2 id="controller">Controller</h2>
 
-[Model-View-Controller](http://en.wikipedia.org/wiki/Model-view-controller) is a standard pattern in software development. If you aren't already familiar it, you should do a bit of reading to get up to speed.
+[Model-View-Controller](http://en.wikipedia.org/wiki/Model-view-controller) is a standard pattern in software development. If you aren't already familiar with it, you should do a bit of reading to get up to speed.
 
 Within WP-API, we've adopted the controller concept to have a standard pattern for the classes representing our resource endpoints. All resource endpoints extend `WP_REST_Controller` to ensure they implement common methods.
 
@@ -21,7 +21,7 @@ If you're familiar with WordPress functions, a `GET` request is the equivalent o
 
 The phrase "HTTP Client" refers to the tool you use to interact with WP-API. You might use [Postman](https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en) (Chrome) or [REST Easy](https://github.com/nathan-osman/REST-Easy) (Firefox) to test requests in your browser, or [httpie](https://github.com/jakubroztocil/httpie) to test requests at the commandline.
 
-WordPress itself provides a HTTP Client in the [`WP_HTTP` class](https://codex.wordpress.org/HTTP_API) and related functions (e.g. `wp_remote_get()`). This can be used to access one WordPress site from another.
+WordPress itself provides a HTTP Client in the [`WP_HTTP` class](https://developer.wordpress.org/plugins/http-api/) and related functions (e.g. `wp_remote_get()`). This can be used to access one WordPress site from another.
 
 
 <h2 id="resource">Resource</h2>
diff --git a/index.md b/index.md
index ca886e5..4b34787 100644
--- a/index.md
+++ b/index.md
@@ -2,61 +2,34 @@
 
 The WordPress REST API provides an interface for applications to interact with your WordPress site by sending and receiving data as [JSON](https://en.wikipedia.org/wiki/JSON) (JavaScript Object Notation) objects. It is the foundation of the [WordPress Block Editor](https://developer.wordpress.org/block-editor/), and can likewise enable your theme, plugin or custom application to present new, powerful interfaces for managing and publishing your site content.
 
+Using the WordPress REST API you can create a plugin to provide an entirely new admin experience for WordPress, build a brand new interactive front-end experience, or bring your WordPress content into completely separate applications.
+
+The REST API is a developer-oriented feature of WordPress. It provides data access to the content of your site, and implements the same authentication restrictions -- content that is public on your site is generally publicly accessible via the REST API, while private content, password-protected content, internal users, custom post types, and metadata is only available with authentication or if you specifically set it to be so. If you are not a developer, the most important thing to understand about the API is that it enables the block editor and modern plugin interfaces without compromising the security or privacy of your site.
+
+## What Is A REST API?
+
 An API is an Application Programming Interface. REST, standing for "REpresentational State Transfer," is a set of concepts for modeling and accessing your application's data as interrelated objects and collections. The WordPress REST API provides REST endpoints (URLs) representing the posts, pages, taxonomies, and other built-in WordPress data types. Your application can send and receive JSON data to these endpoints to query, modify and create content on your site. JSON is an open standard data format that is lightweight and human-readable, and looks like Objects do in JavaScript. When you request content from or send content to the API, the response will also be returned in JSON. Because JSON is widely supported in many programming languages, developers can build WordPress applications in client-side JavaScript (like the block editor), as mobile apps, or as desktop or command line tools.
 
 [info]The REST API is just one of many APIs provided by WordPress. You can find the [documentation on these additional APIs here](https://codex.wordpress.org/WordPress_APIs).[/info]
 
-## Why use the WordPress REST API
+## Using the WordPress REST API 
 
 WordPress already provides a rich set of tools and interfaces for building sites, and you should not feel pressured to use the REST API if your site is already working the way you expect. You do not need to use the REST API to build a WordPress theme or plugin.
 
 However, if you do wish to write your theme, plugin, or external application as a client-side JavaScript application, or a standalone program in a language other than PHP, then your application will need a structured way to access content within your WordPress site. Any programming language which can make HTTP requests and interpret JSON can use the REST API to interact with WordPress, from PHP, Node.js, Go, and Java, to Swift, Kotlin, and beyond.
 
-Using the WordPress REST API you can create a plugin to provide an entirely new admin experiences for WordPress, build a brand new interactive front-end experience, or bring your WordPress content into completely separate applications. Even if you're using vanilla JavaScript or jQuery within a theme or plugin the REST API provides a more predictable and structured way to interact with your site's content than [`admin-ajax`](https://codex.wordpress.org/AJAX_in_Plugins), enabling you to spend less time accessing the data you need and more time creating better user experiences.
+Even if you're using vanilla JavaScript or jQuery within a theme or plugin the REST API provides a more predictable and structured way to interact with your site's content than [`admin-ajax`](https://codex.wordpress.org/AJAX_in_Plugins), enabling you to spend less time accessing the data you need and more time creating better user experiences.
 
 If you want a structured, extensible, and simple way to get data in and out of WordPress, you probably want to use the REST API.
 
 For all of its simplicity the REST API can feel quite complex at first, so in this handbook we will attempt to break it down into smaller components to explain each part of the full puzzle.
 
-## Key Concepts
-
-To get started we will break down some of the key concepts and terms associated with the REST API: **Routes & Endpoints,** **Requests**, **Responses**, **Schema**, and **Controller Classes**. Each of these concepts play a crucial role in understanding, using, and extending the WordPress REST API, and each is explored in greater depth within this handbook.
-
-### Routes & Endpoints
-
-In the context of the WordPress REST API a **route** is a URI which can be mapped to different HTTP methods. The mapping of an individual HTTP method to a route is known as an **endpoint**.
-
-As an example, if we make a `GET` request to the URI `http://oursite.com/wp-json/` we are returned a JSON response showing what routes are available, and what endpoints are available within each route. `/wp-json/` is a route, and when that route receives a `GET` request then that request is handled by the endpoint which displays what is known as the index for the WordPress REST API. The route `wp-json/wp/v2/posts` by contrast has a `GET` endpoint which returns a list of posts, but also a `POST` endpoint which accepts authenticated requests to create new posts.
-
-We will learn how to register our own routes and endpoints in the following sections.
-
-[info]If you are using [non-pretty permalinks](https://wordpress.org/support/article/using-permalinks/), you should pass the REST API route as a query string parameter. The route `http://oursite.com/wp-json/` in the example above would hence be `http://oursite.com/?rest_route=/`.[/info]
-
-If you get a `404` error when trying to access `http://oursite.com/wp-json/`, consider enabling pretty permalinks or try using the `rest_route` parameter instead.
-
-### Requests
-
-A REST API request is represented within WordPress by an instance of the `WP_REST_Request` class, which is used to store and retrieve information for the current request. A `WP_REST_Request` object is automatically generated when you make an HTTP request to a registered API route. The data specified in this object (derived from the route URI or the JSON payload sent as a part of the request) determines what response you will get back out of the API.
-
-Requests are usually submitted remotely via HTTP but may also be made internally from PHP within WordPress plugin or theme code. There are a lot of neat things you can do using this class, detailed further elsewhere in the handbook.
-
-### Responses
-
-Responses are the data you get back from the API. The `WP_REST_Response` class provides a way to interact with the response data returned by endpoints. Responses return the requested data, or can also be used to return errors if something goes wrong while fulfilling the request.
-
-### Schema
-
-Each endpoint requires a particular structure of input data, and returns data using a defined and predictable structure. Those data structures are defined in the API Schema. The schema structures API data and provides a comprehensive list of all of the properties the API can return and which input parameters it can accept. Well-defined schema also provides one layer of security within the API, as it enables us to validate and sanitize the requests being made to the API. The [Schema section](https://developer.wordpress.org/rest-api/extending-the-rest-api/schema/) explores this large topic further.
-
-
-### Controller Classes
-
-Controller classes unify and coordinate all these various moving parts within a REST API response cycle. With a controller class you can manage the registration of routes & endpoints, handle requests, utilize schema, and generate API responses. A single class usually contains all of the logic for a given route, and a given route usually represents a specific type of data object within your WordPress site (like a custom post type or taxonomy).
-
 ## Next Steps
 
+Familiarize yourself with the [key technical concepts](https://developer.wordpress.org/rest-api/key-concepts/) behind how the REST API functions.
+
 Learn more about how to interact with API resources and query for specific data in the [Using the REST API](https://developer.wordpress.org/rest-api/using-the-rest-api/) section.
 
 Once you're comfortable with the default workings of the default routes and methods, discover how to add new data to the API or enhance and manipulate existing response objects in the [Extending the REST API](https://developer.wordpress.org/rest-api/extending-the-rest-api/) section.
 
-For a comprehensive overview of the resources and routes available by default, review the [API reference](https://developer.wordpress.org/rest-api/reference/).
\ No newline at end of file
+For a comprehensive overview of the resources and routes available by default, review the [API reference](https://developer.wordpress.org/rest-api/reference/).
diff --git a/key-concepts.md b/key-concepts.md
new file mode 100644
index 0000000..b805042
--- /dev/null
+++ b/key-concepts.md
@@ -0,0 +1,46 @@
+# Key Concepts
+
+In this page we'll break down some of the key concepts and terms associated with the REST API: **Routes & Endpoints,** **Requests**, **Responses**, **Schema**, and **Controller Classes**. Each of these concepts play a crucial role in understanding, using, and extending the WordPress REST API, and each is explored in greater depth within this handbook.
+
+## Routes & Endpoints
+
+In the context of the WordPress REST API a **route** is a URI which can be mapped to different HTTP methods. The mapping of an individual HTTP method to a route is known as an **endpoint**.
+
+As an example, if we make a `GET` request to the URI <code>http://oursite.com/wp-json/</code> we are returned a JSON response showing what routes are available, and what endpoints are available within each route. 
+
+`/wp-json/` is a route, and when that route receives a `GET` request then that request is handled by the endpoint which displays what is known as the index for the WordPress REST API. 
+
+The route `wp-json/wp/v2/posts` by contrast has a `GET` endpoint which returns a list of posts, but also a `POST` endpoint which accepts authenticated requests to create new posts.
+
+We will learn how to register our own routes and endpoints in the following sections.
+
+[info]If you are using [non-pretty permalinks](https://wordpress.org/support/article/using-permalinks/), you should pass the REST API route as a query string parameter. The route <code>http://oursite.com/wp-json/</code> in the example above would hence be <code>http://oursite.com/?rest_route=/</code>.[/info]
+
+If you get a `404` error when trying to access <code>http://oursite.com/wp-json/</code>, consider enabling pretty permalinks or try using the `rest_route` parameter instead.
+
+## Requests
+
+A REST API request is represented within WordPress by an instance of the `WP_REST_Request` class, which is used to store and retrieve information for the current request. A `WP_REST_Request` object is automatically generated when you make an HTTP request to a registered API route. 
+
+The data specified in this object (derived from the route URI or the JSON payload sent as a part of the request) determines what response you will get back out of the API.
+
+Requests are usually submitted remotely via HTTP but may also be made internally from PHP within WordPress plugin or theme code. There are a lot of neat things you can do using this class, detailed further elsewhere in the handbook.
+
+## Responses
+
+Responses are the data you get back from the API. The `WP_REST_Response` class provides a way to interact with the response data returned by endpoints. Responses return the requested data, or can also be used to return errors if something goes wrong while fulfilling the request.
+
+## Schema
+
+Each endpoint requires a particular structure of input data, and returns data using a defined and predictable structure. Those data structures are defined in the API Schema. 
+
+The schema structures API data and provides a comprehensive list of all of the properties the API can return and which input parameters it can accept. 
+
+Well-defined schema also provides one layer of security within the API, as it enables us to validate and sanitize the requests being made to the API. The [Schema section](https://developer.wordpress.org/rest-api/extending-the-rest-api/schema/) explores this large topic further.
+
+
+## Controller Classes
+
+Controller classes unify and coordinate all these various moving parts within a REST API response cycle. With a controller class you can manage the registration of routes & endpoints, handle requests, utilize schema, and generate API responses. 
+
+A single class usually contains all of the logic for a given route, and a given route usually represents a specific type of data object within your WordPress site (like a custom post type or taxonomy).
\ No newline at end of file
diff --git a/reference.md b/reference.md
index a6c669c..47cb9e0 100644
--- a/reference.md
+++ b/reference.md
@@ -76,21 +76,31 @@ This API reference provides information on the specific endpoints available thro
     <td><code>/wp/v2/search</code></td>
   </tr>
   <tr>
-    <td><a href="https://developer.wordpress.org/rest-api/reference/wp_blocks/">Blocks</a></td>
+    <td><a href="https://developer.wordpress.org/rest-api/reference/block-types/">Block Types</a></td>
+    <td><code>/wp/v2/block-types</code></td>
+  </tr>
+  <tr>
+    <td><a href="https://developer.wordpress.org/rest-api/reference/blocks/">Blocks</a></td>
     <td><code>/wp/v2/blocks</code></td>
   </tr>
   <tr>
-    <td><a href="https://developer.wordpress.org/rest-api/reference/wp_block-revisions/">Block Revisions</a></td>
+    <td><a href="https://developer.wordpress.org/rest-api/reference/block-revisions/">Block Revisions</a></td>
     <td><code>/wp/v2/blocks/&lt;id&gt;/autosaves/</code></td>
   </tr>
   <tr>
     <td><a href="https://developer.wordpress.org/rest-api/reference/rendered-blocks/">Block Renderer</a></td>
     <td><code>/wp/v2/block-renderer</code></td>
   </tr>
+  <tr>
+    <td><a href="https://developer.wordpress.org/rest-api/reference/block-directory-items/">Block Directory Items</a></td>
+    <td><code>/wp/v2/block-directory/search</code></td>
+  </tr>
+  <tr>
+    <td><a href="https://developer.wordpress.org/rest-api/reference/plugins/">Plugins</a></td>
+    <td><code>/wp/v2/plugins</code></td>
+  </tr>
 </table>
 
 ## A Distributed API
 
 Unlike many other REST APIs, the WordPress REST API is distributed and available individually on each site that supports it. This means there is no singular API root or base to contact; instead, we have [a discovery process](https://developer.wordpress.org/rest-api/discovery/) that allows interacting with sites without prior contact. The API also exposes self-documentation at the index endpoint, or via an `OPTIONS` request to any endpoint, allowing human- or machine-discovery of endpoint capabilities.
-
-A [demo installation](https://demo.wp-api.org/) of the API for testing purposes is available at `https://demo.wp-api.org/wp-json/`; this site supports auto-discovery, and provides read-only demo data.
diff --git a/reference/application-passwords.md b/reference/application-passwords.md
new file mode 100644
index 0000000..c9d0660
--- /dev/null
+++ b/reference/application-passwords.md
@@ -0,0 +1,300 @@
+---
+---
+
+# Application Passwords
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a application password 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.</p>
+<table class="attributes">
+			<tr id="schema-uuid">
+			<td>
+				<code>uuid</code>
+			</td>
+			<td>
+				<p>The unique identifier for the application password.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uuid
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-app_id">
+			<td>
+				<code>app_id</code>
+			</td>
+			<td>
+				<p>A UUID provided by the application to uniquely identify it. It is recommended to use an UUID v5 with the URL or DNS namespace.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uuid
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>The name of the application password.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-password">
+			<td>
+				<code>password</code>
+			</td>
+			<td>
+				<p>The generated password. Only available after adding an application.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-created">
+			<td>
+				<code>created</code>
+			</td>
+			<td>
+				<p>The GMT date the application password was created.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-last_used">
+			<td>
+				<code>last_used</code>
+			</td>
+			<td>
+				<p>The GMT date the application password was last used.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-last_ip">
+			<td>
+				<code>last_ip</code>
+			</td>
+			<td>
+				<p>The IP address the application password was last used by.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: ip
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Application Password</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/users/&lt;user_id&gt;)/application-passwords</code>
+
+		<p>Query this endpoint to retrieve a specific application password record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/users/&lt;user_id&gt;)/application-passwords</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Application Password</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-app_id">app_id</a></code><br />
+									</td>
+				<td>
+											<p>A UUID provided by the application to uniquely identify it. It is recommended to use an UUID v5 with the URL or DNS namespace.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-name">name</a></code><br />
+									</td>
+				<td>
+											<p>The name of the application password.</p>
+																<p class="required">
+							Required: 1
+						</p>
+																			</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/users/&lt;user_id&gt;)/application-passwords</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Application Password</h2>
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/users/&lt;user_id&gt;)/application-passwords</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/users/&lt;user_id&gt;)/application-passwords</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Application Password</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/users/&lt;user_id&gt;)/application-passwords/introspect</code>
+
+		<p>Query this endpoint to retrieve a specific application password record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/users/&lt;user_id&gt;)/application-passwords/introspect</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Application Password</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/users/&lt;user_id&gt;)/application-passwords/&lt;uuid&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific application password record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/users/&lt;user_id&gt;)/application-passwords/&lt;uuid&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Application Password</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-app_id">app_id</a></code><br />
+									</td>
+				<td>
+											<p>A UUID provided by the application to uniquely identify it. It is recommended to use an UUID v5 with the URL or DNS namespace.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-name">name</a></code><br />
+									</td>
+				<td>
+											<p>The name of the application password.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/users/&lt;user_id&gt;)/application-passwords/&lt;uuid&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Application Password</h2>
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/users/&lt;user_id&gt;)/application-passwords/&lt;uuid&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/users/&lt;user_id&gt;)/application-passwords/&lt;uuid&gt;</code>
+	</div>
+</section>
+</div>
diff --git a/reference/block-directory-items.md b/reference/block-directory-items.md
new file mode 100644
index 0000000..89bebe8
--- /dev/null
+++ b/reference/block-directory-items.md
@@ -0,0 +1,228 @@
+---
+---
+
+# Block Directory Items
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a block directory item 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.</p>
+<table class="attributes">
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>The block name, in namespace/block-name format.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>The block title, in human readable format.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>A short description of the block, in human readable format.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>The block slug.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-rating">
+			<td>
+				<code>rating</code>
+			</td>
+			<td>
+				<p>The star rating of the block.</p>
+				<p class="type">
+					JSON data type: number				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-rating_count">
+			<td>
+				<code>rating_count</code>
+			</td>
+			<td>
+				<p>The number of ratings.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-active_installs">
+			<td>
+				<code>active_installs</code>
+			</td>
+			<td>
+				<p>The number sites that have activated this block.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-author_block_rating">
+			<td>
+				<code>author_block_rating</code>
+			</td>
+			<td>
+				<p>The average rating of blocks published by the same author.</p>
+				<p class="type">
+					JSON data type: number				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-author_block_count">
+			<td>
+				<code>author_block_count</code>
+			</td>
+			<td>
+				<p>The number of blocks published by the same author.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The WordPress.org username of the block author.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-icon">
+			<td>
+				<code>icon</code>
+			</td>
+			<td>
+				<p>The block icon.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-last_updated">
+			<td>
+				<code>last_updated</code>
+			</td>
+			<td>
+				<p>The date when the block was last updated.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+			<tr id="schema-humanized_updated">
+			<td>
+				<code>humanized_updated</code>
+			</td>
+			<td>
+				<p>The date when the block was last updated, in fuzzy human readable format.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Block Directory Items</h2>
+		<p>Query this endpoint to retrieve a collection of block directory items. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/block-directory/search</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/block-directory/search</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																					<p class="default">
+							Default: <code>10</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>term</code><br />
+									</td>
+				<td>
+											<p>Limit result set to blocks matching the search term.</p>
+																<p class="required">
+							Required: 1
+						</p>
+																			</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/block-pattern-categories.md b/reference/block-pattern-categories.md
new file mode 100644
index 0000000..6d38a6b
--- /dev/null
+++ b/reference/block-pattern-categories.md
@@ -0,0 +1,69 @@
+---
+---
+
+# Block Pattern Categories
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a block pattern category 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.</p>
+<table class="attributes">
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>The category name.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-label">
+			<td>
+				<code>label</code>
+			</td>
+			<td>
+				<p>The category label, in human readable format.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>The category description, in human readable format.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Block Pattern Category</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/block-patterns/categories</code>
+
+		<p>Query this endpoint to retrieve a specific block pattern category record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/block-patterns/categories</code>
+	</div>
+	<div class="secondary">
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+</section>
+</div>
diff --git a/reference/block-patterns.md b/reference/block-patterns.md
new file mode 100644
index 0000000..295c080
--- /dev/null
+++ b/reference/block-patterns.md
@@ -0,0 +1,178 @@
+---
+---
+
+# Block Patterns
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a block pattern 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.</p>
+<table class="attributes">
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>The pattern name.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>The pattern title, in human readable format.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-content">
+			<td>
+				<code>content</code>
+			</td>
+			<td>
+				<p>The pattern content.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>The pattern detailed description.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-viewport_width">
+			<td>
+				<code>viewport_width</code>
+			</td>
+			<td>
+				<p>The pattern viewport width for inserter preview.</p>
+				<p class="type">
+					JSON data type: number				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-inserter">
+			<td>
+				<code>inserter</code>
+			</td>
+			<td>
+				<p>Determines whether the pattern is visible in inserter.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-categories">
+			<td>
+				<code>categories</code>
+			</td>
+			<td>
+				<p>The pattern category slugs.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-keywords">
+			<td>
+				<code>keywords</code>
+			</td>
+			<td>
+				<p>The pattern keywords.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-block_types">
+			<td>
+				<code>block_types</code>
+			</td>
+			<td>
+				<p>Block types that the pattern is intended to be used with.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-post_types">
+			<td>
+				<code>post_types</code>
+			</td>
+			<td>
+				<p>An array of post types that the pattern is restricted to be used with.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-template_types">
+			<td>
+				<code>template_types</code>
+			</td>
+			<td>
+				<p>An array of template types where the pattern fits.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-source">
+			<td>
+				<code>source</code>
+			</td>
+			<td>
+				<p>Where the pattern comes from e.g. core</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+									<p>One of: <code>core</code>, <code>plugin</code>, <code>theme</code>, <code>pattern-directory/core</code>, <code>pattern-directory/theme</code>, <code>pattern-directory/featured</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Block Pattern</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/block-patterns/patterns</code>
+
+		<p>Query this endpoint to retrieve a specific block pattern record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/block-patterns/patterns</code>
+	</div>
+	<div class="secondary">
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+</section>
+</div>
diff --git a/reference/block-revisions.md b/reference/block-revisions.md
new file mode 100644
index 0000000..56bdd20
--- /dev/null
+++ b/reference/block-revisions.md
@@ -0,0 +1,531 @@
+---
+---
+
+# Block Revisions
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a Block Revision 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.</p>
+<table class="attributes">
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The ID for the author of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date">
+			<td>
+				<code>date</code>
+			</td>
+			<td>
+				<p>The date the revision was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date_gmt">
+			<td>
+				<code>date_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-guid">
+			<td>
+				<code>guid</code>
+			</td>
+			<td>
+				<p>The globally unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified">
+			<td>
+				<code>modified</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified_gmt">
+			<td>
+				<code>modified_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-parent">
+			<td>
+				<code>parent</code>
+			</td>
+			<td>
+				<p>The ID for the parent of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-slug">
+			<td>
+				<code>slug</code>
+			</td>
+			<td>
+				<p>An alphanumeric identifier for the revision unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>The title for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-content">
+			<td>
+				<code>content</code>
+			</td>
+			<td>
+				<p>The content for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Block Revisions</h2>
+		<p>Query this endpoint to retrieve a collection of Block Revisions. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/blocks/&lt;parent&gt;/revisions</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/blocks/&lt;parent&gt;/revisions</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a string.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>exclude</code><br />
+									</td>
+				<td>
+											<p>Ensure result set excludes specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>include</code><br />
+									</td>
+				<td>
+											<p>Limit result set to specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>offset</code><br />
+									</td>
+				<td>
+											<p>Offset the result set by a specific number of items.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>order</code><br />
+									</td>
+				<td>
+											<p>Order sort attribute ascending or descending.</p>
+																					<p class="default">
+							Default: <code>desc</code>
+						</p>
+																<p>One of: <code>asc</code>, <code>desc</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>orderby</code><br />
+									</td>
+				<td>
+											<p>Sort collection by object attribute.</p>
+																					<p class="default">
+							Default: <code>date</code>
+						</p>
+																<p>One of: <code>date</code>, <code>id</code>, <code>include</code>, <code>relevance</code>, <code>slug</code>, <code>include_slugs</code>, <code>title</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Block Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/blocks/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific Block Revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/blocks/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Block Revision</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Required to be true, as revisions do not support trashing.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/blocks/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/blocks/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Block Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/blocks/&lt;id&gt;/autosaves</code>
+
+		<p>Query this endpoint to retrieve a specific Block Revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/blocks/&lt;id&gt;/autosaves</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Block Revision</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-parent">parent</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-date">date</a></code><br />
+									</td>
+				<td>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
+									</td>
+				<td>
+											<p>The date the post was published, as GMT.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>A named status for the post.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-password">password</a></code><br />
+									</td>
+				<td>
+											<p>A password to protect access to the content and excerpt.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>The title for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>The content for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-meta">meta</a></code><br />
+									</td>
+				<td>
+											<p>Meta fields.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-template">template</a></code><br />
+									</td>
+				<td>
+											<p>The theme file to use to display the post.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/blocks/&lt;id&gt;/autosaves</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Block Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/blocks/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific Block Revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/blocks/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The ID for the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/block-types.md b/reference/block-types.md
new file mode 100644
index 0000000..e2bbcad
--- /dev/null
+++ b/reference/block-types.md
@@ -0,0 +1,489 @@
+---
+---
+
+# Block Types
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a block type 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.</p>
+<table class="attributes">
+			<tr id="schema-api_version">
+			<td>
+				<code>api_version</code>
+			</td>
+			<td>
+				<p>Version of block API.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>Title of block type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>Unique name identifying the block type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>Description of block type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-icon">
+			<td>
+				<code>icon</code>
+			</td>
+			<td>
+				<p>Icon of block type.</p>
+				<p class="type">
+					JSON data type: string or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-attributes">
+			<td>
+				<code>attributes</code>
+			</td>
+			<td>
+				<p>Block attributes.</p>
+				<p class="type">
+					JSON data type: object or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-provides_context">
+			<td>
+				<code>provides_context</code>
+			</td>
+			<td>
+				<p>Context provided by blocks of this type.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-uses_context">
+			<td>
+				<code>uses_context</code>
+			</td>
+			<td>
+				<p>Context values inherited by blocks of this type.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-selectors">
+			<td>
+				<code>selectors</code>
+			</td>
+			<td>
+				<p>Custom CSS selectors.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-supports">
+			<td>
+				<code>supports</code>
+			</td>
+			<td>
+				<p>Block supports.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-category">
+			<td>
+				<code>category</code>
+			</td>
+			<td>
+				<p>Block category.</p>
+				<p class="type">
+					JSON data type: string or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-is_dynamic">
+			<td>
+				<code>is_dynamic</code>
+			</td>
+			<td>
+				<p>Is the block dynamically rendered.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-editor_script_handles">
+			<td>
+				<code>editor_script_handles</code>
+			</td>
+			<td>
+				<p>Editor script handles.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-script_handles">
+			<td>
+				<code>script_handles</code>
+			</td>
+			<td>
+				<p>Public facing and editor script handles.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-view_script_handles">
+			<td>
+				<code>view_script_handles</code>
+			</td>
+			<td>
+				<p>Public facing script handles.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-editor_style_handles">
+			<td>
+				<code>editor_style_handles</code>
+			</td>
+			<td>
+				<p>Editor style handles.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-style_handles">
+			<td>
+				<code>style_handles</code>
+			</td>
+			<td>
+				<p>Public facing and editor style handles.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-styles">
+			<td>
+				<code>styles</code>
+			</td>
+			<td>
+				<p>Block style variations.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-variations">
+			<td>
+				<code>variations</code>
+			</td>
+			<td>
+				<p>Block variations.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-textdomain">
+			<td>
+				<code>textdomain</code>
+			</td>
+			<td>
+				<p>Public text domain.</p>
+				<p class="type">
+					JSON data type: string or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-parent">
+			<td>
+				<code>parent</code>
+			</td>
+			<td>
+				<p>Parent blocks.</p>
+				<p class="type">
+					JSON data type: array or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-ancestor">
+			<td>
+				<code>ancestor</code>
+			</td>
+			<td>
+				<p>Ancestor blocks.</p>
+				<p class="type">
+					JSON data type: array or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-keywords">
+			<td>
+				<code>keywords</code>
+			</td>
+			<td>
+				<p>Block keywords.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-example">
+			<td>
+				<code>example</code>
+			</td>
+			<td>
+				<p>Block example.</p>
+				<p class="type">
+					JSON data type: object or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-editor_script">
+			<td>
+				<code>editor_script</code>
+			</td>
+			<td>
+				<p>Editor script handle. DEPRECATED: Use `editor_script_handles` instead.</p>
+				<p class="type">
+					JSON data type: string or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-script">
+			<td>
+				<code>script</code>
+			</td>
+			<td>
+				<p>Public facing and editor script handle. DEPRECATED: Use `script_handles` instead.</p>
+				<p class="type">
+					JSON data type: string or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-view_script">
+			<td>
+				<code>view_script</code>
+			</td>
+			<td>
+				<p>Public facing script handle. DEPRECATED: Use `view_script_handles` instead.</p>
+				<p class="type">
+					JSON data type: string or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-editor_style">
+			<td>
+				<code>editor_style</code>
+			</td>
+			<td>
+				<p>Editor style handle. DEPRECATED: Use `editor_style_handles` instead.</p>
+				<p class="type">
+					JSON data type: string or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-style">
+			<td>
+				<code>style</code>
+			</td>
+			<td>
+				<p>Public facing and editor style handle. DEPRECATED: Use `style_handles` instead.</p>
+				<p class="type">
+					JSON data type: string or null				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Block Type</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/block-types</code>
+
+		<p>Query this endpoint to retrieve a specific block type record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/block-types</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>namespace</code><br />
+									</td>
+				<td>
+											<p>Block namespace.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Block Type</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/block-types/&lt;namespace&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific block type record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/block-types/&lt;namespace&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>namespace</code><br />
+									</td>
+				<td>
+											<p>Block namespace.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Block Type</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/block-types/&lt;namespace&gt;/&lt;name&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific block type record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/block-types/&lt;namespace&gt;/&lt;name&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>name</code><br />
+									</td>
+				<td>
+											<p>Block name.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>namespace</code><br />
+									</td>
+				<td>
+											<p>Block namespace.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/wp_blocks.md b/reference/blocks.md
similarity index 68%
rename from reference/wp_blocks.md
rename to reference/blocks.md
index aead204..df2e0d8 100644
--- a/reference/wp_blocks.md
+++ b/reference/blocks.md
@@ -1,197 +1,214 @@
 ---
 ---
 
-# wp_blocks
+# Editor Blocks
 
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a wp_block object.</p>
+<p>The schema defines all the fields that exist within a Editor Block 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.</p>
 <table class="attributes">
 			<tr id="schema-date">
 			<td>
-				<code>date</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date</code>
 			</td>
 			<td>
-				<p>The date the object was published, in the site&#039;s timezone.</p>
+				<p>The date the post was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date_gmt">
 			<td>
-				<code>date_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was published, as GMT.</p>
+				<p>The date the post was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-guid">
 			<td>
-				<code>guid</code><br />
-				<span class="type">
-					object				</span>
+				<code>guid</code>
 			</td>
 			<td>
-				<p>The globally unique identifier for the object.</p>
+				<p>The globally unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
-				<p>Unique identifier for the object.</p>
+				<p>Unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-link">
 			<td>
-				<code>link</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>link</code>
 			</td>
 			<td>
-				<p>URL to the object.</p>
+				<p>URL to the post.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified">
 			<td>
-				<code>modified</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, in the site&#039;s timezone.</p>
+				<p>The date the post was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified_gmt">
 			<td>
-				<code>modified_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, as GMT.</p>
+				<p>The date the post was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
-				<p>An alphanumeric identifier for the object unique to its type.</p>
+				<p>An alphanumeric identifier for the post unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-status">
 			<td>
-				<code>status</code><br />
-				<span class="type">
-					string				</span>
+				<code>status</code>
 			</td>
 			<td>
-				<p>A named status for the object.</p>
+				<p>A named status for the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 							</td>
 		</tr>
 			<tr id="schema-type">
 			<td>
-				<code>type</code><br />
-				<span class="type">
-					string				</span>
+				<code>type</code>
 			</td>
 			<td>
-				<p>Type of Post for the object.</p>
+				<p>Type of post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-password">
 			<td>
-				<code>password</code><br />
-				<span class="type">
-					string				</span>
+				<code>password</code>
 			</td>
 			<td>
 				<p>A password to protect access to the content and excerpt.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-title">
 			<td>
-				<code>title</code><br />
-				<span class="type">
-					object				</span>
+				<code>title</code>
 			</td>
 			<td>
-				<p>The title for the object.</p>
+				<p>The title for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-content">
 			<td>
-				<code>content</code><br />
-				<span class="type">
-					object				</span>
+				<code>content</code>
 			</td>
 			<td>
-				<p>The content for the object.</p>
+				<p>The content for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-meta">
+			<td>
+				<code>meta</code>
+			</td>
+			<td>
+				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-template">
 			<td>
-				<code>template</code><br />
-				<span class="type">
-					string				</span>
+				<code>template</code>
 			</td>
 			<td>
-				<p>The theme file to use to display the object.</p>
+				<p>The theme file to use to display the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/blocks</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
-		<h2>List wp_blocks</h2>
+		<h2>List Editor Blocks</h2>
+		<p>Query this endpoint to retrieve a collection of Editor Blocks. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/blocks</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/blocks</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -243,6 +260,14 @@
 				<td>
 											<p>Limit response to posts published after a given ISO8601 compliant date.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_after</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified after a given ISO8601 compliant date.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -251,6 +276,14 @@
 				<td>
 											<p>Limit response to posts published before a given ISO8601 compliant date.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_before</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified before a given ISO8601 compliant date.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -293,12 +326,20 @@
 											<code>orderby</code><br />
 									</td>
 				<td>
-											<p>Sort collection by object attribute.</p>
+											<p>Sort collection by post attribute.</p>
 																					<p class="default">
 							Default: <code>date</code>
 						</p>
 																<p>One of: <code>author</code>, <code>date</code>, <code>id</code>, <code>include</code>, <code>modified</code>, <code>parent</code>, <code>relevance</code>, <code>slug</code>, <code>include_slugs</code>, <code>title</code></p>
 									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search_columns</code><br />
+									</td>
+				<td>
+											<p>Array of column names to be searched.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -322,19 +363,10 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/blocks</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/blocks</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Create a wp_block</h2>
+		<h2>Create a Editor Block</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -342,7 +374,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -350,7 +382,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -358,7 +390,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -366,7 +398,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -383,7 +415,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -391,7 +423,15 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-meta">meta</a></code><br />
+									</td>
+				<td>
+											<p>Meta fields.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -399,7 +439,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 			</table>
@@ -413,7 +453,17 @@
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Retrieve a wp_block</h2>
+		<h2>Retrieve a Editor Block</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/blocks/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific Editor Block record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/blocks/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -421,7 +471,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -447,19 +497,10 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/blocks/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/blocks/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Update a wp_block</h2>
+		<h2>Update a Editor Block</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -467,7 +508,7 @@
 											<code><a href="#schema-id">id</a></code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -475,7 +516,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -483,7 +524,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -491,7 +532,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -499,7 +540,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -516,7 +557,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -524,7 +565,15 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-meta">meta</a></code><br />
+									</td>
+				<td>
+											<p>Meta fields.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -532,7 +581,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 			</table>
@@ -550,7 +599,7 @@
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Delete a wp_block</h2>
+		<h2>Delete a Editor Block</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -558,7 +607,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -566,7 +615,7 @@
 											<code>force</code><br />
 									</td>
 				<td>
-											<p>Whether to bypass trash and force deletion.</p>
+											<p>Whether to bypass Trash and force deletion.</p>
 																								</td>
 			</tr>
 			</table>
diff --git a/reference/categories.md b/reference/categories.md
index 048b762..7779760 100644
--- a/reference/categories.md
+++ b/reference/categories.md
@@ -6,127 +6,133 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a category object.</p>
+<p>The schema defines all the fields that exist within a category 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.</p>
 <table class="attributes">
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
 				<p>Unique identifier for the term.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-count">
 			<td>
-				<code>count</code><br />
-				<span class="type">
-					integer				</span>
+				<code>count</code>
 			</td>
 			<td>
 				<p>Number of published posts for the term.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-description">
 			<td>
-				<code>description</code><br />
-				<span class="type">
-					string				</span>
+				<code>description</code>
 			</td>
 			<td>
 				<p>HTML description of the term.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-link">
 			<td>
-				<code>link</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>link</code>
 			</td>
 			<td>
 				<p>URL of the term.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-name">
 			<td>
-				<code>name</code><br />
-				<span class="type">
-					string				</span>
+				<code>name</code>
 			</td>
 			<td>
 				<p>HTML title for the term.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
 				<p>An alphanumeric identifier for the term unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-taxonomy">
 			<td>
-				<code>taxonomy</code><br />
-				<span class="type">
-					string				</span>
+				<code>taxonomy</code>
 			</td>
 			<td>
 				<p>Type attribution for the term.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
-									<p>One of: <code>category</code>, <code>post_tag</code>, <code>nav_menu</code>, <code>link_category</code>, <code>post_format</code></p>
+									<p>One of: <code>category</code></p>
 							</td>
 		</tr>
 			<tr id="schema-parent">
 			<td>
-				<code>parent</code><br />
-				<span class="type">
-					integer				</span>
+				<code>parent</code>
 			</td>
 			<td>
 				<p>The parent term ID.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-meta">
 			<td>
-				<code>meta</code><br />
-				<span class="type">
-					object				</span>
+				<code>meta</code>
 			</td>
 			<td>
 				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/categories</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>List Categories</h2>
+		<p>Query this endpoint to retrieve a collection of categories. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/categories</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/categories</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -246,15 +252,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/categories</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/categories</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -316,6 +313,16 @@
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Category</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/categories/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific category record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/categories/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -341,15 +348,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/categories/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/categories/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
diff --git a/reference/comments.md b/reference/comments.md
index 859f0ad..eb6b541 100644
--- a/reference/comments.md
+++ b/reference/comments.md
@@ -6,224 +6,230 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a comment object.</p>
+<p>The schema defines all the fields that exist within a comment 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.</p>
 <table class="attributes">
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
-				<p>Unique identifier for the object.</p>
+				<p>Unique identifier for the comment.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author">
 			<td>
-				<code>author</code><br />
-				<span class="type">
-					integer				</span>
+				<code>author</code>
 			</td>
 			<td>
 				<p>The ID of the user object, if author was a user.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author_email">
 			<td>
-				<code>author_email</code><br />
-				<span class="type">
-					string,
-													email
-									</span>
+				<code>author_email</code>
 			</td>
 			<td>
-				<p>Email address for the object author.</p>
+				<p>Email address for the comment author.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: email
+									</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author_ip">
 			<td>
-				<code>author_ip</code><br />
-				<span class="type">
-					string,
-													ip
-									</span>
+				<code>author_ip</code>
 			</td>
 			<td>
-				<p>IP address for the object author.</p>
+				<p>IP address for the comment author.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: ip
+									</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author_name">
 			<td>
-				<code>author_name</code><br />
-				<span class="type">
-					string				</span>
+				<code>author_name</code>
 			</td>
 			<td>
-				<p>Display name for the object author.</p>
+				<p>Display name for the comment author.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author_url">
 			<td>
-				<code>author_url</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>author_url</code>
 			</td>
 			<td>
-				<p>URL for the object author.</p>
+				<p>URL for the comment author.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author_user_agent">
 			<td>
-				<code>author_user_agent</code><br />
-				<span class="type">
-					string				</span>
+				<code>author_user_agent</code>
 			</td>
 			<td>
-				<p>User agent for the object author.</p>
+				<p>User agent for the comment author.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-content">
 			<td>
-				<code>content</code><br />
-				<span class="type">
-					object				</span>
+				<code>content</code>
 			</td>
 			<td>
-				<p>The content for the object.</p>
+				<p>The content for the comment.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date">
 			<td>
-				<code>date</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date</code>
 			</td>
 			<td>
-				<p>The date the object was published, in the site&#039;s timezone.</p>
+				<p>The date the comment was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date_gmt">
 			<td>
-				<code>date_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was published, as GMT.</p>
+				<p>The date the comment was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-link">
 			<td>
-				<code>link</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>link</code>
 			</td>
 			<td>
-				<p>URL to the object.</p>
+				<p>URL to the comment.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-parent">
 			<td>
-				<code>parent</code><br />
-				<span class="type">
-					integer				</span>
+				<code>parent</code>
 			</td>
 			<td>
-				<p>The ID for the parent of the object.</p>
+				<p>The ID for the parent of the comment.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-post">
 			<td>
-				<code>post</code><br />
-				<span class="type">
-					integer				</span>
+				<code>post</code>
 			</td>
 			<td>
 				<p>The ID of the associated post object.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-status">
 			<td>
-				<code>status</code><br />
-				<span class="type">
-					string				</span>
+				<code>status</code>
 			</td>
 			<td>
-				<p>State of the object.</p>
+				<p>State of the comment.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-type">
 			<td>
-				<code>type</code><br />
-				<span class="type">
-					string				</span>
+				<code>type</code>
 			</td>
 			<td>
-				<p>Type of Comment for the object.</p>
+				<p>Type of the comment.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author_avatar_urls">
 			<td>
-				<code>author_avatar_urls</code><br />
-				<span class="type">
-					object				</span>
+				<code>author_avatar_urls</code>
 			</td>
 			<td>
-				<p>Avatar URLs for the object author.</p>
+				<p>Avatar URLs for the comment author.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-meta">
 			<td>
-				<code>meta</code><br />
-				<span class="type">
-					object				</span>
+				<code>meta</code>
 			</td>
 			<td>
 				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/comments</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>List Comments</h2>
+		<p>Query this endpoint to retrieve a collection of comments. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/comments</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/comments</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -349,7 +355,7 @@
 											<code>orderby</code><br />
 									</td>
 				<td>
-											<p>Sort collection by object attribute.</p>
+											<p>Sort collection by comment attribute.</p>
 																					<p class="default">
 							Default: <code>date_gmt</code>
 						</p>
@@ -413,15 +419,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/comments</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/comments</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -441,7 +438,7 @@
 											<code><a href="#schema-author_email">author_email</a></code><br />
 									</td>
 				<td>
-											<p>Email address for the object author.</p>
+											<p>Email address for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -449,7 +446,7 @@
 											<code><a href="#schema-author_ip">author_ip</a></code><br />
 									</td>
 				<td>
-											<p>IP address for the object author.</p>
+											<p>IP address for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -457,7 +454,7 @@
 											<code><a href="#schema-author_name">author_name</a></code><br />
 									</td>
 				<td>
-											<p>Display name for the object author.</p>
+											<p>Display name for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -465,7 +462,7 @@
 											<code><a href="#schema-author_url">author_url</a></code><br />
 									</td>
 				<td>
-											<p>URL for the object author.</p>
+											<p>URL for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -473,7 +470,7 @@
 											<code><a href="#schema-author_user_agent">author_user_agent</a></code><br />
 									</td>
 				<td>
-											<p>User agent for the object author.</p>
+											<p>User agent for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -481,7 +478,7 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the comment.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -489,7 +486,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the comment was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -497,7 +494,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the comment was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -505,7 +502,7 @@
 											<code><a href="#schema-parent">parent</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the comment.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -521,7 +518,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>State of the object.</p>
+											<p>State of the comment.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -544,6 +541,16 @@
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Comment</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/comments/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific comment record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/comments/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -551,7 +558,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the comment.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -577,15 +584,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/comments/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/comments/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -597,7 +595,7 @@
 											<code><a href="#schema-id">id</a></code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the comment.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -613,7 +611,7 @@
 											<code><a href="#schema-author_email">author_email</a></code><br />
 									</td>
 				<td>
-											<p>Email address for the object author.</p>
+											<p>Email address for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -621,7 +619,7 @@
 											<code><a href="#schema-author_ip">author_ip</a></code><br />
 									</td>
 				<td>
-											<p>IP address for the object author.</p>
+											<p>IP address for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -629,7 +627,7 @@
 											<code><a href="#schema-author_name">author_name</a></code><br />
 									</td>
 				<td>
-											<p>Display name for the object author.</p>
+											<p>Display name for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -637,7 +635,7 @@
 											<code><a href="#schema-author_url">author_url</a></code><br />
 									</td>
 				<td>
-											<p>URL for the object author.</p>
+											<p>URL for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -645,7 +643,7 @@
 											<code><a href="#schema-author_user_agent">author_user_agent</a></code><br />
 									</td>
 				<td>
-											<p>User agent for the object author.</p>
+											<p>User agent for the comment author.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -653,7 +651,7 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the comment.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -661,7 +659,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the comment was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -669,7 +667,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the comment was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -677,7 +675,7 @@
 											<code><a href="#schema-parent">parent</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the comment.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -693,7 +691,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>State of the object.</p>
+											<p>State of the comment.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -727,7 +725,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the comment.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -735,7 +733,7 @@
 											<code>force</code><br />
 									</td>
 				<td>
-											<p>Whether to bypass trash and force deletion.</p>
+											<p>Whether to bypass Trash and force deletion.</p>
 																								</td>
 			</tr>
 					<tr>
diff --git a/reference/media.md b/reference/media.md
index 739a26c..c5f1b2d 100644
--- a/reference/media.md
+++ b/reference/media.md
@@ -6,268 +6,268 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for an attachment object.</p>
+<p>The schema defines all the fields that exist within a Media Item 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.</p>
 <table class="attributes">
 			<tr id="schema-date">
 			<td>
-				<code>date</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date</code>
 			</td>
 			<td>
-				<p>The date the object was published, in the site&#039;s timezone.</p>
+				<p>The date the post was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date_gmt">
 			<td>
-				<code>date_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was published, as GMT.</p>
+				<p>The date the post was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-guid">
 			<td>
-				<code>guid</code><br />
-				<span class="type">
-					object				</span>
+				<code>guid</code>
 			</td>
 			<td>
-				<p>The globally unique identifier for the object.</p>
+				<p>The globally unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
-				<p>Unique identifier for the object.</p>
+				<p>Unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-link">
 			<td>
-				<code>link</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>link</code>
 			</td>
 			<td>
-				<p>URL to the object.</p>
+				<p>URL to the post.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified">
 			<td>
-				<code>modified</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, in the site&#039;s timezone.</p>
+				<p>The date the post was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified_gmt">
 			<td>
-				<code>modified_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, as GMT.</p>
+				<p>The date the post was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
-				<p>An alphanumeric identifier for the object unique to its type.</p>
+				<p>An alphanumeric identifier for the post unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-status">
 			<td>
-				<code>status</code><br />
-				<span class="type">
-					string				</span>
+				<code>status</code>
 			</td>
 			<td>
-				<p>A named status for the object.</p>
+				<p>A named status for the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 							</td>
 		</tr>
 			<tr id="schema-type">
 			<td>
-				<code>type</code><br />
-				<span class="type">
-					string				</span>
+				<code>type</code>
 			</td>
 			<td>
-				<p>Type of Post for the object.</p>
+				<p>Type of post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-permalink_template">
 			<td>
-				<code>permalink_template</code><br />
-				<span class="type">
-					string				</span>
+				<code>permalink_template</code>
 			</td>
 			<td>
-				<p>Permalink template for the object.</p>
+				<p>Permalink template for the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-generated_slug">
 			<td>
-				<code>generated_slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>generated_slug</code>
 			</td>
 			<td>
-				<p>Slug automatically generated from the object title.</p>
+				<p>Slug automatically generated from the post title.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-title">
 			<td>
-				<code>title</code><br />
-				<span class="type">
-					object				</span>
+				<code>title</code>
 			</td>
 			<td>
-				<p>The title for the object.</p>
+				<p>The title for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author">
 			<td>
-				<code>author</code><br />
-				<span class="type">
-					integer				</span>
+				<code>author</code>
 			</td>
 			<td>
-				<p>The ID for the author of the object.</p>
+				<p>The ID for the author of the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-comment_status">
 			<td>
-				<code>comment_status</code><br />
-				<span class="type">
-					string				</span>
+				<code>comment_status</code>
 			</td>
 			<td>
-				<p>Whether or not comments are open on the object.</p>
+				<p>Whether or not comments are open on the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>open</code>, <code>closed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-ping_status">
 			<td>
-				<code>ping_status</code><br />
-				<span class="type">
-					string				</span>
+				<code>ping_status</code>
 			</td>
 			<td>
-				<p>Whether or not the object can be pinged.</p>
+				<p>Whether or not the post can be pinged.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>open</code>, <code>closed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-meta">
 			<td>
-				<code>meta</code><br />
-				<span class="type">
-					object				</span>
+				<code>meta</code>
 			</td>
 			<td>
 				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-template">
 			<td>
-				<code>template</code><br />
-				<span class="type">
-					string				</span>
+				<code>template</code>
 			</td>
 			<td>
-				<p>The theme file to use to display the object.</p>
+				<p>The theme file to use to display the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-alt_text">
 			<td>
-				<code>alt_text</code><br />
-				<span class="type">
-					string				</span>
+				<code>alt_text</code>
 			</td>
 			<td>
 				<p>Alternative text to display when attachment is not displayed.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-caption">
 			<td>
-				<code>caption</code><br />
-				<span class="type">
-					object				</span>
+				<code>caption</code>
 			</td>
 			<td>
 				<p>The attachment caption.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-description">
 			<td>
-				<code>description</code><br />
-				<span class="type">
-					object				</span>
+				<code>description</code>
 			</td>
 			<td>
 				<p>The attachment description.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-media_type">
 			<td>
-				<code>media_type</code><br />
-				<span class="type">
-					string				</span>
+				<code>media_type</code>
 			</td>
 			<td>
 				<p>Attachment type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 									<p>One of: <code>image</code>, <code>file</code></p>
@@ -275,66 +275,84 @@
 		</tr>
 			<tr id="schema-mime_type">
 			<td>
-				<code>mime_type</code><br />
-				<span class="type">
-					string				</span>
+				<code>mime_type</code>
 			</td>
 			<td>
 				<p>The attachment MIME type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-media_details">
 			<td>
-				<code>media_details</code><br />
-				<span class="type">
-					object				</span>
+				<code>media_details</code>
 			</td>
 			<td>
 				<p>Details about the media file, specific to its type.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-post">
 			<td>
-				<code>post</code><br />
-				<span class="type">
-					integer				</span>
+				<code>post</code>
 			</td>
 			<td>
 				<p>The ID for the associated post of the attachment.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-source_url">
 			<td>
-				<code>source_url</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>source_url</code>
 			</td>
 			<td>
 				<p>URL to the original attachment file.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
+			<tr id="schema-missing_image_sizes">
+			<td>
+				<code>missing_image_sizes</code>
+			</td>
+			<td>
+				<p>List of the missing image sizes of the attachment.</p>
+				<p class="type">
+					JSON data type: array				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>edit</code></p>
+							</td>
+		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/media</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>List Media</h2>
+		<p>Query this endpoint to retrieve a collection of media. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/media</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/media</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -386,6 +404,14 @@
 				<td>
 											<p>Limit response to posts published after a given ISO8601 compliant date.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_after</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified after a given ISO8601 compliant date.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -410,6 +436,14 @@
 				<td>
 											<p>Limit response to posts published before a given ISO8601 compliant date.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_before</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified before a given ISO8601 compliant date.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -452,7 +486,7 @@
 											<code>orderby</code><br />
 									</td>
 				<td>
-											<p>Sort collection by object attribute.</p>
+											<p>Sort collection by post attribute.</p>
 																					<p class="default">
 							Default: <code>date</code>
 						</p>
@@ -474,6 +508,14 @@
 				<td>
 											<p>Limit result set to all items except those of a particular parent ID.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search_columns</code><br />
+									</td>
+				<td>
+											<p>Array of column names to be searched.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -500,7 +542,7 @@
 									</td>
 				<td>
 											<p>Limit result set to attachments of a particular media type.</p>
-																										<p>One of: <code>image</code>, <code>video</code>, <code>audio</code>, <code>application</code></p>
+																										<p>One of: <code>image</code>, <code>video</code>, <code>text</code>, <code>application</code>, <code>audio</code></p>
 									</td>
 			</tr>
 					<tr>
@@ -514,19 +556,10 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/media</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/media</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Create a Media item</h2>
+		<h2>Create a Media Item</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -534,7 +567,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -542,7 +575,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -550,7 +583,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -558,7 +591,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -567,7 +600,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -575,7 +608,7 @@
 											<code><a href="#schema-author">author</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the author of the object.</p>
+											<p>The ID for the author of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -583,7 +616,7 @@
 											<code><a href="#schema-comment_status">comment_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not comments are open on the object.</p>
+											<p>Whether or not comments are open on the post.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -592,7 +625,7 @@
 											<code><a href="#schema-ping_status">ping_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object can be pinged.</p>
+											<p>Whether or not the post can be pinged.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -609,7 +642,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -655,7 +688,17 @@
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Retrieve a Media item</h2>
+		<h2>Retrieve a Media Item</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/media/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific Media Item record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/media/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -663,7 +706,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -681,19 +724,10 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/media/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/media/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Update a Media item</h2>
+		<h2>Update a Media Item</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -701,7 +735,7 @@
 											<code><a href="#schema-id">id</a></code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -709,7 +743,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -717,7 +751,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -725,7 +759,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -733,7 +767,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -742,7 +776,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -750,7 +784,7 @@
 											<code><a href="#schema-author">author</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the author of the object.</p>
+											<p>The ID for the author of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -758,7 +792,7 @@
 											<code><a href="#schema-comment_status">comment_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not comments are open on the object.</p>
+											<p>Whether or not comments are open on the post.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -767,7 +801,7 @@
 											<code><a href="#schema-ping_status">ping_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object can be pinged.</p>
+											<p>Whether or not the post can be pinged.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -784,7 +818,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -834,7 +868,7 @@
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Delete a Media item</h2>
+		<h2>Delete a Media Item</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -842,7 +876,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -850,7 +884,7 @@
 											<code>force</code><br />
 									</td>
 				<td>
-											<p>Whether to bypass trash and force deletion.</p>
+											<p>Whether to bypass Trash and force deletion.</p>
 																								</td>
 			</tr>
 			</table>
diff --git a/reference/menu-locations.md b/reference/menu-locations.md
new file mode 100644
index 0000000..97943d1
--- /dev/null
+++ b/reference/menu-locations.md
@@ -0,0 +1,122 @@
+---
+---
+
+# Menu Locations
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a menu location 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.</p>
+<table class="attributes">
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>The name of the menu location.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>The description of the menu location.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-menu">
+			<td>
+				<code>menu</code>
+			</td>
+			<td>
+				<p>The ID of the assigned menu.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Menu Location</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/menu-locations</code>
+
+		<p>Query this endpoint to retrieve a specific menu location record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/menu-locations</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Menu Location</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/menu-locations/&lt;location&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific menu location record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/menu-locations/&lt;location&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>location</code><br />
+									</td>
+				<td>
+											<p>An alphanumeric identifier for the menu location.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/nav_menu_item-revisions.md b/reference/nav_menu_item-revisions.md
new file mode 100644
index 0000000..dcc87db
--- /dev/null
+++ b/reference/nav_menu_item-revisions.md
@@ -0,0 +1,371 @@
+---
+---
+
+# Nav_Menu_Item Revisions
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a nav_menu_item revision 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.</p>
+<table class="attributes">
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The ID for the author of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date">
+			<td>
+				<code>date</code>
+			</td>
+			<td>
+				<p>The date the revision was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date_gmt">
+			<td>
+				<code>date_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-guid">
+			<td>
+				<code>guid</code>
+			</td>
+			<td>
+				<p>GUID for the revision, as it exists in the database.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified">
+			<td>
+				<code>modified</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified_gmt">
+			<td>
+				<code>modified_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-parent">
+			<td>
+				<code>parent</code>
+			</td>
+			<td>
+				<p>The ID for the parent of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-slug">
+			<td>
+				<code>slug</code>
+			</td>
+			<td>
+				<p>An alphanumeric identifier for the revision unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>The title for the object.</p>
+				<p class="type">
+					JSON data type: string or object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-preview_link">
+			<td>
+				<code>preview_link</code>
+			</td>
+			<td>
+				<p>Preview link for the post.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Nav_Menu_Item Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/menu-items/&lt;id&gt;/autosaves</code>
+
+		<p>Query this endpoint to retrieve a specific nav_menu_item revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/menu-items/&lt;id&gt;/autosaves</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Nav_Menu_Item Revision</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-parent">parent</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the object.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>The title for the object.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-type">type</a></code><br />
+									</td>
+				<td>
+											<p>The family of objects originally represented, such as &quot;post_type&quot; or &quot;taxonomy&quot;.</p>
+																										<p>One of: <code>taxonomy</code>, <code>post_type</code>, <code>post_type_archive</code>, <code>custom</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>A named status for the object.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-attr_title">attr_title</a></code><br />
+									</td>
+				<td>
+											<p>Text for the title attribute of the link element for this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-classes">classes</a></code><br />
+									</td>
+				<td>
+											<p>Class names for the link element of this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>The description of this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-menu_order">menu_order</a></code><br />
+									</td>
+				<td>
+											<p>The DB ID of the nav_menu_item that is this item&#039;s menu parent, if any, otherwise 0.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-object">object</a></code><br />
+									</td>
+				<td>
+											<p>The type of object originally represented, such as &quot;category&quot;, &quot;post&quot;, or &quot;attachment&quot;.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-object_id">object_id</a></code><br />
+									</td>
+				<td>
+											<p>The database ID of the original object this menu item represents, for example the ID for posts or the term_id for categories.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-target">target</a></code><br />
+									</td>
+				<td>
+											<p>The target attribute of the link element for this menu item.</p>
+																										<p>One of: <code>_blank</code>, <code></code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-url">url</a></code><br />
+									</td>
+				<td>
+											<p>The URL to which this menu item points.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-xfn">xfn</a></code><br />
+									</td>
+				<td>
+											<p>The XFN relationship expressed in the link of this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-menus">menus</a></code><br />
+									</td>
+				<td>
+											<p>The terms assigned to the object in the nav_menu taxonomy.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-meta">meta</a></code><br />
+									</td>
+				<td>
+											<p>Meta fields.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/menu-items/&lt;id&gt;/autosaves</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Nav_Menu_Item Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/menu-items/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific nav_menu_item revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/menu-items/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The ID for the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/nav_menu_items.md b/reference/nav_menu_items.md
new file mode 100644
index 0000000..25e5d18
--- /dev/null
+++ b/reference/nav_menu_items.md
@@ -0,0 +1,792 @@
+---
+---
+
+# Nav_Menu_Items
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a nav_menu_item 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.</p>
+<table class="attributes">
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>The title for the object.</p>
+				<p class="type">
+					JSON data type: string or object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the object.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-type_label">
+			<td>
+				<code>type_label</code>
+			</td>
+			<td>
+				<p>The singular label used to describe this type of menu item.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-type">
+			<td>
+				<code>type</code>
+			</td>
+			<td>
+				<p>The family of objects originally represented, such as &quot;post_type&quot; or &quot;taxonomy&quot;.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+									<p>One of: <code>taxonomy</code>, <code>post_type</code>, <code>post_type_archive</code>, <code>custom</code></p>
+							</td>
+		</tr>
+			<tr id="schema-status">
+			<td>
+				<code>status</code>
+			</td>
+			<td>
+				<p>A named status for the object.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+									<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+							</td>
+		</tr>
+			<tr id="schema-parent">
+			<td>
+				<code>parent</code>
+			</td>
+			<td>
+				<p>The ID for the parent of the object.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-attr_title">
+			<td>
+				<code>attr_title</code>
+			</td>
+			<td>
+				<p>Text for the title attribute of the link element for this menu item.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-classes">
+			<td>
+				<code>classes</code>
+			</td>
+			<td>
+				<p>Class names for the link element of this menu item.</p>
+				<p class="type">
+					JSON data type: array				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>The description of this menu item.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-menu_order">
+			<td>
+				<code>menu_order</code>
+			</td>
+			<td>
+				<p>The DB ID of the nav_menu_item that is this item&#039;s menu parent, if any, otherwise 0.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-object">
+			<td>
+				<code>object</code>
+			</td>
+			<td>
+				<p>The type of object originally represented, such as &quot;category&quot;, &quot;post&quot;, or &quot;attachment&quot;.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-object_id">
+			<td>
+				<code>object_id</code>
+			</td>
+			<td>
+				<p>The database ID of the original object this menu item represents, for example the ID for posts or the term_id for categories.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-target">
+			<td>
+				<code>target</code>
+			</td>
+			<td>
+				<p>The target attribute of the link element for this menu item.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+									<p>One of: <code>_blank</code>, <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-url">
+			<td>
+				<code>url</code>
+			</td>
+			<td>
+				<p>The URL to which this menu item points.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-xfn">
+			<td>
+				<code>xfn</code>
+			</td>
+			<td>
+				<p>The XFN relationship expressed in the link of this menu item.</p>
+				<p class="type">
+					JSON data type: array				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-invalid">
+			<td>
+				<code>invalid</code>
+			</td>
+			<td>
+				<p>Whether the menu item represents an object that no longer exists.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-menus">
+			<td>
+				<code>menus</code>
+			</td>
+			<td>
+				<p>The terms assigned to the object in the nav_menu taxonomy.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-meta">
+			<td>
+				<code>meta</code>
+			</td>
+			<td>
+				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Nav_Menu_Items</h2>
+		<p>Query this endpoint to retrieve a collection of nav_menu_items. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/menu-items</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/menu-items</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																					<p class="default">
+							Default: <code>100</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a string.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>after</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts published after a given ISO8601 compliant date.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_after</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified after a given ISO8601 compliant date.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>before</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts published before a given ISO8601 compliant date.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_before</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified before a given ISO8601 compliant date.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>exclude</code><br />
+									</td>
+				<td>
+											<p>Ensure result set excludes specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>include</code><br />
+									</td>
+				<td>
+											<p>Limit result set to specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>offset</code><br />
+									</td>
+				<td>
+											<p>Offset the result set by a specific number of items.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>order</code><br />
+									</td>
+				<td>
+											<p>Order sort attribute ascending or descending.</p>
+																					<p class="default">
+							Default: <code>asc</code>
+						</p>
+																<p>One of: <code>asc</code>, <code>desc</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>orderby</code><br />
+									</td>
+				<td>
+											<p>Sort collection by object attribute.</p>
+																					<p class="default">
+							Default: <code>menu_order</code>
+						</p>
+																<p>One of: <code>author</code>, <code>date</code>, <code>id</code>, <code>include</code>, <code>modified</code>, <code>parent</code>, <code>relevance</code>, <code>slug</code>, <code>include_slugs</code>, <code>title</code>, <code>menu_order</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search_columns</code><br />
+									</td>
+				<td>
+											<p>Array of column names to be searched.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>slug</code><br />
+									</td>
+				<td>
+											<p>Limit result set to posts with one or more specific slugs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>status</code><br />
+									</td>
+				<td>
+											<p>Limit result set to posts assigned one or more statuses.</p>
+																					<p class="default">
+							Default: <code>publish</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>tax_relation</code><br />
+									</td>
+				<td>
+											<p>Limit result set based on relationship between multiple taxonomies.</p>
+																										<p>One of: <code>AND</code>, <code>OR</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>menus</code><br />
+									</td>
+				<td>
+											<p>Limit result set to items with specific terms assigned in the menus taxonomy.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>menus_exclude</code><br />
+									</td>
+				<td>
+											<p>Limit result set to items except those with specific terms assigned in the menus taxonomy.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>menu_order</code><br />
+									</td>
+				<td>
+											<p>Limit result set to posts with a specific menu_order value.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Nav_Menu_Item</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>The title for the object.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-type">type</a></code><br />
+									</td>
+				<td>
+											<p>The family of objects originally represented, such as &quot;post_type&quot; or &quot;taxonomy&quot;.</p>
+																					<p class="default">
+							Default: <code>custom</code>
+						</p>
+																<p>One of: <code>taxonomy</code>, <code>post_type</code>, <code>post_type_archive</code>, <code>custom</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>A named status for the object.</p>
+																					<p class="default">
+							Default: <code>publish</code>
+						</p>
+																<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-parent">parent</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the object.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-attr_title">attr_title</a></code><br />
+									</td>
+				<td>
+											<p>Text for the title attribute of the link element for this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-classes">classes</a></code><br />
+									</td>
+				<td>
+											<p>Class names for the link element of this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>The description of this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-menu_order">menu_order</a></code><br />
+									</td>
+				<td>
+											<p>The DB ID of the nav_menu_item that is this item&#039;s menu parent, if any, otherwise 0.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-object">object</a></code><br />
+									</td>
+				<td>
+											<p>The type of object originally represented, such as &quot;category&quot;, &quot;post&quot;, or &quot;attachment&quot;.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-object_id">object_id</a></code><br />
+									</td>
+				<td>
+											<p>The database ID of the original object this menu item represents, for example the ID for posts or the term_id for categories.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-target">target</a></code><br />
+									</td>
+				<td>
+											<p>The target attribute of the link element for this menu item.</p>
+																										<p>One of: <code>_blank</code>, <code></code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-url">url</a></code><br />
+									</td>
+				<td>
+											<p>The URL to which this menu item points.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-xfn">xfn</a></code><br />
+									</td>
+				<td>
+											<p>The XFN relationship expressed in the link of this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-menus">menus</a></code><br />
+									</td>
+				<td>
+											<p>The terms assigned to the object in the nav_menu taxonomy.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-meta">meta</a></code><br />
+									</td>
+				<td>
+											<p>Meta fields.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/menu-items</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Nav_Menu_Item</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/menu-items/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific nav_menu_item record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/menu-items/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Nav_Menu_Item</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-id">id</a></code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>The title for the object.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-type">type</a></code><br />
+									</td>
+				<td>
+											<p>The family of objects originally represented, such as &quot;post_type&quot; or &quot;taxonomy&quot;.</p>
+																										<p>One of: <code>taxonomy</code>, <code>post_type</code>, <code>post_type_archive</code>, <code>custom</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>A named status for the object.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-parent">parent</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the object.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-attr_title">attr_title</a></code><br />
+									</td>
+				<td>
+											<p>Text for the title attribute of the link element for this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-classes">classes</a></code><br />
+									</td>
+				<td>
+											<p>Class names for the link element of this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>The description of this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-menu_order">menu_order</a></code><br />
+									</td>
+				<td>
+											<p>The DB ID of the nav_menu_item that is this item&#039;s menu parent, if any, otherwise 0.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-object">object</a></code><br />
+									</td>
+				<td>
+											<p>The type of object originally represented, such as &quot;category&quot;, &quot;post&quot;, or &quot;attachment&quot;.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-object_id">object_id</a></code><br />
+									</td>
+				<td>
+											<p>The database ID of the original object this menu item represents, for example the ID for posts or the term_id for categories.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-target">target</a></code><br />
+									</td>
+				<td>
+											<p>The target attribute of the link element for this menu item.</p>
+																										<p>One of: <code>_blank</code>, <code></code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-url">url</a></code><br />
+									</td>
+				<td>
+											<p>The URL to which this menu item points.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-xfn">xfn</a></code><br />
+									</td>
+				<td>
+											<p>The XFN relationship expressed in the link of this menu item.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-menus">menus</a></code><br />
+									</td>
+				<td>
+											<p>The terms assigned to the object in the nav_menu taxonomy.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-meta">meta</a></code><br />
+									</td>
+				<td>
+											<p>Meta fields.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/menu-items/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Nav_Menu_Item</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Whether to bypass Trash and force deletion.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/menu-items/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/menu-items/&lt;id&gt;</code>
+	</div>
+</section>
+</div>
diff --git a/reference/nav_menus.md b/reference/nav_menus.md
new file mode 100644
index 0000000..90beb23
--- /dev/null
+++ b/reference/nav_menus.md
@@ -0,0 +1,440 @@
+---
+---
+
+# Nav_Menus
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a nav_menu 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.</p>
+<table class="attributes">
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the term.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>HTML description of the term.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>HTML title for the term.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-slug">
+			<td>
+				<code>slug</code>
+			</td>
+			<td>
+				<p>An alphanumeric identifier for the term unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-meta">
+			<td>
+				<code>meta</code>
+			</td>
+			<td>
+				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-locations">
+			<td>
+				<code>locations</code>
+			</td>
+			<td>
+				<p>The locations assigned to the menu.</p>
+				<p class="type">
+					JSON data type: array				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-auto_add">
+			<td>
+				<code>auto_add</code>
+			</td>
+			<td>
+				<p>Whether to automatically add top level pages to this menu.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Nav_Menus</h2>
+		<p>Query this endpoint to retrieve a collection of nav_menus. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/menus</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/menus</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																					<p class="default">
+							Default: <code>10</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a string.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>exclude</code><br />
+									</td>
+				<td>
+											<p>Ensure result set excludes specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>include</code><br />
+									</td>
+				<td>
+											<p>Limit result set to specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>offset</code><br />
+									</td>
+				<td>
+											<p>Offset the result set by a specific number of items.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>order</code><br />
+									</td>
+				<td>
+											<p>Order sort attribute ascending or descending.</p>
+																					<p class="default">
+							Default: <code>asc</code>
+						</p>
+																<p>One of: <code>asc</code>, <code>desc</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>orderby</code><br />
+									</td>
+				<td>
+											<p>Sort collection by term attribute.</p>
+																					<p class="default">
+							Default: <code>name</code>
+						</p>
+																<p>One of: <code>id</code>, <code>include</code>, <code>name</code>, <code>slug</code>, <code>include_slugs</code>, <code>term_group</code>, <code>description</code>, <code>count</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>hide_empty</code><br />
+									</td>
+				<td>
+											<p>Whether to hide terms not assigned to any posts.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>post</code><br />
+									</td>
+				<td>
+											<p>Limit result set to terms assigned to a specific post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>slug</code><br />
+									</td>
+				<td>
+											<p>Limit result set to terms with one or more specific slugs.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Nav_Menu</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>HTML description of the term.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-name">name</a></code><br />
+									</td>
+				<td>
+											<p>HTML title for the term.</p>
+																<p class="required">
+							Required: 1
+						</p>
+																			</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>An alphanumeric identifier for the term unique to its type.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-meta">meta</a></code><br />
+									</td>
+				<td>
+											<p>Meta fields.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-locations">locations</a></code><br />
+									</td>
+				<td>
+											<p>The locations assigned to the menu.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-auto_add">auto_add</a></code><br />
+									</td>
+				<td>
+											<p>Whether to automatically add top level pages to this menu.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/menus</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Nav_Menu</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/menus/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific nav_menu record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/menus/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the term.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Nav_Menu</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-id">id</a></code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the term.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>HTML description of the term.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-name">name</a></code><br />
+									</td>
+				<td>
+											<p>HTML title for the term.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>An alphanumeric identifier for the term unique to its type.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-meta">meta</a></code><br />
+									</td>
+				<td>
+											<p>Meta fields.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-locations">locations</a></code><br />
+									</td>
+				<td>
+											<p>The locations assigned to the menu.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-auto_add">auto_add</a></code><br />
+									</td>
+				<td>
+											<p>Whether to automatically add top level pages to this menu.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/menus/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Nav_Menu</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the term.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Required to be true, as terms do not support trashing.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/menus/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/menus/&lt;id&gt;</code>
+	</div>
+</section>
+</div>
diff --git a/reference/navigation-fallbacks.md b/reference/navigation-fallbacks.md
new file mode 100644
index 0000000..62fc004
--- /dev/null
+++ b/reference/navigation-fallbacks.md
@@ -0,0 +1,45 @@
+---
+---
+
+# Navigation Fallbacks
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a navigation fallback 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.</p>
+<table class="attributes">
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>The unique identifier for the Navigation Menu.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Navigation Fallback</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp-block-editor/v1/navigation-fallback</code>
+
+		<p>Query this endpoint to retrieve a specific navigation fallback record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp-block-editor/v1/navigation-fallback</code>
+	</div>
+	<div class="secondary">
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+</section>
+</div>
diff --git a/reference/page-revisions.md b/reference/page-revisions.md
index 7591c40..9f45333 100644
--- a/reference/page-revisions.md
+++ b/reference/page-revisions.md
@@ -6,162 +6,168 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a page-revision object.</p>
+<p>The schema defines all the fields that exist within a page revision 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.</p>
 <table class="attributes">
 			<tr id="schema-author">
 			<td>
-				<code>author</code><br />
-				<span class="type">
-					integer				</span>
+				<code>author</code>
 			</td>
 			<td>
-				<p>The ID for the author of the object.</p>
+				<p>The ID for the author of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date">
 			<td>
-				<code>date</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date</code>
 			</td>
 			<td>
-				<p>The date the object was published, in the site&#039;s timezone.</p>
+				<p>The date the revision was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date_gmt">
 			<td>
-				<code>date_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was published, as GMT.</p>
+				<p>The date the revision was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-guid">
 			<td>
-				<code>guid</code><br />
-				<span class="type">
-					object				</span>
+				<code>guid</code>
 			</td>
 			<td>
-				<p>The globally unique identifier for the object.</p>
+				<p>The globally unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
-				<p>Unique identifier for the object.</p>
+				<p>Unique identifier for the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified">
 			<td>
-				<code>modified</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, in the site&#039;s timezone.</p>
+				<p>The date the revision was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified_gmt">
 			<td>
-				<code>modified_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, as GMT.</p>
+				<p>The date the revision was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-parent">
 			<td>
-				<code>parent</code><br />
-				<span class="type">
-					integer				</span>
+				<code>parent</code>
 			</td>
 			<td>
-				<p>The ID for the parent of the object.</p>
+				<p>The ID for the parent of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
-				<p>An alphanumeric identifier for the object unique to its type.</p>
+				<p>An alphanumeric identifier for the revision unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-title">
 			<td>
-				<code>title</code><br />
-				<span class="type">
-					object				</span>
+				<code>title</code>
 			</td>
 			<td>
-				<p>The title for the object.</p>
+				<p>The title for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-content">
 			<td>
-				<code>content</code><br />
-				<span class="type">
-					object				</span>
+				<code>content</code>
 			</td>
 			<td>
-				<p>The content for the object.</p>
+				<p>The content for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-excerpt">
 			<td>
-				<code>excerpt</code><br />
-				<span class="type">
-					object				</span>
+				<code>excerpt</code>
 			</td>
 			<td>
-				<p>The excerpt for the object.</p>
+				<p>The excerpt for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/pages/&lt;parent&gt;/revisions</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>List Page Revisions</h2>
+		<p>Query this endpoint to retrieve a collection of page revisions. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/pages/&lt;parent&gt;/revisions</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;parent&gt;/revisions</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -169,7 +175,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -262,19 +268,20 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/pages/&lt;parent&gt;/revisions</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;parent&gt;/revisions</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Page Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/pages/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific page revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -282,7 +289,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -290,7 +297,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -308,15 +315,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/pages/&lt;parent&gt;/revisions/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;parent&gt;/revisions/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -328,7 +326,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -336,7 +334,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -363,6 +361,16 @@
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Page Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/pages/&lt;id&gt;/autosaves</code>
+
+		<p>Query this endpoint to retrieve a specific page revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;id&gt;/autosaves</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -370,7 +378,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the autosave.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -388,15 +396,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/pages/&lt;id&gt;/autosaves</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;id&gt;/autosaves</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -408,7 +407,7 @@
 											<code><a href="#schema-parent">parent</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -416,7 +415,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -424,7 +423,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -432,7 +431,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -440,7 +439,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -457,7 +456,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -465,7 +464,7 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -473,7 +472,7 @@
 											<code><a href="#schema-author">author</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the author of the object.</p>
+											<p>The ID for the author of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -481,7 +480,7 @@
 											<code><a href="#schema-excerpt">excerpt</a></code><br />
 									</td>
 				<td>
-											<p>The excerpt for the object.</p>
+											<p>The excerpt for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -489,7 +488,7 @@
 											<code><a href="#schema-featured_media">featured_media</a></code><br />
 									</td>
 				<td>
-											<p>The ID of the featured media for the object.</p>
+											<p>The ID of the featured media for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -497,7 +496,7 @@
 											<code><a href="#schema-comment_status">comment_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not comments are open on the object.</p>
+											<p>Whether or not comments are open on the post.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -506,7 +505,7 @@
 											<code><a href="#schema-ping_status">ping_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object can be pinged.</p>
+											<p>Whether or not the post can be pinged.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -515,7 +514,7 @@
 											<code><a href="#schema-menu_order">menu_order</a></code><br />
 									</td>
 				<td>
-											<p>The order of the object in relation to other object of its type.</p>
+											<p>The order of the post in relation to other posts.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -531,7 +530,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 			</table>
@@ -546,6 +545,16 @@
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Page Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/pages/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific page revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -553,7 +562,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the autosave.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -561,7 +570,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>The ID for the object.</p>
+											<p>The ID for the autosave.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -579,14 +588,5 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/pages/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
-	</div>
 </section>
 </div>
diff --git a/reference/pages.md b/reference/pages.md
index 48260ec..0215628 100644
--- a/reference/pages.md
+++ b/reference/pages.md
@@ -6,306 +6,312 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a page object.</p>
+<p>The schema defines all the fields that exist within a page 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.</p>
 <table class="attributes">
 			<tr id="schema-date">
 			<td>
-				<code>date</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date</code>
 			</td>
 			<td>
-				<p>The date the object was published, in the site&#039;s timezone.</p>
+				<p>The date the post was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date_gmt">
 			<td>
-				<code>date_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was published, as GMT.</p>
+				<p>The date the post was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-guid">
 			<td>
-				<code>guid</code><br />
-				<span class="type">
-					object				</span>
+				<code>guid</code>
 			</td>
 			<td>
-				<p>The globally unique identifier for the object.</p>
+				<p>The globally unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
-				<p>Unique identifier for the object.</p>
+				<p>Unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-link">
 			<td>
-				<code>link</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>link</code>
 			</td>
 			<td>
-				<p>URL to the object.</p>
+				<p>URL to the post.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified">
 			<td>
-				<code>modified</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, in the site&#039;s timezone.</p>
+				<p>The date the post was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified_gmt">
 			<td>
-				<code>modified_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, as GMT.</p>
+				<p>The date the post was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
-				<p>An alphanumeric identifier for the object unique to its type.</p>
+				<p>An alphanumeric identifier for the post unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-status">
 			<td>
-				<code>status</code><br />
-				<span class="type">
-					string				</span>
+				<code>status</code>
 			</td>
 			<td>
-				<p>A named status for the object.</p>
+				<p>A named status for the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 							</td>
 		</tr>
 			<tr id="schema-type">
 			<td>
-				<code>type</code><br />
-				<span class="type">
-					string				</span>
+				<code>type</code>
 			</td>
 			<td>
-				<p>Type of Post for the object.</p>
+				<p>Type of post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-password">
 			<td>
-				<code>password</code><br />
-				<span class="type">
-					string				</span>
+				<code>password</code>
 			</td>
 			<td>
 				<p>A password to protect access to the content and excerpt.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-permalink_template">
 			<td>
-				<code>permalink_template</code><br />
-				<span class="type">
-					string				</span>
+				<code>permalink_template</code>
 			</td>
 			<td>
-				<p>Permalink template for the object.</p>
+				<p>Permalink template for the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-generated_slug">
 			<td>
-				<code>generated_slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>generated_slug</code>
 			</td>
 			<td>
-				<p>Slug automatically generated from the object title.</p>
+				<p>Slug automatically generated from the post title.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-parent">
 			<td>
-				<code>parent</code><br />
-				<span class="type">
-					integer				</span>
+				<code>parent</code>
 			</td>
 			<td>
-				<p>The ID for the parent of the object.</p>
+				<p>The ID for the parent of the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-title">
 			<td>
-				<code>title</code><br />
-				<span class="type">
-					object				</span>
+				<code>title</code>
 			</td>
 			<td>
-				<p>The title for the object.</p>
+				<p>The title for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-content">
 			<td>
-				<code>content</code><br />
-				<span class="type">
-					object				</span>
+				<code>content</code>
 			</td>
 			<td>
-				<p>The content for the object.</p>
+				<p>The content for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author">
 			<td>
-				<code>author</code><br />
-				<span class="type">
-					integer				</span>
+				<code>author</code>
 			</td>
 			<td>
-				<p>The ID for the author of the object.</p>
+				<p>The ID for the author of the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-excerpt">
 			<td>
-				<code>excerpt</code><br />
-				<span class="type">
-					object				</span>
+				<code>excerpt</code>
 			</td>
 			<td>
-				<p>The excerpt for the object.</p>
+				<p>The excerpt for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-featured_media">
 			<td>
-				<code>featured_media</code><br />
-				<span class="type">
-					integer				</span>
+				<code>featured_media</code>
 			</td>
 			<td>
-				<p>The ID of the featured media for the object.</p>
+				<p>The ID of the featured media for the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-comment_status">
 			<td>
-				<code>comment_status</code><br />
-				<span class="type">
-					string				</span>
+				<code>comment_status</code>
 			</td>
 			<td>
-				<p>Whether or not comments are open on the object.</p>
+				<p>Whether or not comments are open on the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>open</code>, <code>closed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-ping_status">
 			<td>
-				<code>ping_status</code><br />
-				<span class="type">
-					string				</span>
+				<code>ping_status</code>
 			</td>
 			<td>
-				<p>Whether or not the object can be pinged.</p>
+				<p>Whether or not the post can be pinged.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>open</code>, <code>closed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-menu_order">
 			<td>
-				<code>menu_order</code><br />
-				<span class="type">
-					integer				</span>
+				<code>menu_order</code>
 			</td>
 			<td>
-				<p>The order of the object in relation to other object of its type.</p>
+				<p>The order of the post in relation to other posts.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-meta">
 			<td>
-				<code>meta</code><br />
-				<span class="type">
-					object				</span>
+				<code>meta</code>
 			</td>
 			<td>
 				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-template">
 			<td>
-				<code>template</code><br />
-				<span class="type">
-					string				</span>
+				<code>template</code>
 			</td>
 			<td>
-				<p>The theme file to use to display the object.</p>
+				<p>The theme file to use to display the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/pages</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>List Pages</h2>
+		<p>Query this endpoint to retrieve a collection of pages. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/pages</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/pages</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -357,6 +363,14 @@
 				<td>
 											<p>Limit response to posts published after a given ISO8601 compliant date.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_after</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified after a given ISO8601 compliant date.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -381,6 +395,14 @@
 				<td>
 											<p>Limit response to posts published before a given ISO8601 compliant date.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_before</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified before a given ISO8601 compliant date.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -431,7 +453,7 @@
 											<code>orderby</code><br />
 									</td>
 				<td>
-											<p>Sort collection by object attribute.</p>
+											<p>Sort collection by post attribute.</p>
 																					<p class="default">
 							Default: <code>date</code>
 						</p>
@@ -453,6 +475,14 @@
 				<td>
 											<p>Limit result set to all items except those of a particular parent ID.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search_columns</code><br />
+									</td>
+				<td>
+											<p>Array of column names to be searched.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -476,15 +506,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/pages</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/pages</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -496,7 +517,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -504,7 +525,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -512,7 +533,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -520,7 +541,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -537,7 +558,7 @@
 											<code><a href="#schema-parent">parent</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -545,7 +566,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -553,7 +574,7 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -561,7 +582,7 @@
 											<code><a href="#schema-author">author</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the author of the object.</p>
+											<p>The ID for the author of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -569,7 +590,7 @@
 											<code><a href="#schema-excerpt">excerpt</a></code><br />
 									</td>
 				<td>
-											<p>The excerpt for the object.</p>
+											<p>The excerpt for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -577,7 +598,7 @@
 											<code><a href="#schema-featured_media">featured_media</a></code><br />
 									</td>
 				<td>
-											<p>The ID of the featured media for the object.</p>
+											<p>The ID of the featured media for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -585,7 +606,7 @@
 											<code><a href="#schema-comment_status">comment_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not comments are open on the object.</p>
+											<p>Whether or not comments are open on the post.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -594,7 +615,7 @@
 											<code><a href="#schema-ping_status">ping_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object can be pinged.</p>
+											<p>Whether or not the post can be pinged.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -603,7 +624,7 @@
 											<code><a href="#schema-menu_order">menu_order</a></code><br />
 									</td>
 				<td>
-											<p>The order of the object in relation to other object of its type.</p>
+											<p>The order of the post in relation to other posts.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -619,7 +640,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 			</table>
@@ -634,6 +655,16 @@
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Page</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/pages/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific page record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -641,7 +672,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -667,15 +698,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/pages/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/pages/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -687,7 +709,7 @@
 											<code><a href="#schema-id">id</a></code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -695,7 +717,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -703,7 +725,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -711,7 +733,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -719,7 +741,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -736,7 +758,7 @@
 											<code><a href="#schema-parent">parent</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -744,7 +766,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -752,7 +774,7 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -760,7 +782,7 @@
 											<code><a href="#schema-author">author</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the author of the object.</p>
+											<p>The ID for the author of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -768,7 +790,7 @@
 											<code><a href="#schema-excerpt">excerpt</a></code><br />
 									</td>
 				<td>
-											<p>The excerpt for the object.</p>
+											<p>The excerpt for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -776,7 +798,7 @@
 											<code><a href="#schema-featured_media">featured_media</a></code><br />
 									</td>
 				<td>
-											<p>The ID of the featured media for the object.</p>
+											<p>The ID of the featured media for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -784,7 +806,7 @@
 											<code><a href="#schema-comment_status">comment_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not comments are open on the object.</p>
+											<p>Whether or not comments are open on the post.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -793,7 +815,7 @@
 											<code><a href="#schema-ping_status">ping_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object can be pinged.</p>
+											<p>Whether or not the post can be pinged.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -802,7 +824,7 @@
 											<code><a href="#schema-menu_order">menu_order</a></code><br />
 									</td>
 				<td>
-											<p>The order of the object in relation to other object of its type.</p>
+											<p>The order of the post in relation to other posts.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -818,7 +840,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 			</table>
@@ -844,7 +866,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -852,7 +874,7 @@
 											<code>force</code><br />
 									</td>
 				<td>
-											<p>Whether to bypass trash and force deletion.</p>
+											<p>Whether to bypass Trash and force deletion.</p>
 																								</td>
 			</tr>
 			</table>
diff --git a/reference/pattern-directory-items.md b/reference/pattern-directory-items.md
new file mode 100644
index 0000000..7ddec50
--- /dev/null
+++ b/reference/pattern-directory-items.md
@@ -0,0 +1,222 @@
+---
+---
+
+# Pattern Directory Items
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a pattern directory item 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.</p>
+<table class="attributes">
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>The pattern ID.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>The pattern title, in human readable format.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-content">
+			<td>
+				<code>content</code>
+			</td>
+			<td>
+				<p>The pattern content.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-categories">
+			<td>
+				<code>categories</code>
+			</td>
+			<td>
+				<p>The pattern&#039;s category slugs.</p>
+				<p class="type">
+					JSON data type: array				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-keywords">
+			<td>
+				<code>keywords</code>
+			</td>
+			<td>
+				<p>The pattern&#039;s keywords.</p>
+				<p class="type">
+					JSON data type: array				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>A description of the pattern.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-viewport_width">
+			<td>
+				<code>viewport_width</code>
+			</td>
+			<td>
+				<p>The preferred width of the viewport when previewing a pattern, in pixels.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-block_types">
+			<td>
+				<code>block_types</code>
+			</td>
+			<td>
+				<p>The block types which can use this pattern.</p>
+				<p class="type">
+					JSON data type: array				</p>
+								<p class="context">Context: <code>view</code>, <code>embed</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Pattern Directory Items</h2>
+		<p>Query this endpoint to retrieve a collection of pattern directory items. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/pattern-directory/patterns</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/pattern-directory/patterns</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																					<p class="default">
+							Default: <code>100</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a string.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>category</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a category ID.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>keyword</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a keyword ID.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>slug</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a pattern (slug).</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>offset</code><br />
+									</td>
+				<td>
+											<p>Offset the result set by a specific number of items.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>order</code><br />
+									</td>
+				<td>
+											<p>Order sort attribute ascending or descending.</p>
+																					<p class="default">
+							Default: <code>desc</code>
+						</p>
+																<p>One of: <code>asc</code>, <code>desc</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>orderby</code><br />
+									</td>
+				<td>
+											<p>Sort collection by post attribute.</p>
+																					<p class="default">
+							Default: <code>date</code>
+						</p>
+																<p>One of: <code>author</code>, <code>date</code>, <code>id</code>, <code>include</code>, <code>modified</code>, <code>parent</code>, <code>relevance</code>, <code>slug</code>, <code>include_slugs</code>, <code>title</code>, <code>favorite_count</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/plugins.md b/reference/plugins.md
new file mode 100644
index 0000000..fa4aca0
--- /dev/null
+++ b/reference/plugins.md
@@ -0,0 +1,369 @@
+---
+---
+
+# Plugins
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a plugin 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.</p>
+<table class="attributes">
+			<tr id="schema-plugin">
+			<td>
+				<code>plugin</code>
+			</td>
+			<td>
+				<p>The plugin file.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-status">
+			<td>
+				<code>status</code>
+			</td>
+			<td>
+				<p>The plugin activation status.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+									<p>One of: <code>inactive</code>, <code>active</code></p>
+							</td>
+		</tr>
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>The plugin name.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-plugin_uri">
+			<td>
+				<code>plugin_uri</code>
+			</td>
+			<td>
+				<p>The plugin&#039;s website address.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The plugin author.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-author_uri">
+			<td>
+				<code>author_uri</code>
+			</td>
+			<td>
+				<p>Plugin author&#039;s website address.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>The plugin description.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-version">
+			<td>
+				<code>version</code>
+			</td>
+			<td>
+				<p>The plugin version number.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-network_only">
+			<td>
+				<code>network_only</code>
+			</td>
+			<td>
+				<p>Whether the plugin can only be activated network-wide.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-requires_wp">
+			<td>
+				<code>requires_wp</code>
+			</td>
+			<td>
+				<p>Minimum required version of WordPress.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-requires_php">
+			<td>
+				<code>requires_php</code>
+			</td>
+			<td>
+				<p>Minimum required version of PHP.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-textdomain">
+			<td>
+				<code>textdomain</code>
+			</td>
+			<td>
+				<p>The plugin&#039;s text domain.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Plugin</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/plugins</code>
+
+		<p>Query this endpoint to retrieve a specific plugin record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/plugins</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a string.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>status</code><br />
+									</td>
+				<td>
+											<p>Limits results to plugins with the given status.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Plugin</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>WordPress.org plugin directory slug.</p>
+																<p class="required">
+							Required: 1
+						</p>
+																			</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>The plugin activation status.</p>
+																					<p class="default">
+							Default: <code>inactive</code>
+						</p>
+																<p>One of: <code>inactive</code>, <code>active</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/plugins</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Plugin</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/plugins/&lt;plugin&gt;?)</code>
+
+		<p>Query this endpoint to retrieve a specific plugin record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/plugins/&lt;plugin&gt;?)</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>plugin</code><br />
+									</td>
+				<td>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Plugin</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-context">context</a></code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-plugin">plugin</a></code><br />
+									</td>
+				<td>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>The plugin activation status.</p>
+																										<p>One of: <code>inactive</code>, <code>active</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/plugins/&lt;plugin&gt;?)</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Plugin</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>plugin</code><br />
+									</td>
+				<td>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/plugins/&lt;plugin&gt;?)</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/plugins/&lt;plugin&gt;?)</code>
+	</div>
+</section>
+</div>
diff --git a/reference/post-revisions.md b/reference/post-revisions.md
index e72a2ca..054f4ed 100644
--- a/reference/post-revisions.md
+++ b/reference/post-revisions.md
@@ -1,167 +1,173 @@
 ---
 ---
 
-# Post-revisions
+# Post Revisions
 
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a post-revision object.</p>
+<p>The schema defines all the fields that exist within a post revision 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.</p>
 <table class="attributes">
 			<tr id="schema-author">
 			<td>
-				<code>author</code><br />
-				<span class="type">
-					integer				</span>
+				<code>author</code>
 			</td>
 			<td>
-				<p>The ID for the author of the object.</p>
+				<p>The ID for the author of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date">
 			<td>
-				<code>date</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date</code>
 			</td>
 			<td>
-				<p>The date the object was published, in the site&#039;s timezone.</p>
+				<p>The date the revision was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date_gmt">
 			<td>
-				<code>date_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was published, as GMT.</p>
+				<p>The date the revision was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-guid">
 			<td>
-				<code>guid</code><br />
-				<span class="type">
-					object				</span>
+				<code>guid</code>
 			</td>
 			<td>
-				<p>The globally unique identifier for the object.</p>
+				<p>The globally unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
-				<p>Unique identifier for the object.</p>
+				<p>Unique identifier for the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified">
 			<td>
-				<code>modified</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, in the site&#039;s timezone.</p>
+				<p>The date the revision was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified_gmt">
 			<td>
-				<code>modified_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, as GMT.</p>
+				<p>The date the revision was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-parent">
 			<td>
-				<code>parent</code><br />
-				<span class="type">
-					integer				</span>
+				<code>parent</code>
 			</td>
 			<td>
-				<p>The ID for the parent of the object.</p>
+				<p>The ID for the parent of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
-				<p>An alphanumeric identifier for the object unique to its type.</p>
+				<p>An alphanumeric identifier for the revision unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-title">
 			<td>
-				<code>title</code><br />
-				<span class="type">
-					object				</span>
+				<code>title</code>
 			</td>
 			<td>
-				<p>The title for the object.</p>
+				<p>The title for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-content">
 			<td>
-				<code>content</code><br />
-				<span class="type">
-					object				</span>
+				<code>content</code>
 			</td>
 			<td>
-				<p>The content for the object.</p>
+				<p>The content for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-excerpt">
 			<td>
-				<code>excerpt</code><br />
-				<span class="type">
-					object				</span>
+				<code>excerpt</code>
 			</td>
 			<td>
-				<p>The excerpt for the object.</p>
+				<p>The excerpt for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/posts/&lt;parent&gt;/revisions</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
-		<h2>List Post-revisions</h2>
+		<h2>List Post Revisions</h2>
+		<p>Query this endpoint to retrieve a collection of post revisions. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/posts/&lt;parent&gt;/revisions</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;parent&gt;/revisions</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -169,7 +175,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -262,19 +268,20 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Post Revision</h2>
 
-		<code>GET /wp/v2/posts/&lt;parent&gt;/revisions</code>
+		<h3>Definition & Example Request</h3>
 
-		<h3>Example Request</h3>
+		<code>GET /wp/v2/posts/&lt;parent&gt;/revisions/&lt;id&gt;</code>
 
-		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;parent&gt;/revisions</code>
+		<p>Query this endpoint to retrieve a specific post revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;parent&gt;/revisions/&lt;id&gt;</code>
 	</div>
-</section>
-<section class="route">
-	<div class="primary">
-		<h2>Retrieve a Post-revision</h2>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -282,7 +289,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -290,7 +297,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -308,19 +315,10 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/posts/&lt;parent&gt;/revisions/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;parent&gt;/revisions/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Delete a Post-revision</h2>
+		<h2>Delete a Post Revision</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -328,7 +326,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -336,7 +334,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the revision.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -362,7 +360,17 @@
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Retrieve a Post-revision</h2>
+		<h2>Retrieve a Post Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/posts/&lt;id&gt;/autosaves</code>
+
+		<p>Query this endpoint to retrieve a specific post revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;id&gt;/autosaves</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -370,7 +378,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the autosave.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -388,19 +396,10 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/posts/&lt;id&gt;/autosaves</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;id&gt;/autosaves</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Create a Post-revision</h2>
+		<h2>Create a Post Revision</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -408,7 +407,7 @@
 											<code><a href="#schema-parent">parent</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the autosave.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -416,7 +415,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -424,7 +423,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -432,7 +431,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -440,7 +439,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -457,7 +456,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -465,7 +464,7 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -473,7 +472,7 @@
 											<code><a href="#schema-author">author</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the author of the object.</p>
+											<p>The ID for the author of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -481,7 +480,7 @@
 											<code><a href="#schema-excerpt">excerpt</a></code><br />
 									</td>
 				<td>
-											<p>The excerpt for the object.</p>
+											<p>The excerpt for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -489,7 +488,7 @@
 											<code><a href="#schema-featured_media">featured_media</a></code><br />
 									</td>
 				<td>
-											<p>The ID of the featured media for the object.</p>
+											<p>The ID of the featured media for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -497,7 +496,7 @@
 											<code><a href="#schema-comment_status">comment_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not comments are open on the object.</p>
+											<p>Whether or not comments are open on the post.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -506,7 +505,7 @@
 											<code><a href="#schema-ping_status">ping_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object can be pinged.</p>
+											<p>Whether or not the post can be pinged.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -515,7 +514,7 @@
 											<code><a href="#schema-format">format</a></code><br />
 									</td>
 				<td>
-											<p>The format for the object.</p>
+											<p>The format for the post.</p>
 																										<p>One of: <code>standard</code>, <code>aside</code>, <code>chat</code>, <code>gallery</code>, <code>link</code>, <code>image</code>, <code>quote</code>, <code>status</code>, <code>video</code>, <code>audio</code></p>
 									</td>
 			</tr>
@@ -532,7 +531,7 @@
 											<code><a href="#schema-sticky">sticky</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object should be treated as sticky.</p>
+											<p>Whether or not the post should be treated as sticky.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -540,7 +539,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -548,7 +547,7 @@
 											<code><a href="#schema-categories">categories</a></code><br />
 									</td>
 				<td>
-											<p>The terms assigned to the object in the category taxonomy.</p>
+											<p>The terms assigned to the post in the category taxonomy.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -556,7 +555,7 @@
 											<code><a href="#schema-tags">tags</a></code><br />
 									</td>
 				<td>
-											<p>The terms assigned to the object in the post_tag taxonomy.</p>
+											<p>The terms assigned to the post in the post_tag taxonomy.</p>
 																								</td>
 			</tr>
 			</table>
@@ -570,7 +569,17 @@
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Retrieve a Post-revision</h2>
+		<h2>Retrieve a Post Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/posts/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific post revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -578,7 +587,7 @@
 											<code>parent</code><br />
 									</td>
 				<td>
-											<p>The ID for the parent of the object.</p>
+											<p>The ID for the parent of the autosave.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -586,7 +595,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>The ID for the object.</p>
+											<p>The ID for the autosave.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -604,14 +613,5 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/posts/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
-	</div>
 </section>
 </div>
diff --git a/reference/post-statuses.md b/reference/post-statuses.md
index bdb18cb..000e27b 100644
--- a/reference/post-statuses.md
+++ b/reference/post-statuses.md
@@ -6,105 +6,122 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a status object.</p>
+<p>The schema defines all the fields that exist within a status 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.</p>
 <table class="attributes">
 			<tr id="schema-name">
 			<td>
-				<code>name</code><br />
-				<span class="type">
-					string				</span>
+				<code>name</code>
 			</td>
 			<td>
 				<p>The title for the status.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-private">
 			<td>
-				<code>private</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>private</code>
 			</td>
 			<td>
 				<p>Whether posts with this status should be private.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-protected">
 			<td>
-				<code>protected</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>protected</code>
 			</td>
 			<td>
 				<p>Whether posts with this status should be protected.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-public">
 			<td>
-				<code>public</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>public</code>
 			</td>
 			<td>
 				<p>Whether posts of this status should be shown in the front end of the site.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-queryable">
 			<td>
-				<code>queryable</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>queryable</code>
 			</td>
 			<td>
 				<p>Whether posts with this status should be publicly-queryable.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-show_in_list">
 			<td>
-				<code>show_in_list</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>show_in_list</code>
 			</td>
 			<td>
 				<p>Whether to include posts in the edit listing for their post type.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
 				<p>An alphanumeric identifier for the status.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
+			<tr id="schema-date_floating">
+			<td>
+				<code>date_floating</code>
+			</td>
+			<td>
+				<p>Whether posts of this status may have floating published dates.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/statuses</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>Retrieve a Status</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/statuses</code>
+
+		<p>Query this endpoint to retrieve a specific status record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/statuses</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -122,19 +139,20 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/statuses</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/statuses</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Status</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/statuses/&lt;status&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific status record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/statuses/&lt;status&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -160,14 +178,5 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/statuses/&lt;status&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/statuses/&lt;status&gt;</code>
-	</div>
 </section>
 </div>
diff --git a/reference/post-types.md b/reference/post-types.md
index c631c77..dd9dedb 100644
--- a/reference/post-types.md
+++ b/reference/post-types.md
@@ -6,124 +6,172 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a type object.</p>
+<p>The schema defines all the fields that exist within a type 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.</p>
 <table class="attributes">
 			<tr id="schema-capabilities">
 			<td>
-				<code>capabilities</code><br />
-				<span class="type">
-					object				</span>
+				<code>capabilities</code>
 			</td>
 			<td>
 				<p>All capabilities used by the post type.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-description">
 			<td>
-				<code>description</code><br />
-				<span class="type">
-					string				</span>
+				<code>description</code>
 			</td>
 			<td>
 				<p>A human-readable description of the post type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-hierarchical">
 			<td>
-				<code>hierarchical</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>hierarchical</code>
 			</td>
 			<td>
 				<p>Whether or not the post type should have children.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-viewable">
 			<td>
-				<code>viewable</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>viewable</code>
 			</td>
 			<td>
 				<p>Whether or not the post type can be viewed.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-labels">
 			<td>
-				<code>labels</code><br />
-				<span class="type">
-					object				</span>
+				<code>labels</code>
 			</td>
 			<td>
 				<p>Human-readable labels for the post type for various contexts.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-name">
 			<td>
-				<code>name</code><br />
-				<span class="type">
-					string				</span>
+				<code>name</code>
 			</td>
 			<td>
 				<p>The title for the post type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
 				<p>An alphanumeric identifier for the post type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-supports">
 			<td>
-				<code>supports</code><br />
-				<span class="type">
-					object				</span>
+				<code>supports</code>
 			</td>
 			<td>
 				<p>All features, supported by the post type.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
+		</tr>
+			<tr id="schema-has_archive">
+			<td>
+				<code>has_archive</code>
+			</td>
+			<td>
+				<p>If the value is a string, the value will be used as the archive slug. If the value is false the post type has no archive.</p>
+				<p class="type">
+					JSON data type: string or boolean				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
 		</tr>
 			<tr id="schema-taxonomies">
 			<td>
-				<code>taxonomies</code><br />
-				<span class="type">
-					array				</span>
+				<code>taxonomies</code>
 			</td>
 			<td>
 				<p>Taxonomies associated with post type.</p>
+				<p class="type">
+					JSON data type: array				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-rest_base">
 			<td>
-				<code>rest_base</code><br />
-				<span class="type">
-					string				</span>
+				<code>rest_base</code>
 			</td>
 			<td>
 				<p>REST base route for the post type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-rest_namespace">
+			<td>
+				<code>rest_namespace</code>
+			</td>
+			<td>
+				<p>REST route&#039;s namespace for the post type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-visibility">
+			<td>
+				<code>visibility</code>
+			</td>
+			<td>
+				<p>The visibility settings for the post type.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-icon">
+			<td>
+				<code>icon</code>
+			</td>
+			<td>
+				<p>The icon for the post type.</p>
+				<p class="type">
+					JSON data type: string or null				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
@@ -131,16 +179,21 @@
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/types</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>Retrieve a Type</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/types</code>
+
+		<p>Query this endpoint to retrieve a specific type record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/types</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -158,19 +211,20 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/types</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/types</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Type</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/types/&lt;type&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific type record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/types/&lt;type&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -196,14 +250,5 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/types/&lt;type&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/types/&lt;type&gt;</code>
-	</div>
 </section>
 </div>
diff --git a/reference/posts.md b/reference/posts.md
index 87aa319..42f840d 100644
--- a/reference/posts.md
+++ b/reference/posts.md
@@ -6,329 +6,335 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a post object.</p>
+<p>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.</p>
 <table class="attributes">
 			<tr id="schema-date">
 			<td>
-				<code>date</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date</code>
 			</td>
 			<td>
-				<p>The date the object was published, in the site&#039;s timezone.</p>
+				<p>The date the post was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-date_gmt">
 			<td>
-				<code>date_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>date_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was published, as GMT.</p>
+				<p>The date the post was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-guid">
 			<td>
-				<code>guid</code><br />
-				<span class="type">
-					object				</span>
+				<code>guid</code>
 			</td>
 			<td>
-				<p>The globally unique identifier for the object.</p>
+				<p>The globally unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
-				<p>Unique identifier for the object.</p>
+				<p>Unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-link">
 			<td>
-				<code>link</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>link</code>
 			</td>
 			<td>
-				<p>URL to the object.</p>
+				<p>URL to the post.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified">
 			<td>
-				<code>modified</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, in the site&#039;s timezone.</p>
+				<p>The date the post was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-modified_gmt">
 			<td>
-				<code>modified_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>modified_gmt</code>
 			</td>
 			<td>
-				<p>The date the object was last modified, as GMT.</p>
+				<p>The date the post was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
-				<p>An alphanumeric identifier for the object unique to its type.</p>
+				<p>An alphanumeric identifier for the post unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-status">
 			<td>
-				<code>status</code><br />
-				<span class="type">
-					string				</span>
+				<code>status</code>
 			</td>
 			<td>
-				<p>A named status for the object.</p>
+				<p>A named status for the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 							</td>
 		</tr>
 			<tr id="schema-type">
 			<td>
-				<code>type</code><br />
-				<span class="type">
-					string				</span>
+				<code>type</code>
 			</td>
 			<td>
-				<p>Type of Post for the object.</p>
+				<p>Type of post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-password">
 			<td>
-				<code>password</code><br />
-				<span class="type">
-					string				</span>
+				<code>password</code>
 			</td>
 			<td>
 				<p>A password to protect access to the content and excerpt.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-permalink_template">
 			<td>
-				<code>permalink_template</code><br />
-				<span class="type">
-					string				</span>
+				<code>permalink_template</code>
 			</td>
 			<td>
-				<p>Permalink template for the object.</p>
+				<p>Permalink template for the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-generated_slug">
 			<td>
-				<code>generated_slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>generated_slug</code>
 			</td>
 			<td>
-				<p>Slug automatically generated from the object title.</p>
+				<p>Slug automatically generated from the post title.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-title">
 			<td>
-				<code>title</code><br />
-				<span class="type">
-					object				</span>
+				<code>title</code>
 			</td>
 			<td>
-				<p>The title for the object.</p>
+				<p>The title for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-content">
 			<td>
-				<code>content</code><br />
-				<span class="type">
-					object				</span>
+				<code>content</code>
 			</td>
 			<td>
-				<p>The content for the object.</p>
+				<p>The content for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-author">
 			<td>
-				<code>author</code><br />
-				<span class="type">
-					integer				</span>
+				<code>author</code>
 			</td>
 			<td>
-				<p>The ID for the author of the object.</p>
+				<p>The ID for the author of the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-excerpt">
 			<td>
-				<code>excerpt</code><br />
-				<span class="type">
-					object				</span>
+				<code>excerpt</code>
 			</td>
 			<td>
-				<p>The excerpt for the object.</p>
+				<p>The excerpt for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-featured_media">
 			<td>
-				<code>featured_media</code><br />
-				<span class="type">
-					integer				</span>
+				<code>featured_media</code>
 			</td>
 			<td>
-				<p>The ID of the featured media for the object.</p>
+				<p>The ID of the featured media for the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-comment_status">
 			<td>
-				<code>comment_status</code><br />
-				<span class="type">
-					string				</span>
+				<code>comment_status</code>
 			</td>
 			<td>
-				<p>Whether or not comments are open on the object.</p>
+				<p>Whether or not comments are open on the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>open</code>, <code>closed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-ping_status">
 			<td>
-				<code>ping_status</code><br />
-				<span class="type">
-					string				</span>
+				<code>ping_status</code>
 			</td>
 			<td>
-				<p>Whether or not the object can be pinged.</p>
+				<p>Whether or not the post can be pinged.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>open</code>, <code>closed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-format">
 			<td>
-				<code>format</code><br />
-				<span class="type">
-					string				</span>
+				<code>format</code>
 			</td>
 			<td>
-				<p>The format for the object.</p>
+				<p>The format for the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 									<p>One of: <code>standard</code>, <code>aside</code>, <code>chat</code>, <code>gallery</code>, <code>link</code>, <code>image</code>, <code>quote</code>, <code>status</code>, <code>video</code>, <code>audio</code></p>
 							</td>
 		</tr>
 			<tr id="schema-meta">
 			<td>
-				<code>meta</code><br />
-				<span class="type">
-					object				</span>
+				<code>meta</code>
 			</td>
 			<td>
 				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-sticky">
 			<td>
-				<code>sticky</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>sticky</code>
 			</td>
 			<td>
-				<p>Whether or not the object should be treated as sticky.</p>
+				<p>Whether or not the post should be treated as sticky.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-template">
 			<td>
-				<code>template</code><br />
-				<span class="type">
-					string				</span>
+				<code>template</code>
 			</td>
 			<td>
-				<p>The theme file to use to display the object.</p>
+				<p>The theme file to use to display the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-categories">
 			<td>
-				<code>categories</code><br />
-				<span class="type">
-					array				</span>
+				<code>categories</code>
 			</td>
 			<td>
-				<p>The terms assigned to the object in the category taxonomy.</p>
+				<p>The terms assigned to the post in the category taxonomy.</p>
+				<p class="type">
+					JSON data type: array				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-tags">
 			<td>
-				<code>tags</code><br />
-				<span class="type">
-					array				</span>
+				<code>tags</code>
 			</td>
 			<td>
-				<p>The terms assigned to the object in the post_tag taxonomy.</p>
+				<p>The terms assigned to the post in the post_tag taxonomy.</p>
+				<p class="type">
+					JSON data type: array				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/posts</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>List Posts</h2>
+		<p>Query this endpoint to retrieve a collection of posts. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/posts</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/posts</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -380,6 +386,14 @@
 				<td>
 											<p>Limit response to posts published after a given ISO8601 compliant date.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_after</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified after a given ISO8601 compliant date.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -404,6 +418,14 @@
 				<td>
 											<p>Limit response to posts published before a given ISO8601 compliant date.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_before</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified before a given ISO8601 compliant date.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -446,12 +468,20 @@
 											<code>orderby</code><br />
 									</td>
 				<td>
-											<p>Sort collection by object attribute.</p>
+											<p>Sort collection by post attribute.</p>
 																					<p class="default">
 							Default: <code>date</code>
 						</p>
 																<p>One of: <code>author</code>, <code>date</code>, <code>id</code>, <code>include</code>, <code>modified</code>, <code>parent</code>, <code>relevance</code>, <code>slug</code>, <code>include_slugs</code>, <code>title</code></p>
 									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search_columns</code><br />
+									</td>
+				<td>
+											<p>Array of column names to be searched.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -471,13 +501,22 @@
 							Default: <code>publish</code>
 						</p>
 														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>tax_relation</code><br />
+									</td>
+				<td>
+											<p>Limit result set based on relationship between multiple taxonomies.</p>
+																										<p>One of: <code>AND</code>, <code>OR</code></p>
+									</td>
 			</tr>
 					<tr>
 				<td>
 											<code>categories</code><br />
 									</td>
 				<td>
-											<p>Limit result set to all items that have the specified term assigned in the categories taxonomy.</p>
+											<p>Limit result set to items with specific terms assigned in the categories taxonomy.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -485,7 +524,7 @@
 											<code>categories_exclude</code><br />
 									</td>
 				<td>
-											<p>Limit result set to all items except those that have the specified term assigned in the categories taxonomy.</p>
+											<p>Limit result set to items except those with specific terms assigned in the categories taxonomy.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -493,7 +532,7 @@
 											<code>tags</code><br />
 									</td>
 				<td>
-											<p>Limit result set to all items that have the specified term assigned in the tags taxonomy.</p>
+											<p>Limit result set to items with specific terms assigned in the tags taxonomy.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -501,7 +540,7 @@
 											<code>tags_exclude</code><br />
 									</td>
 				<td>
-											<p>Limit result set to all items except those that have the specified term assigned in the tags taxonomy.</p>
+											<p>Limit result set to items except those with specific terms assigned in the tags taxonomy.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -515,15 +554,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/posts</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/posts</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -535,7 +565,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -543,7 +573,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -551,7 +581,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -559,7 +589,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -576,7 +606,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -584,7 +614,7 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -592,7 +622,7 @@
 											<code><a href="#schema-author">author</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the author of the object.</p>
+											<p>The ID for the author of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -600,7 +630,7 @@
 											<code><a href="#schema-excerpt">excerpt</a></code><br />
 									</td>
 				<td>
-											<p>The excerpt for the object.</p>
+											<p>The excerpt for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -608,7 +638,7 @@
 											<code><a href="#schema-featured_media">featured_media</a></code><br />
 									</td>
 				<td>
-											<p>The ID of the featured media for the object.</p>
+											<p>The ID of the featured media for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -616,7 +646,7 @@
 											<code><a href="#schema-comment_status">comment_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not comments are open on the object.</p>
+											<p>Whether or not comments are open on the post.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -625,7 +655,7 @@
 											<code><a href="#schema-ping_status">ping_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object can be pinged.</p>
+											<p>Whether or not the post can be pinged.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -634,7 +664,7 @@
 											<code><a href="#schema-format">format</a></code><br />
 									</td>
 				<td>
-											<p>The format for the object.</p>
+											<p>The format for the post.</p>
 																										<p>One of: <code>standard</code>, <code>aside</code>, <code>chat</code>, <code>gallery</code>, <code>link</code>, <code>image</code>, <code>quote</code>, <code>status</code>, <code>video</code>, <code>audio</code></p>
 									</td>
 			</tr>
@@ -651,7 +681,7 @@
 											<code><a href="#schema-sticky">sticky</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object should be treated as sticky.</p>
+											<p>Whether or not the post should be treated as sticky.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -659,7 +689,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -667,7 +697,7 @@
 											<code><a href="#schema-categories">categories</a></code><br />
 									</td>
 				<td>
-											<p>The terms assigned to the object in the category taxonomy.</p>
+											<p>The terms assigned to the post in the category taxonomy.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -675,7 +705,7 @@
 											<code><a href="#schema-tags">tags</a></code><br />
 									</td>
 				<td>
-											<p>The terms assigned to the object in the post_tag taxonomy.</p>
+											<p>The terms assigned to the post in the post_tag taxonomy.</p>
 																								</td>
 			</tr>
 			</table>
@@ -690,6 +720,16 @@
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Post</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/posts/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific post record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -697,7 +737,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -723,15 +763,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/posts/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/posts/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -743,7 +774,7 @@
 											<code><a href="#schema-id">id</a></code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -751,7 +782,7 @@
 											<code><a href="#schema-date">date</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -759,7 +790,7 @@
 											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
 									</td>
 				<td>
-											<p>The date the object was published, as GMT.</p>
+											<p>The date the post was published, as GMT.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -767,7 +798,7 @@
 											<code><a href="#schema-slug">slug</a></code><br />
 									</td>
 				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -775,7 +806,7 @@
 											<code><a href="#schema-status">status</a></code><br />
 									</td>
 				<td>
-											<p>A named status for the object.</p>
+											<p>A named status for the post.</p>
 																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
 									</td>
 			</tr>
@@ -792,7 +823,7 @@
 											<code><a href="#schema-title">title</a></code><br />
 									</td>
 				<td>
-											<p>The title for the object.</p>
+											<p>The title for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -800,7 +831,7 @@
 											<code><a href="#schema-content">content</a></code><br />
 									</td>
 				<td>
-											<p>The content for the object.</p>
+											<p>The content for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -808,7 +839,7 @@
 											<code><a href="#schema-author">author</a></code><br />
 									</td>
 				<td>
-											<p>The ID for the author of the object.</p>
+											<p>The ID for the author of the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -816,7 +847,7 @@
 											<code><a href="#schema-excerpt">excerpt</a></code><br />
 									</td>
 				<td>
-											<p>The excerpt for the object.</p>
+											<p>The excerpt for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -824,7 +855,7 @@
 											<code><a href="#schema-featured_media">featured_media</a></code><br />
 									</td>
 				<td>
-											<p>The ID of the featured media for the object.</p>
+											<p>The ID of the featured media for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -832,7 +863,7 @@
 											<code><a href="#schema-comment_status">comment_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not comments are open on the object.</p>
+											<p>Whether or not comments are open on the post.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -841,7 +872,7 @@
 											<code><a href="#schema-ping_status">ping_status</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object can be pinged.</p>
+											<p>Whether or not the post can be pinged.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
 			</tr>
@@ -850,7 +881,7 @@
 											<code><a href="#schema-format">format</a></code><br />
 									</td>
 				<td>
-											<p>The format for the object.</p>
+											<p>The format for the post.</p>
 																										<p>One of: <code>standard</code>, <code>aside</code>, <code>chat</code>, <code>gallery</code>, <code>link</code>, <code>image</code>, <code>quote</code>, <code>status</code>, <code>video</code>, <code>audio</code></p>
 									</td>
 			</tr>
@@ -867,7 +898,7 @@
 											<code><a href="#schema-sticky">sticky</a></code><br />
 									</td>
 				<td>
-											<p>Whether or not the object should be treated as sticky.</p>
+											<p>Whether or not the post should be treated as sticky.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -875,7 +906,7 @@
 											<code><a href="#schema-template">template</a></code><br />
 									</td>
 				<td>
-											<p>The theme file to use to display the object.</p>
+											<p>The theme file to use to display the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -883,7 +914,7 @@
 											<code><a href="#schema-categories">categories</a></code><br />
 									</td>
 				<td>
-											<p>The terms assigned to the object in the category taxonomy.</p>
+											<p>The terms assigned to the post in the category taxonomy.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -891,7 +922,7 @@
 											<code><a href="#schema-tags">tags</a></code><br />
 									</td>
 				<td>
-											<p>The terms assigned to the object in the post_tag taxonomy.</p>
+											<p>The terms assigned to the post in the post_tag taxonomy.</p>
 																								</td>
 			</tr>
 			</table>
@@ -918,7 +949,7 @@
 											<code>id</code><br />
 									</td>
 				<td>
-											<p>Unique identifier for the object.</p>
+											<p>Unique identifier for the post.</p>
 																								</td>
 			</tr>
 					<tr>
@@ -926,7 +957,7 @@
 											<code>force</code><br />
 									</td>
 				<td>
-											<p>Whether to bypass trash and force deletion.</p>
+											<p>Whether to bypass Trash and force deletion.</p>
 																								</td>
 			</tr>
 			</table>
diff --git a/reference/rendered-blocks.md b/reference/rendered-blocks.md
index 5b62069..1e466a5 100644
--- a/reference/rendered-blocks.md
+++ b/reference/rendered-blocks.md
@@ -1,42 +1,37 @@
 ---
 ---
 
-# Rendered-blocks
+# Rendered Blocks
 
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a rendered-block object.</p>
+<p>The schema defines all the fields that exist within a Rendered Block 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.</p>
 <table class="attributes">
 			<tr id="schema-rendered">
 			<td>
-				<code>rendered</code><br />
-				<span class="type">
-					string				</span>
+				<code>rendered</code>
 			</td>
 			<td>
 				<p>The rendered block.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/block-renderer/&lt;name&gt;</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
-		<h2>Retrieve a Rendered-block</h2>
+		<h2>Create a Rendered Block</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
 				<td>
-											<code>name</code><br />
+											<code><a href="#schema-name">name</a></code><br />
 									</td>
 				<td>
 											<p>Unique registered name for the block.</p>
@@ -44,7 +39,7 @@
 			</tr>
 					<tr>
 				<td>
-											<code>context</code><br />
+											<code><a href="#schema-context">context</a></code><br />
 									</td>
 				<td>
 											<p>Scope under which the request is made; determines fields present in response.</p>
@@ -56,15 +51,15 @@
 			</tr>
 					<tr>
 				<td>
-											<code>attributes</code><br />
+											<code><a href="#schema-attributes">attributes</a></code><br />
 									</td>
 				<td>
-											<p>Attributes for core/tag-cloud block</p>
+											<p>Attributes for the block.</p>
 																								</td>
 			</tr>
 					<tr>
 				<td>
-											<code>post_id</code><br />
+											<code><a href="#schema-post_id">post_id</a></code><br />
 									</td>
 				<td>
 											<p>ID of the post context.</p>
@@ -76,11 +71,7 @@
 	<div class="secondary">
 		<h3>Definition</h3>
 
-		<code>GET /wp/v2/block-renderer/&lt;name&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/block-renderer/&lt;name&gt;</code>
+		<code>POST /wp/v2/block-renderer/&lt;name&gt;</code>
 	</div>
 </section>
 </div>
diff --git a/reference/search-results.md b/reference/search-results.md
index 8604117..438fcc3 100644
--- a/reference/search-results.md
+++ b/reference/search-results.md
@@ -1,90 +1,96 @@
 ---
 ---
 
-# Search-results
+# Search Results
 
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a search-result object.</p>
+<p>The schema defines all the fields that exist within a search result 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.</p>
 <table class="attributes">
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
 				<p>Unique identifier for the object.</p>
+				<p class="type">
+					JSON data type: integer or string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-title">
 			<td>
-				<code>title</code><br />
-				<span class="type">
-					string				</span>
+				<code>title</code>
 			</td>
 			<td>
 				<p>The title for the object.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-url">
 			<td>
-				<code>url</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>url</code>
 			</td>
 			<td>
 				<p>URL to the object.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-type">
 			<td>
-				<code>type</code><br />
-				<span class="type">
-					string				</span>
+				<code>type</code>
 			</td>
 			<td>
 				<p>Object type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code></p>
-									<p>One of: <code>post</code></p>
+									<p>One of: <code>post</code>, <code>term</code>, <code>post-format</code></p>
 							</td>
 		</tr>
 			<tr id="schema-subtype">
 			<td>
-				<code>subtype</code><br />
-				<span class="type">
-					string				</span>
+				<code>subtype</code>
 			</td>
 			<td>
 				<p>Object subtype.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code></p>
-									<p>One of: <code>post</code>, <code>page</code></p>
+									<p>One of: <code>post</code>, <code>page</code>, <code>category</code>, <code>post_tag</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/search</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
-		<h2>List Search-results</h2>
+		<h2>List Search Results</h2>
+		<p>Query this endpoint to retrieve a collection of search results. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/search</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/search</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -138,7 +144,7 @@
 																					<p class="default">
 							Default: <code>post</code>
 						</p>
-																<p>One of: <code>post</code></p>
+																<p>One of: <code>post</code>, <code>term</code>, <code>post-format</code></p>
 									</td>
 			</tr>
 					<tr>
@@ -151,18 +157,25 @@
 							Default: <code>any</code>
 						</p>
 														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>exclude</code><br />
+									</td>
+				<td>
+											<p>Ensure result set excludes specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>include</code><br />
+									</td>
+				<td>
+											<p>Limit result set to specific IDs.</p>
+																								</td>
 			</tr>
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/search</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/search</code>
-	</div>
 </section>
 </div>
diff --git a/reference/settings.md b/reference/settings.md
index 80fd409..834bdd1 100644
--- a/reference/settings.md
+++ b/reference/settings.md
@@ -1,187 +1,264 @@
 ---
 ---
 
-# Settings
+# Site Settings
 
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a settings object.</p>
+<p>The schema defines all the fields that exist within a Site Setting 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.</p>
 <table class="attributes">
 			<tr id="schema-title">
 			<td>
-				<code>title</code><br />
-				<span class="type">
-					string				</span>
+				<code>title</code>
 			</td>
 			<td>
 				<p>Site title.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-description">
 			<td>
-				<code>description</code><br />
-				<span class="type">
-					string				</span>
+				<code>description</code>
 			</td>
 			<td>
 				<p>Site tagline.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-url">
+			<td>
+				<code>url</code>
+			</td>
+			<td>
+				<p>Site URL.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-email">
+			<td>
+				<code>email</code>
+			</td>
+			<td>
+				<p>This address is used for admin purposes, like new user notification.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: email
+									</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-timezone">
 			<td>
-				<code>timezone</code><br />
-				<span class="type">
-					string				</span>
+				<code>timezone</code>
 			</td>
 			<td>
 				<p>A city in the same timezone as you.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-date_format">
 			<td>
-				<code>date_format</code><br />
-				<span class="type">
-					string				</span>
+				<code>date_format</code>
 			</td>
 			<td>
 				<p>A date format for all date strings.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-time_format">
 			<td>
-				<code>time_format</code><br />
-				<span class="type">
-					string				</span>
+				<code>time_format</code>
 			</td>
 			<td>
 				<p>A time format for all time strings.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-start_of_week">
 			<td>
-				<code>start_of_week</code><br />
-				<span class="type">
-					integer				</span>
+				<code>start_of_week</code>
 			</td>
 			<td>
 				<p>A day number of the week that the week should start on.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-language">
 			<td>
-				<code>language</code><br />
-				<span class="type">
-					string				</span>
+				<code>language</code>
 			</td>
 			<td>
 				<p>WordPress locale code.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-use_smilies">
 			<td>
-				<code>use_smilies</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>use_smilies</code>
 			</td>
 			<td>
 				<p>Convert emoticons like :-) and :-P to graphics on display.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-default_category">
 			<td>
-				<code>default_category</code><br />
-				<span class="type">
-					integer				</span>
+				<code>default_category</code>
 			</td>
 			<td>
 				<p>Default post category.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-default_post_format">
 			<td>
-				<code>default_post_format</code><br />
-				<span class="type">
-					string				</span>
+				<code>default_post_format</code>
 			</td>
 			<td>
 				<p>Default post format.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-posts_per_page">
 			<td>
-				<code>posts_per_page</code><br />
-				<span class="type">
-					integer				</span>
+				<code>posts_per_page</code>
 			</td>
 			<td>
 				<p>Blog pages show at most.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-show_on_front">
+			<td>
+				<code>show_on_front</code>
+			</td>
+			<td>
+				<p>What to show on the front page</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-page_on_front">
+			<td>
+				<code>page_on_front</code>
+			</td>
+			<td>
+				<p>The ID of the page that should be displayed on the front page</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-page_for_posts">
+			<td>
+				<code>page_for_posts</code>
+			</td>
+			<td>
+				<p>The ID of the page that should display the latest posts</p>
+				<p class="type">
+					JSON data type: integer				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-default_ping_status">
 			<td>
-				<code>default_ping_status</code><br />
-				<span class="type">
-					string				</span>
+				<code>default_ping_status</code>
 			</td>
 			<td>
 				<p>Allow link notifications from other blogs (pingbacks and trackbacks) on new articles.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code></code></p>
 									<p>One of: <code>open</code>, <code>closed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-default_comment_status">
 			<td>
-				<code>default_comment_status</code><br />
-				<span class="type">
-					string				</span>
+				<code>default_comment_status</code>
 			</td>
 			<td>
-				<p>Allow people to post comments on new articles.</p>
+				<p>Allow people to submit comments on new posts.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code></code></p>
 									<p>One of: <code>open</code>, <code>closed</code></p>
 							</td>
 		</tr>
+			<tr id="schema-site_logo">
+			<td>
+				<code>site_logo</code>
+			</td>
+			<td>
+				<p>Site logo.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-site_icon">
+			<td>
+				<code>site_icon</code>
+			</td>
+			<td>
+				<p>Site icon.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/settings</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
-		<h2>Retrieve Site Settings</h2>
-			<p>There are no arguments for this endpoint.</p>
+		<h2>Retrieve a Site Setting</h2>
 
-	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
+		<h3>Definition & Example Request</h3>
 
 		<code>GET /wp/v2/settings</code>
 
-		<h3>Example Request</h3>
+		<p>Query this endpoint to retrieve a specific Site Setting record.</p>
 
 		<code>$ curl https://example.com/wp-json/wp/v2/settings</code>
 	</div>
+	<div class="secondary">
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
 </section>
 <section class="route">
 	<div class="primary">
-		<h2>Update Site Settings</h2>
+		<h2>Update a Site Setting</h2>
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -199,6 +276,22 @@
 				<td>
 											<p>Site tagline.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-url">url</a></code><br />
+									</td>
+				<td>
+											<p>Site URL.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-email">email</a></code><br />
+									</td>
+				<td>
+											<p>This address is used for admin purposes, like new user notification.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -271,6 +364,30 @@
 				<td>
 											<p>Blog pages show at most.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-show_on_front">show_on_front</a></code><br />
+									</td>
+				<td>
+											<p>What to show on the front page</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-page_on_front">page_on_front</a></code><br />
+									</td>
+				<td>
+											<p>The ID of the page that should be displayed on the front page</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-page_for_posts">page_for_posts</a></code><br />
+									</td>
+				<td>
+											<p>The ID of the page that should display the latest posts</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -286,9 +403,25 @@
 											<code><a href="#schema-default_comment_status">default_comment_status</a></code><br />
 									</td>
 				<td>
-											<p>Allow people to post comments on new articles.</p>
+											<p>Allow people to submit comments on new posts.</p>
 																										<p>One of: <code>open</code>, <code>closed</code></p>
 									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-site_logo">site_logo</a></code><br />
+									</td>
+				<td>
+											<p>Site logo.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-site_icon">site_icon</a></code><br />
+									</td>
+				<td>
+											<p>Site icon.</p>
+																								</td>
 			</tr>
 			</table>
 
diff --git a/reference/sidebars.md b/reference/sidebars.md
new file mode 100644
index 0000000..e925efe
--- /dev/null
+++ b/reference/sidebars.md
@@ -0,0 +1,232 @@
+---
+---
+
+# Sidebars
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a sidebar 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.</p>
+<table class="attributes">
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>ID of sidebar.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>Unique name identifying the sidebar.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>Description of sidebar.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-class">
+			<td>
+				<code>class</code>
+			</td>
+			<td>
+				<p>Extra CSS class to assign to the sidebar in the Widgets interface.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-before_widget">
+			<td>
+				<code>before_widget</code>
+			</td>
+			<td>
+				<p>HTML content to prepend to each widget&#039;s HTML output when assigned to this sidebar. Default is an opening list item element.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-after_widget">
+			<td>
+				<code>after_widget</code>
+			</td>
+			<td>
+				<p>HTML content to append to each widget&#039;s HTML output when assigned to this sidebar. Default is a closing list item element.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-before_title">
+			<td>
+				<code>before_title</code>
+			</td>
+			<td>
+				<p>HTML content to prepend to the sidebar title when displayed. Default is an opening h2 element.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-after_title">
+			<td>
+				<code>after_title</code>
+			</td>
+			<td>
+				<p>HTML content to append to the sidebar title when displayed. Default is a closing h2 element.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-status">
+			<td>
+				<code>status</code>
+			</td>
+			<td>
+				<p>Status of sidebar.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+									<p>One of: <code>active</code>, <code>inactive</code></p>
+							</td>
+		</tr>
+			<tr id="schema-widgets">
+			<td>
+				<code>widgets</code>
+			</td>
+			<td>
+				<p>Nested widgets.</p>
+				<p class="type">
+					JSON data type: array				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Sidebar</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/sidebars</code>
+
+		<p>Query this endpoint to retrieve a specific sidebar record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/sidebars</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Sidebar</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/sidebars/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific sidebar record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/sidebars/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The id of a registered sidebar</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Sidebar</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-widgets">widgets</a></code><br />
+									</td>
+				<td>
+											<p>Nested widgets.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/sidebars/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+</div>
diff --git a/reference/tags.md b/reference/tags.md
index 23f7d2f..7e9b7f8 100644
--- a/reference/tags.md
+++ b/reference/tags.md
@@ -6,116 +6,122 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a tag object.</p>
+<p>The schema defines all the fields that exist within a tag 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.</p>
 <table class="attributes">
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
 				<p>Unique identifier for the term.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-count">
 			<td>
-				<code>count</code><br />
-				<span class="type">
-					integer				</span>
+				<code>count</code>
 			</td>
 			<td>
 				<p>Number of published posts for the term.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-description">
 			<td>
-				<code>description</code><br />
-				<span class="type">
-					string				</span>
+				<code>description</code>
 			</td>
 			<td>
 				<p>HTML description of the term.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-link">
 			<td>
-				<code>link</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>link</code>
 			</td>
 			<td>
 				<p>URL of the term.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-name">
 			<td>
-				<code>name</code><br />
-				<span class="type">
-					string				</span>
+				<code>name</code>
 			</td>
 			<td>
 				<p>HTML title for the term.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
 				<p>An alphanumeric identifier for the term unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-taxonomy">
 			<td>
-				<code>taxonomy</code><br />
-				<span class="type">
-					string				</span>
+				<code>taxonomy</code>
 			</td>
 			<td>
 				<p>Type attribution for the term.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>embed</code>, <code>edit</code></p>
-									<p>One of: <code>category</code>, <code>post_tag</code>, <code>nav_menu</code>, <code>link_category</code>, <code>post_format</code></p>
+									<p>One of: <code>post_tag</code></p>
 							</td>
 		</tr>
 			<tr id="schema-meta">
 			<td>
-				<code>meta</code><br />
-				<span class="type">
-					object				</span>
+				<code>meta</code>
 			</td>
 			<td>
 				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/tags</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>List Tags</h2>
+		<p>Query this endpoint to retrieve a collection of tags. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/tags</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/tags</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -235,15 +241,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/tags</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/tags</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -297,6 +294,16 @@
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Tag</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/tags/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific tag record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/tags/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -322,15 +329,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/tags/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/tags/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
diff --git a/reference/taxonomies.md b/reference/taxonomies.md
index a589964..121e3ab 100644
--- a/reference/taxonomies.md
+++ b/reference/taxonomies.md
@@ -6,124 +6,136 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a taxonomy object.</p>
+<p>The schema defines all the fields that exist within a taxonomy 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.</p>
 <table class="attributes">
 			<tr id="schema-capabilities">
 			<td>
-				<code>capabilities</code><br />
-				<span class="type">
-					object				</span>
+				<code>capabilities</code>
 			</td>
 			<td>
 				<p>All capabilities used by the taxonomy.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-description">
 			<td>
-				<code>description</code><br />
-				<span class="type">
-					string				</span>
+				<code>description</code>
 			</td>
 			<td>
 				<p>A human-readable description of the taxonomy.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-hierarchical">
 			<td>
-				<code>hierarchical</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>hierarchical</code>
 			</td>
 			<td>
 				<p>Whether or not the taxonomy should have children.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-labels">
 			<td>
-				<code>labels</code><br />
-				<span class="type">
-					object				</span>
+				<code>labels</code>
 			</td>
 			<td>
 				<p>Human-readable labels for the taxonomy for various contexts.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-name">
 			<td>
-				<code>name</code><br />
-				<span class="type">
-					string				</span>
+				<code>name</code>
 			</td>
 			<td>
 				<p>The title for the taxonomy.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
 				<p>An alphanumeric identifier for the taxonomy.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-show_cloud">
 			<td>
-				<code>show_cloud</code><br />
-				<span class="type">
-					boolean				</span>
+				<code>show_cloud</code>
 			</td>
 			<td>
 				<p>Whether or not the term cloud should be displayed.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-types">
 			<td>
-				<code>types</code><br />
-				<span class="type">
-					array				</span>
+				<code>types</code>
 			</td>
 			<td>
 				<p>Types associated with the taxonomy.</p>
+				<p class="type">
+					JSON data type: array				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-rest_base">
 			<td>
-				<code>rest_base</code><br />
-				<span class="type">
-					string				</span>
+				<code>rest_base</code>
 			</td>
 			<td>
 				<p>REST base route for the taxonomy.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-rest_namespace">
+			<td>
+				<code>rest_namespace</code>
+			</td>
+			<td>
+				<p>REST namespace route for the taxonomy.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
 							</td>
 		</tr>
 			<tr id="schema-visibility">
 			<td>
-				<code>visibility</code><br />
-				<span class="type">
-					object				</span>
+				<code>visibility</code>
 			</td>
 			<td>
 				<p>The visibility settings for the taxonomy.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
@@ -131,16 +143,21 @@
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/taxonomies</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>Retrieve a Taxonomy</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/taxonomies</code>
+
+		<p>Query this endpoint to retrieve a specific taxonomy record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/taxonomies</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -166,19 +183,20 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/taxonomies</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/taxonomies</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a Taxonomy</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/taxonomies/&lt;taxonomy&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific taxonomy record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/taxonomies/&lt;taxonomy&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -204,14 +222,5 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/taxonomies/&lt;taxonomy&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/taxonomies/&lt;taxonomy&gt;</code>
-	</div>
 </section>
 </div>
diff --git a/reference/themes.md b/reference/themes.md
index bdb5798..a3afe4b 100644
--- a/reference/themes.md
+++ b/reference/themes.md
@@ -6,95 +6,259 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a theme object.</p>
+<p>The schema defines all the fields that exist within a theme 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.</p>
 <table class="attributes">
+			<tr id="schema-stylesheet">
+			<td>
+				<code>stylesheet</code>
+			</td>
+			<td>
+				<p>The theme&#039;s stylesheet. This uniquely identifies the theme.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-template">
+			<td>
+				<code>template</code>
+			</td>
+			<td>
+				<p>The theme&#039;s template. If this is a child theme, this refers to the parent theme, otherwise this is the same as the theme&#039;s stylesheet.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The theme author.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-author_uri">
+			<td>
+				<code>author_uri</code>
+			</td>
+			<td>
+				<p>The website of the theme author.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>A description of the theme.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-is_block_theme">
+			<td>
+				<code>is_block_theme</code>
+			</td>
+			<td>
+				<p>Whether the theme is a block-based theme.</p>
+				<p class="type">
+					JSON data type: boolean				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>The name of the theme.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-requires_php">
+			<td>
+				<code>requires_php</code>
+			</td>
+			<td>
+				<p>The minimum PHP version required for the theme to work.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-requires_wp">
+			<td>
+				<code>requires_wp</code>
+			</td>
+			<td>
+				<p>The minimum WordPress version required for the theme to work.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-screenshot">
+			<td>
+				<code>screenshot</code>
+			</td>
+			<td>
+				<p>The theme&#039;s screenshot URL.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-tags">
+			<td>
+				<code>tags</code>
+			</td>
+			<td>
+				<p>Tags indicating styles and features of the theme.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-textdomain">
+			<td>
+				<code>textdomain</code>
+			</td>
+			<td>
+				<p>The theme&#039;s text domain.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
 			<tr id="schema-theme_supports">
 			<td>
-				<code>theme_supports</code><br />
-				<span class="type">
-					array				</span>
+				<code>theme_supports</code>
 			</td>
 			<td>
 				<p>Features supported by this theme.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-theme_uri">
+			<td>
+				<code>theme_uri</code>
+			</td>
+			<td>
+				<p>The URI of the theme&#039;s webpage.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-version">
+			<td>
+				<code>version</code>
+			</td>
+			<td>
+				<p>The theme&#039;s current version.</p>
+				<p class="type">
+					JSON data type: string				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
+			<tr id="schema-status">
+			<td>
+				<code>status</code>
+			</td>
+			<td>
+				<p>A named status for the theme.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code></code></p>
+									<p>One of: <code>inactive</code>, <code>active</code></p>
+							</td>
+		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/themes</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
-		<h2>List Themes</h2>
+		<h2>Retrieve a Theme</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/themes</code>
+
+		<p>Query this endpoint to retrieve a specific theme record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/themes</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
 				<td>
-											<code>context</code><br />
+											<code>status</code><br />
 									</td>
 				<td>
-											<p>Scope under which the request is made; determines fields present in response.</p>
+											<p>Limit result set to themes assigned one or more statuses.</p>
 																								</td>
 			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Theme</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/themes/&lt;stylesheet&gt;?)</code>
+
+		<p>Query this endpoint to retrieve a specific theme record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/themes/&lt;stylesheet&gt;?)</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
 					<tr>
 				<td>
-											<code>page</code><br />
-									</td>
-				<td>
-											<p>Current page of the collection.</p>
-																					<p class="default">
-							Default: <code>1</code>
-						</p>
-														</td>
-			</tr>
-					<tr>
-				<td>
-											<code>per_page</code><br />
-									</td>
-				<td>
-											<p>Maximum number of items to be returned in result set.</p>
-																					<p class="default">
-							Default: <code>10</code>
-						</p>
-														</td>
-			</tr>
-					<tr>
-				<td>
-											<code>search</code><br />
+											<code>stylesheet</code><br />
 									</td>
 				<td>
-											<p>Limit results to those matching a string.</p>
+											<p>The theme&#039;s stylesheet. This uniquely identifies the theme.</p>
 																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code>status</code><br />
-									</td>
-				<td>
-											<p>Limit result set to themes assigned one or more statuses.</p>
-																<p class="required">
-							Required: 1
-						</p>
-																			</td>
 			</tr>
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/themes</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/themes</code>
-	</div>
 </section>
 </div>
diff --git a/reference/users.md b/reference/users.md
index d7b7aaf..62bce0f 100644
--- a/reference/users.md
+++ b/reference/users.md
@@ -6,245 +6,251 @@
 <section class="route">
 	<div class="primary">
 		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a user object.</p>
+<p>The schema defines all the fields that exist within a user 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.</p>
 <table class="attributes">
 			<tr id="schema-id">
 			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
+				<code>id</code>
 			</td>
 			<td>
 				<p>Unique identifier for the user.</p>
+				<p class="type">
+					JSON data type: integer				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-username">
 			<td>
-				<code>username</code><br />
-				<span class="type">
-					string				</span>
+				<code>username</code>
 			</td>
 			<td>
 				<p>Login name for the user.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-name">
 			<td>
-				<code>name</code><br />
-				<span class="type">
-					string				</span>
+				<code>name</code>
 			</td>
 			<td>
 				<p>Display name for the user.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-first_name">
 			<td>
-				<code>first_name</code><br />
-				<span class="type">
-					string				</span>
+				<code>first_name</code>
 			</td>
 			<td>
 				<p>First name for the user.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-last_name">
 			<td>
-				<code>last_name</code><br />
-				<span class="type">
-					string				</span>
+				<code>last_name</code>
 			</td>
 			<td>
 				<p>Last name for the user.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-email">
 			<td>
-				<code>email</code><br />
-				<span class="type">
-					string,
-													email
-									</span>
+				<code>email</code>
 			</td>
 			<td>
 				<p>The email address for the user.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: email
+									</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-url">
 			<td>
-				<code>url</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>url</code>
 			</td>
 			<td>
 				<p>URL of the user.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-description">
 			<td>
-				<code>description</code><br />
-				<span class="type">
-					string				</span>
+				<code>description</code>
 			</td>
 			<td>
 				<p>Description of the user.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-link">
 			<td>
-				<code>link</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
+				<code>link</code>
 			</td>
 			<td>
 				<p>Author URL of the user.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-locale">
 			<td>
-				<code>locale</code><br />
-				<span class="type">
-					string				</span>
+				<code>locale</code>
 			</td>
 			<td>
 				<p>Locale for the user.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 									<p>One of: <code></code>, <code>en_US</code></p>
 							</td>
 		</tr>
 			<tr id="schema-nickname">
 			<td>
-				<code>nickname</code><br />
-				<span class="type">
-					string				</span>
+				<code>nickname</code>
 			</td>
 			<td>
 				<p>The nickname for the user.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-slug">
 			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
+				<code>slug</code>
 			</td>
 			<td>
 				<p>An alphanumeric identifier for the user.</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-registered_date">
 			<td>
-				<code>registered_date</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
+				<code>registered_date</code>
 			</td>
 			<td>
 				<p>Registration date for the user.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-roles">
 			<td>
-				<code>roles</code><br />
-				<span class="type">
-					array				</span>
+				<code>roles</code>
 			</td>
 			<td>
 				<p>Roles assigned to the user.</p>
+				<p class="type">
+					JSON data type: array				</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-password">
 			<td>
-				<code>password</code><br />
-				<span class="type">
-					string				</span>
+				<code>password</code>
 			</td>
 			<td>
 				<p>Password for the user (never included).</p>
+				<p class="type">
+					JSON data type: string				</p>
 								<p class="context">Context: <code></code></p>
 							</td>
 		</tr>
 			<tr id="schema-capabilities">
 			<td>
-				<code>capabilities</code><br />
-				<span class="type">
-					object				</span>
+				<code>capabilities</code>
 			</td>
 			<td>
 				<p>All capabilities assigned to the user.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-extra_capabilities">
 			<td>
-				<code>extra_capabilities</code><br />
-				<span class="type">
-					object				</span>
+				<code>extra_capabilities</code>
 			</td>
 			<td>
 				<p>Any extra capabilities assigned to the user.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-avatar_urls">
 			<td>
-				<code>avatar_urls</code><br />
-				<span class="type">
-					object				</span>
+				<code>avatar_urls</code>
 			</td>
 			<td>
 				<p>Avatar URLs for the user.</p>
+				<p class="type">
+					JSON data type: object				</p>
 									<p class="read-only">Read only</p>
 								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 			<tr id="schema-meta">
 			<td>
-				<code>meta</code><br />
-				<span class="type">
-					object				</span>
+				<code>meta</code>
 			</td>
 			<td>
 				<p>Meta fields.</p>
+				<p class="type">
+					JSON data type: object				</p>
 								<p class="context">Context: <code>view</code>, <code>edit</code></p>
 							</td>
 		</tr>
 	</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/users</code>
-	</div>
 </section>
 
 <div><section class="route">
 	<div class="primary">
 		<h2>List Users</h2>
+		<p>Query this endpoint to retrieve a collection of users. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/users</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/users</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -330,7 +336,7 @@
 											<code>orderby</code><br />
 									</td>
 				<td>
-											<p>Sort collection by object attribute.</p>
+											<p>Sort collection by user attribute.</p>
 																					<p class="default">
 							Default: <code>name</code>
 						</p>
@@ -352,6 +358,14 @@
 				<td>
 											<p>Limit result set to users matching at least one specific role provided. Accepts csv list or single role.</p>
 																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>capabilities</code><br />
+									</td>
+				<td>
+											<p>Limit result set to users matching at least one specific capability provided. Accepts csv list or single capability.</p>
+																								</td>
 			</tr>
 					<tr>
 				<td>
@@ -361,19 +375,18 @@
 											<p>Limit result set to users who are considered authors.</p>
 																										<p>One of: <code>authors</code></p>
 									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>has_published_posts</code><br />
+									</td>
+				<td>
+											<p>Limit result set to users who have published posts.</p>
+																								</td>
 			</tr>
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/users</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/users</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -506,6 +519,16 @@
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a User</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/users/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific user record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/users/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -531,15 +554,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/users/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/users/&lt;id&gt;</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
@@ -720,6 +734,16 @@
 <section class="route">
 	<div class="primary">
 		<h2>Retrieve a User</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/users/me</code>
+
+		<p>Query this endpoint to retrieve a specific user record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/users/me</code>
+	</div>
+	<div class="secondary">
 			<h3>Arguments</h3>
 	<table class="arguments">
 					<tr>
@@ -737,15 +761,6 @@
 			</table>
 
 	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/users/me</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/users/me</code>
-	</div>
 </section>
 <section class="route">
 	<div class="primary">
diff --git a/reference/widget-types.md b/reference/widget-types.md
new file mode 100644
index 0000000..5077952
--- /dev/null
+++ b/reference/widget-types.md
@@ -0,0 +1,145 @@
+---
+---
+
+# Widget Types
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a widget type 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.</p>
+<table class="attributes">
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique slug identifying the widget type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-name">
+			<td>
+				<code>name</code>
+			</td>
+			<td>
+				<p>Human-readable name identifying the widget type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>Description of the widget.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-is_multi">
+			<td>
+				<code>is_multi</code>
+			</td>
+			<td>
+				<p>Whether the widget supports multiple instances</p>
+				<p class="type">
+					JSON data type: boolean				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-classname">
+			<td>
+				<code>classname</code>
+			</td>
+			<td>
+				<p>Class name</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Widget Type</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/widget-types</code>
+
+		<p>Query this endpoint to retrieve a specific widget type record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/widget-types</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Widget Type</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/widget-types/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific widget type record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/widget-types/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The widget type id.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/widgets.md b/reference/widgets.md
new file mode 100644
index 0000000..66d85c7
--- /dev/null
+++ b/reference/widgets.md
@@ -0,0 +1,309 @@
+---
+---
+
+# Widgets
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a widget 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.</p>
+<table class="attributes">
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the widget.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id_base">
+			<td>
+				<code>id_base</code>
+			</td>
+			<td>
+				<p>The type of the widget. Corresponds to ID in widget-types endpoint.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-sidebar">
+			<td>
+				<code>sidebar</code>
+			</td>
+			<td>
+				<p>The sidebar the widget belongs to.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-rendered">
+			<td>
+				<code>rendered</code>
+			</td>
+			<td>
+				<p>HTML representation of the widget.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-rendered_form">
+			<td>
+				<code>rendered_form</code>
+			</td>
+			<td>
+				<p>HTML representation of the widget admin form.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-instance">
+			<td>
+				<code>instance</code>
+			</td>
+			<td>
+				<p>Instance settings of the widget, if supported.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-form_data">
+			<td>
+				<code>form_data</code>
+			</td>
+			<td>
+				<p>URL-encoded form data from the widget admin form. Used to update a widget that does not support instance. Write only.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Widget</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/widgets</code>
+
+		<p>Query this endpoint to retrieve a specific widget record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/widgets</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>sidebar</code><br />
+									</td>
+				<td>
+											<p>The sidebar to return widgets for.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Widget</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-id">id</a></code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the widget.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-id_base">id_base</a></code><br />
+									</td>
+				<td>
+											<p>The type of the widget. Corresponds to ID in widget-types endpoint.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-sidebar">sidebar</a></code><br />
+									</td>
+				<td>
+											<p>The sidebar the widget belongs to.</p>
+																<p class="required">
+							Required: 1
+						</p>
+																<p class="default">
+							Default: <code>wp_inactive_widgets</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-instance">instance</a></code><br />
+									</td>
+				<td>
+											<p>Instance settings of the widget, if supported.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-form_data">form_data</a></code><br />
+									</td>
+				<td>
+											<p>URL-encoded form data from the widget admin form. Used to update a widget that does not support instance. Write only.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/widgets</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Widget</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/widgets/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific widget record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/widgets/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Widget</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-id">id</a></code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the widget.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-id_base">id_base</a></code><br />
+									</td>
+				<td>
+											<p>The type of the widget. Corresponds to ID in widget-types endpoint.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-sidebar">sidebar</a></code><br />
+									</td>
+				<td>
+											<p>The sidebar the widget belongs to.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-instance">instance</a></code><br />
+									</td>
+				<td>
+											<p>Instance settings of the widget, if supported.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-form_data">form_data</a></code><br />
+									</td>
+				<td>
+											<p>URL-encoded form data from the widget admin form. Used to update a widget that does not support instance. Write only.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/widgets/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Widget</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Whether to force removal of the widget, or move it to the inactive sidebar.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/widgets/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/widgets/&lt;id&gt;</code>
+	</div>
+</section>
+</div>
diff --git a/reference/wp-site-health-tests.md b/reference/wp-site-health-tests.md
new file mode 100644
index 0000000..c051a63
--- /dev/null
+++ b/reference/wp-site-health-tests.md
@@ -0,0 +1,174 @@
+---
+---
+
+# Wp Site Health Tests
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a wp site health test 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.</p>
+<table class="attributes">
+			<tr id="schema-test">
+			<td>
+				<code>test</code>
+			</td>
+			<td>
+				<p>The name of the test being run.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-label">
+			<td>
+				<code>label</code>
+			</td>
+			<td>
+				<p>A label describing the test.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-status">
+			<td>
+				<code>status</code>
+			</td>
+			<td>
+				<p>The status of the test.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+									<p>One of: <code>good</code>, <code>recommended</code>, <code>critical</code></p>
+							</td>
+		</tr>
+			<tr id="schema-badge">
+			<td>
+				<code>badge</code>
+			</td>
+			<td>
+				<p>The category this test is grouped in.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>A more descriptive explanation of what the test looks for, and why it is important for the user.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+			<tr id="schema-actions">
+			<td>
+				<code>actions</code>
+			</td>
+			<td>
+				<p>HTML containing an action to direct the user to where they can resolve the issue.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code></code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Wp Site Health Test</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp-site-health/v1/tests/background-updates</code>
+
+		<p>Query this endpoint to retrieve a specific wp site health test record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp-site-health/v1/tests/background-updates</code>
+	</div>
+	<div class="secondary">
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Wp Site Health Test</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp-site-health/v1/tests/loopback-requests</code>
+
+		<p>Query this endpoint to retrieve a specific wp site health test record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp-site-health/v1/tests/loopback-requests</code>
+	</div>
+	<div class="secondary">
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Wp Site Health Test</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp-site-health/v1/tests/https-status</code>
+
+		<p>Query this endpoint to retrieve a specific wp site health test record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp-site-health/v1/tests/https-status</code>
+	</div>
+	<div class="secondary">
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Wp Site Health Test</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp-site-health/v1/tests/dotorg-communication</code>
+
+		<p>Query this endpoint to retrieve a specific wp site health test record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp-site-health/v1/tests/dotorg-communication</code>
+	</div>
+	<div class="secondary">
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Wp Site Health Test</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp-site-health/v1/tests/authorization-header</code>
+
+		<p>Query this endpoint to retrieve a specific wp site health test record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp-site-health/v1/tests/authorization-header</code>
+	</div>
+	<div class="secondary">
+			<p>There are no arguments for this endpoint.</p>
+
+	</div>
+</section>
+</div>
diff --git a/reference/wp_block-revisions.md b/reference/wp_block-revisions.md
deleted file mode 100644
index 9028370..0000000
--- a/reference/wp_block-revisions.md
+++ /dev/null
@@ -1,336 +0,0 @@
----
----
-
-# wp_block Revisions
-
-<section class="route">
-	<div class="primary">
-		<h2>Schema</h2>
-<p>The schema defines all the fields that exist for a wp_block-revision object.</p>
-<table class="attributes">
-			<tr id="schema-author">
-			<td>
-				<code>author</code><br />
-				<span class="type">
-					integer				</span>
-			</td>
-			<td>
-				<p>The ID for the author of the object.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
-							</td>
-		</tr>
-			<tr id="schema-date">
-			<td>
-				<code>date</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
-			</td>
-			<td>
-				<p>The date the object was published, in the site&#039;s timezone.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
-							</td>
-		</tr>
-			<tr id="schema-date_gmt">
-			<td>
-				<code>date_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
-			</td>
-			<td>
-				<p>The date the object was published, as GMT.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code></p>
-							</td>
-		</tr>
-			<tr id="schema-guid">
-			<td>
-				<code>guid</code><br />
-				<span class="type">
-					object				</span>
-			</td>
-			<td>
-				<p>The globally unique identifier for the object.</p>
-									<p class="read-only">Read only</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code></p>
-							</td>
-		</tr>
-			<tr id="schema-id">
-			<td>
-				<code>id</code><br />
-				<span class="type">
-					integer				</span>
-			</td>
-			<td>
-				<p>Unique identifier for the object.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
-							</td>
-		</tr>
-			<tr id="schema-modified">
-			<td>
-				<code>modified</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
-			</td>
-			<td>
-				<p>The date the object was last modified, in the site&#039;s timezone.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code></p>
-							</td>
-		</tr>
-			<tr id="schema-modified_gmt">
-			<td>
-				<code>modified_gmt</code><br />
-				<span class="type">
-					string,
-													datetime ([details](https://core.trac.wordpress.org/ticket/41032))
-										</span>
-			</td>
-			<td>
-				<p>The date the object was last modified, as GMT.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code></p>
-							</td>
-		</tr>
-			<tr id="schema-parent">
-			<td>
-				<code>parent</code><br />
-				<span class="type">
-					integer				</span>
-			</td>
-			<td>
-				<p>The ID for the parent of the object.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
-							</td>
-		</tr>
-			<tr id="schema-slug">
-			<td>
-				<code>slug</code><br />
-				<span class="type">
-					string				</span>
-			</td>
-			<td>
-				<p>An alphanumeric identifier for the object unique to its type.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
-							</td>
-		</tr>
-			<tr id="schema-title">
-			<td>
-				<code>title</code><br />
-				<span class="type">
-					object				</span>
-			</td>
-			<td>
-				<p>The title for the object.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
-							</td>
-		</tr>
-			<tr id="schema-content">
-			<td>
-				<code>content</code><br />
-				<span class="type">
-					object				</span>
-			</td>
-			<td>
-				<p>The content for the object.</p>
-								<p class="context">Context: <code>view</code>, <code>edit</code></p>
-							</td>
-		</tr>
-			<tr id="schema-preview_link">
-			<td>
-				<code>preview_link</code><br />
-				<span class="type">
-					string,
-													uri
-										</span>
-			</td>
-			<td>
-				<p>Preview link for the post.</p>
-									<p class="read-only">Read only</p>
-								<p class="context">Context: <code>edit</code></p>
-							</td>
-		</tr>
-	</table>
-
-	</div>
-	<div class="secondary">
-		<h3>Example Request</h3>
-
-		<code>$ curl -X OPTIONS -i https://example.com/wp-json/wp/v2/blocks/&lt;id&gt;/autosaves</code>
-	</div>
-</section>
-
-<div><section class="route">
-	<div class="primary">
-		<h2>Retrieve a wp_block-revision</h2>
-			<h3>Arguments</h3>
-	<table class="arguments">
-					<tr>
-				<td>
-											<code>parent</code><br />
-									</td>
-				<td>
-											<p>The ID for the parent of the object.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code>context</code><br />
-									</td>
-				<td>
-											<p>Scope under which the request is made; determines fields present in response.</p>
-																					<p class="default">
-							Default: <code>view</code>
-						</p>
-																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
-									</td>
-			</tr>
-			</table>
-
-	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/blocks/&lt;id&gt;/autosaves</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/blocks/&lt;id&gt;/autosaves</code>
-	</div>
-</section>
-<section class="route">
-	<div class="primary">
-		<h2>Create a wp_block-revision</h2>
-			<h3>Arguments</h3>
-	<table class="arguments">
-					<tr>
-				<td>
-											<code><a href="#schema-parent">parent</a></code><br />
-									</td>
-				<td>
-											<p>The ID for the parent of the object.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code><a href="#schema-date">date</a></code><br />
-									</td>
-				<td>
-											<p>The date the object was published, in the site&#039;s timezone.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
-									</td>
-				<td>
-											<p>The date the object was published, as GMT.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code><a href="#schema-slug">slug</a></code><br />
-									</td>
-				<td>
-											<p>An alphanumeric identifier for the object unique to its type.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code><a href="#schema-status">status</a></code><br />
-									</td>
-				<td>
-											<p>A named status for the object.</p>
-																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
-									</td>
-			</tr>
-					<tr>
-				<td>
-											<code><a href="#schema-password">password</a></code><br />
-									</td>
-				<td>
-											<p>A password to protect access to the content and excerpt.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code><a href="#schema-title">title</a></code><br />
-									</td>
-				<td>
-											<p>The title for the object.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code><a href="#schema-content">content</a></code><br />
-									</td>
-				<td>
-											<p>The content for the object.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code><a href="#schema-template">template</a></code><br />
-									</td>
-				<td>
-											<p>The theme file to use to display the object.</p>
-																								</td>
-			</tr>
-			</table>
-
-	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>POST /wp/v2/blocks/&lt;id&gt;/autosaves</code>
-	</div>
-</section>
-<section class="route">
-	<div class="primary">
-		<h2>Retrieve a wp_block-revision</h2>
-			<h3>Arguments</h3>
-	<table class="arguments">
-					<tr>
-				<td>
-											<code>parent</code><br />
-									</td>
-				<td>
-											<p>The ID for the parent of the object.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code>id</code><br />
-									</td>
-				<td>
-											<p>The ID for the object.</p>
-																								</td>
-			</tr>
-					<tr>
-				<td>
-											<code>context</code><br />
-									</td>
-				<td>
-											<p>Scope under which the request is made; determines fields present in response.</p>
-																					<p class="default">
-							Default: <code>view</code>
-						</p>
-																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
-									</td>
-			</tr>
-			</table>
-
-	</div>
-	<div class="secondary">
-		<h3>Definition</h3>
-
-		<code>GET /wp/v2/blocks/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
-
-		<h3>Example Request</h3>
-
-		<code>$ curl https://example.com/wp-json/wp/v2/blocks/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
-	</div>
-</section>
-</div>
diff --git a/reference/wp_global_styles-revisions.md b/reference/wp_global_styles-revisions.md
new file mode 100644
index 0000000..c83567c
--- /dev/null
+++ b/reference/wp_global_styles-revisions.md
@@ -0,0 +1,190 @@
+---
+---
+
+# Global_Styles Revisions
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a global_styles revision 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.</p>
+<table class="attributes">
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The ID for the author of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date">
+			<td>
+				<code>date</code>
+			</td>
+			<td>
+				<p>The date the revision was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date_gmt">
+			<td>
+				<code>date_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified">
+			<td>
+				<code>modified</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified_gmt">
+			<td>
+				<code>modified_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-parent">
+			<td>
+				<code>parent</code>
+			</td>
+			<td>
+				<p>The ID for the parent of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-styles">
+			<td>
+				<code>styles</code>
+			</td>
+			<td>
+				<p>Global styles.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-settings">
+			<td>
+				<code>settings</code>
+			</td>
+			<td>
+				<p>Global settings.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Global_Styles Revisions</h2>
+		<p>Query this endpoint to retrieve a collection of global_styles revisions. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/global-styles/&lt;parent&gt;/revisions</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/global-styles/&lt;parent&gt;/revisions</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>offset</code><br />
+									</td>
+				<td>
+											<p>Offset the result set by a specific number of items.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/wp_global_styles.md b/reference/wp_global_styles.md
new file mode 100644
index 0000000..d06e1e7
--- /dev/null
+++ b/reference/wp_global_styles.md
@@ -0,0 +1,130 @@
+---
+---
+
+# Global_Styles
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a global_styles 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.</p>
+<table class="attributes">
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>ID of global styles config.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-styles">
+			<td>
+				<code>styles</code>
+			</td>
+			<td>
+				<p>Global styles.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-settings">
+			<td>
+				<code>settings</code>
+			</td>
+			<td>
+				<p>Global settings.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>Title of the global styles variation.</p>
+				<p class="type">
+					JSON data type: object or string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Global_Styles</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/global-styles/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific global_styles record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/global-styles/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The id of a template</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Global_Styles</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-styles">styles</a></code><br />
+									</td>
+				<td>
+											<p>Global styles.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-settings">settings</a></code><br />
+									</td>
+				<td>
+											<p>Global settings.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>Title of the global styles variation.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/global-styles/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+</div>
diff --git a/reference/wp_navigation-revisions.md b/reference/wp_navigation-revisions.md
new file mode 100644
index 0000000..8debdbc
--- /dev/null
+++ b/reference/wp_navigation-revisions.md
@@ -0,0 +1,523 @@
+---
+---
+
+# Navigation Revisions
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a navigation revision 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.</p>
+<table class="attributes">
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The ID for the author of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date">
+			<td>
+				<code>date</code>
+			</td>
+			<td>
+				<p>The date the revision was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date_gmt">
+			<td>
+				<code>date_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-guid">
+			<td>
+				<code>guid</code>
+			</td>
+			<td>
+				<p>The globally unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified">
+			<td>
+				<code>modified</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified_gmt">
+			<td>
+				<code>modified_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-parent">
+			<td>
+				<code>parent</code>
+			</td>
+			<td>
+				<p>The ID for the parent of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-slug">
+			<td>
+				<code>slug</code>
+			</td>
+			<td>
+				<p>An alphanumeric identifier for the revision unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>The title for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-content">
+			<td>
+				<code>content</code>
+			</td>
+			<td>
+				<p>The content for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Navigation Revisions</h2>
+		<p>Query this endpoint to retrieve a collection of navigation revisions. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/navigation/&lt;parent&gt;/revisions</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/navigation/&lt;parent&gt;/revisions</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a string.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>exclude</code><br />
+									</td>
+				<td>
+											<p>Ensure result set excludes specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>include</code><br />
+									</td>
+				<td>
+											<p>Limit result set to specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>offset</code><br />
+									</td>
+				<td>
+											<p>Offset the result set by a specific number of items.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>order</code><br />
+									</td>
+				<td>
+											<p>Order sort attribute ascending or descending.</p>
+																					<p class="default">
+							Default: <code>desc</code>
+						</p>
+																<p>One of: <code>asc</code>, <code>desc</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>orderby</code><br />
+									</td>
+				<td>
+											<p>Sort collection by object attribute.</p>
+																					<p class="default">
+							Default: <code>date</code>
+						</p>
+																<p>One of: <code>date</code>, <code>id</code>, <code>include</code>, <code>relevance</code>, <code>slug</code>, <code>include_slugs</code>, <code>title</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Navigation Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/navigation/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific navigation revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/navigation/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Navigation Revision</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Required to be true, as revisions do not support trashing.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/navigation/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/navigation/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Navigation Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/navigation/&lt;id&gt;/autosaves</code>
+
+		<p>Query this endpoint to retrieve a specific navigation revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/navigation/&lt;id&gt;/autosaves</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Navigation Revision</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-parent">parent</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-date">date</a></code><br />
+									</td>
+				<td>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
+									</td>
+				<td>
+											<p>The date the post was published, as GMT.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>A named status for the post.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-password">password</a></code><br />
+									</td>
+				<td>
+											<p>A password to protect access to the content and excerpt.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>The title for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>The content for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-template">template</a></code><br />
+									</td>
+				<td>
+											<p>The theme file to use to display the post.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/navigation/&lt;id&gt;/autosaves</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Navigation Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/navigation/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific navigation revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/navigation/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The ID for the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/wp_navigations.md b/reference/wp_navigations.md
new file mode 100644
index 0000000..59a2362
--- /dev/null
+++ b/reference/wp_navigations.md
@@ -0,0 +1,607 @@
+---
+---
+
+# Navigations
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a navigation 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.</p>
+<table class="attributes">
+			<tr id="schema-date">
+			<td>
+				<code>date</code>
+			</td>
+			<td>
+				<p>The date the post was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date_gmt">
+			<td>
+				<code>date_gmt</code>
+			</td>
+			<td>
+				<p>The date the post was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string or null,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-guid">
+			<td>
+				<code>guid</code>
+			</td>
+			<td>
+				<p>The globally unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the post.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-link">
+			<td>
+				<code>link</code>
+			</td>
+			<td>
+				<p>URL to the post.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: uri
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified">
+			<td>
+				<code>modified</code>
+			</td>
+			<td>
+				<p>The date the post was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified_gmt">
+			<td>
+				<code>modified_gmt</code>
+			</td>
+			<td>
+				<p>The date the post was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-slug">
+			<td>
+				<code>slug</code>
+			</td>
+			<td>
+				<p>An alphanumeric identifier for the post unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-status">
+			<td>
+				<code>status</code>
+			</td>
+			<td>
+				<p>A named status for the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+									<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+							</td>
+		</tr>
+			<tr id="schema-type">
+			<td>
+				<code>type</code>
+			</td>
+			<td>
+				<p>Type of post.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-password">
+			<td>
+				<code>password</code>
+			</td>
+			<td>
+				<p>A password to protect access to the content and excerpt.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>The title for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-content">
+			<td>
+				<code>content</code>
+			</td>
+			<td>
+				<p>The content for the post.</p>
+				<p class="type">
+					JSON data type: object				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-template">
+			<td>
+				<code>template</code>
+			</td>
+			<td>
+				<p>The theme file to use to display the post.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Navigations</h2>
+		<p>Query this endpoint to retrieve a collection of navigations. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/navigation</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/navigation</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																					<p class="default">
+							Default: <code>10</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a string.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>after</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts published after a given ISO8601 compliant date.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_after</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified after a given ISO8601 compliant date.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>before</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts published before a given ISO8601 compliant date.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>modified_before</code><br />
+									</td>
+				<td>
+											<p>Limit response to posts modified before a given ISO8601 compliant date.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>exclude</code><br />
+									</td>
+				<td>
+											<p>Ensure result set excludes specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>include</code><br />
+									</td>
+				<td>
+											<p>Limit result set to specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>offset</code><br />
+									</td>
+				<td>
+											<p>Offset the result set by a specific number of items.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>order</code><br />
+									</td>
+				<td>
+											<p>Order sort attribute ascending or descending.</p>
+																					<p class="default">
+							Default: <code>desc</code>
+						</p>
+																<p>One of: <code>asc</code>, <code>desc</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>orderby</code><br />
+									</td>
+				<td>
+											<p>Sort collection by post attribute.</p>
+																					<p class="default">
+							Default: <code>date</code>
+						</p>
+																<p>One of: <code>author</code>, <code>date</code>, <code>id</code>, <code>include</code>, <code>modified</code>, <code>parent</code>, <code>relevance</code>, <code>slug</code>, <code>include_slugs</code>, <code>title</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search_columns</code><br />
+									</td>
+				<td>
+											<p>Array of column names to be searched.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>slug</code><br />
+									</td>
+				<td>
+											<p>Limit result set to posts with one or more specific slugs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>status</code><br />
+									</td>
+				<td>
+											<p>Limit result set to posts assigned one or more statuses.</p>
+																					<p class="default">
+							Default: <code>publish</code>
+						</p>
+														</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Navigation</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-date">date</a></code><br />
+									</td>
+				<td>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
+									</td>
+				<td>
+											<p>The date the post was published, as GMT.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>A named status for the post.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-password">password</a></code><br />
+									</td>
+				<td>
+											<p>A password to protect access to the content and excerpt.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>The title for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>The content for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-template">template</a></code><br />
+									</td>
+				<td>
+											<p>The theme file to use to display the post.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/navigation</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Navigation</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/navigation/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific navigation record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/navigation/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>password</code><br />
+									</td>
+				<td>
+											<p>The password for the post if it is password protected.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Navigation</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-id">id</a></code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-date">date</a></code><br />
+									</td>
+				<td>
+											<p>The date the post was published, in the site&#039;s timezone.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-date_gmt">date_gmt</a></code><br />
+									</td>
+				<td>
+											<p>The date the post was published, as GMT.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>An alphanumeric identifier for the post unique to its type.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>A named status for the post.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-password">password</a></code><br />
+									</td>
+				<td>
+											<p>A password to protect access to the content and excerpt.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>The title for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>The content for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-template">template</a></code><br />
+									</td>
+				<td>
+											<p>The theme file to use to display the post.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/navigation/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Navigation</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the post.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Whether to bypass Trash and force deletion.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/navigation/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/navigation/&lt;id&gt;</code>
+	</div>
+</section>
+</div>
diff --git a/reference/wp_template-revisions.md b/reference/wp_template-revisions.md
new file mode 100644
index 0000000..786cb04
--- /dev/null
+++ b/reference/wp_template-revisions.md
@@ -0,0 +1,522 @@
+---
+---
+
+# Template Revisions
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a template revision 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.</p>
+<table class="attributes">
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The ID for the author of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date">
+			<td>
+				<code>date</code>
+			</td>
+			<td>
+				<p>The date the revision was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date_gmt">
+			<td>
+				<code>date_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-guid">
+			<td>
+				<code>guid</code>
+			</td>
+			<td>
+				<p>GUID for the revision, as it exists in the database.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified">
+			<td>
+				<code>modified</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified_gmt">
+			<td>
+				<code>modified_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-parent">
+			<td>
+				<code>parent</code>
+			</td>
+			<td>
+				<p>The ID for the parent of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-slug">
+			<td>
+				<code>slug</code>
+			</td>
+			<td>
+				<p>An alphanumeric identifier for the revision unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>Title of template.</p>
+				<p class="type">
+					JSON data type: object or string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-content">
+			<td>
+				<code>content</code>
+			</td>
+			<td>
+				<p>Content of template.</p>
+				<p class="type">
+					JSON data type: object or string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Template Revisions</h2>
+		<p>Query this endpoint to retrieve a collection of template revisions. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/templates/&lt;parent&gt;/revisions</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/templates/&lt;parent&gt;/revisions</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a string.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>exclude</code><br />
+									</td>
+				<td>
+											<p>Ensure result set excludes specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>include</code><br />
+									</td>
+				<td>
+											<p>Limit result set to specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>offset</code><br />
+									</td>
+				<td>
+											<p>Offset the result set by a specific number of items.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>order</code><br />
+									</td>
+				<td>
+											<p>Order sort attribute ascending or descending.</p>
+																					<p class="default">
+							Default: <code>desc</code>
+						</p>
+																<p>One of: <code>asc</code>, <code>desc</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>orderby</code><br />
+									</td>
+				<td>
+											<p>Sort collection by object attribute.</p>
+																					<p class="default">
+							Default: <code>date</code>
+						</p>
+																<p>One of: <code>date</code>, <code>id</code>, <code>include</code>, <code>relevance</code>, <code>slug</code>, <code>include_slugs</code>, <code>title</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/templates/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific template revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/templates/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Template Revision</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Required to be true, as revisions do not support trashing.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/templates/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/templates/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/templates/&lt;id&gt;/autosaves</code>
+
+		<p>Query this endpoint to retrieve a specific template revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/templates/&lt;id&gt;/autosaves</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Template Revision</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-parent">parent</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>Unique slug identifying the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-theme">theme</a></code><br />
+									</td>
+				<td>
+											<p>Theme identifier for the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-type">type</a></code><br />
+									</td>
+				<td>
+											<p>Type of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>Content of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>Title of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>Description of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>Status of template.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-author">author</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the author of the template.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/templates/&lt;id&gt;/autosaves</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/templates/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific template revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/templates/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The ID for the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/wp_template_part-revisions.md b/reference/wp_template_part-revisions.md
new file mode 100644
index 0000000..79df84d
--- /dev/null
+++ b/reference/wp_template_part-revisions.md
@@ -0,0 +1,530 @@
+---
+---
+
+# Template_Part Revisions
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a template_part revision 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.</p>
+<table class="attributes">
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The ID for the author of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date">
+			<td>
+				<code>date</code>
+			</td>
+			<td>
+				<p>The date the revision was published, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-date_gmt">
+			<td>
+				<code>date_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was published, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-guid">
+			<td>
+				<code>guid</code>
+			</td>
+			<td>
+				<p>GUID for the revision, as it exists in the database.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>Unique identifier for the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified">
+			<td>
+				<code>modified</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified_gmt">
+			<td>
+				<code>modified_gmt</code>
+			</td>
+			<td>
+				<p>The date the revision was last modified, as GMT.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-parent">
+			<td>
+				<code>parent</code>
+			</td>
+			<td>
+				<p>The ID for the parent of the revision.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-slug">
+			<td>
+				<code>slug</code>
+			</td>
+			<td>
+				<p>An alphanumeric identifier for the revision unique to its type.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>Title of template.</p>
+				<p class="type">
+					JSON data type: object or string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-content">
+			<td>
+				<code>content</code>
+			</td>
+			<td>
+				<p>Content of template.</p>
+				<p class="type">
+					JSON data type: object or string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>List Template_Part Revisions</h2>
+		<p>Query this endpoint to retrieve a collection of template_part revisions. The response you receive can be controlled and filtered using the URL query parameters below.</p>
+
+		<h3>Definition</h3>
+
+		<code>GET /wp/v2/template-parts/&lt;parent&gt;/revisions</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/template-parts/&lt;parent&gt;/revisions</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>page</code><br />
+									</td>
+				<td>
+											<p>Current page of the collection.</p>
+																					<p class="default">
+							Default: <code>1</code>
+						</p>
+														</td>
+			</tr>
+					<tr>
+				<td>
+											<code>per_page</code><br />
+									</td>
+				<td>
+											<p>Maximum number of items to be returned in result set.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>search</code><br />
+									</td>
+				<td>
+											<p>Limit results to those matching a string.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>exclude</code><br />
+									</td>
+				<td>
+											<p>Ensure result set excludes specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>include</code><br />
+									</td>
+				<td>
+											<p>Limit result set to specific IDs.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>offset</code><br />
+									</td>
+				<td>
+											<p>Offset the result set by a specific number of items.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>order</code><br />
+									</td>
+				<td>
+											<p>Order sort attribute ascending or descending.</p>
+																					<p class="default">
+							Default: <code>desc</code>
+						</p>
+																<p>One of: <code>asc</code>, <code>desc</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>orderby</code><br />
+									</td>
+				<td>
+											<p>Sort collection by object attribute.</p>
+																					<p class="default">
+							Default: <code>date</code>
+						</p>
+																<p>One of: <code>date</code>, <code>id</code>, <code>include</code>, <code>relevance</code>, <code>slug</code>, <code>include_slugs</code>, <code>title</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template_Part Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/template-parts/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific template_part revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/template-parts/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Template_Part Revision</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>Unique identifier for the revision.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Required to be true, as revisions do not support trashing.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/template-parts/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/template-parts/&lt;parent&gt;/revisions/&lt;id&gt;</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template_Part Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/template-parts/&lt;id&gt;/autosaves</code>
+
+		<p>Query this endpoint to retrieve a specific template_part revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/template-parts/&lt;id&gt;/autosaves</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Template_Part Revision</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-parent">parent</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>Unique slug identifying the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-theme">theme</a></code><br />
+									</td>
+				<td>
+											<p>Theme identifier for the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-type">type</a></code><br />
+									</td>
+				<td>
+											<p>Type of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>Content of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>Title of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>Description of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>Status of template.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-author">author</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the author of the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-area">area</a></code><br />
+									</td>
+				<td>
+											<p>Where the template part is intended for use (header, footer, etc.)</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/template-parts/&lt;id&gt;/autosaves</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template_Part Revision</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/template-parts/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+
+		<p>Query this endpoint to retrieve a specific template_part revision record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/template-parts/&lt;parent&gt;/autosaves/&lt;id&gt;</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>parent</code><br />
+									</td>
+				<td>
+											<p>The ID for the parent of the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The ID for the autosave.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+</div>
diff --git a/reference/wp_template_parts.md b/reference/wp_template_parts.md
new file mode 100644
index 0000000..1fe738b
--- /dev/null
+++ b/reference/wp_template_parts.md
@@ -0,0 +1,510 @@
+---
+---
+
+# Template_Parts
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a template_part 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.</p>
+<table class="attributes">
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>ID of template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-slug">
+			<td>
+				<code>slug</code>
+			</td>
+			<td>
+				<p>Unique slug identifying the template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-theme">
+			<td>
+				<code>theme</code>
+			</td>
+			<td>
+				<p>Theme identifier for the template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-type">
+			<td>
+				<code>type</code>
+			</td>
+			<td>
+				<p>Type of template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-source">
+			<td>
+				<code>source</code>
+			</td>
+			<td>
+				<p>Source of template</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-origin">
+			<td>
+				<code>origin</code>
+			</td>
+			<td>
+				<p>Source of a customized template</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-content">
+			<td>
+				<code>content</code>
+			</td>
+			<td>
+				<p>Content of template.</p>
+				<p class="type">
+					JSON data type: object or string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>Title of template.</p>
+				<p class="type">
+					JSON data type: object or string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>Description of template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-status">
+			<td>
+				<code>status</code>
+			</td>
+			<td>
+				<p>Status of template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+									<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+							</td>
+		</tr>
+			<tr id="schema-wp_id">
+			<td>
+				<code>wp_id</code>
+			</td>
+			<td>
+				<p>Post ID.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-has_theme_file">
+			<td>
+				<code>has_theme_file</code>
+			</td>
+			<td>
+				<p>Theme file exists.</p>
+				<p class="type">
+					JSON data type: bool				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The ID for the author of the template.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified">
+			<td>
+				<code>modified</code>
+			</td>
+			<td>
+				<p>The date the template was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-area">
+			<td>
+				<code>area</code>
+			</td>
+			<td>
+				<p>Where the template part is intended for use (header, footer, etc.)</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template_Part</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/template-parts</code>
+
+		<p>Query this endpoint to retrieve a specific template_part record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/template-parts</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>wp_id</code><br />
+									</td>
+				<td>
+											<p>Limit to the specified post id.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>area</code><br />
+									</td>
+				<td>
+											<p>Limit to the specified template part area.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>post_type</code><br />
+									</td>
+				<td>
+											<p>Post type to get the templates for.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Template_Part</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>Unique slug identifying the template.</p>
+																<p class="required">
+							Required: 1
+						</p>
+																			</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-theme">theme</a></code><br />
+									</td>
+				<td>
+											<p>Theme identifier for the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-type">type</a></code><br />
+									</td>
+				<td>
+											<p>Type of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>Content of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>Title of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>Description of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>Status of template.</p>
+																					<p class="default">
+							Default: <code>publish</code>
+						</p>
+																<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-author">author</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the author of the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-area">area</a></code><br />
+									</td>
+				<td>
+											<p>Where the template part is intended for use (header, footer, etc.)</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/template-parts</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template_Part</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/template-parts/&lt;id&gt;?)[\/\w%-]+)</code>
+
+		<p>Query this endpoint to retrieve a specific template_part record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/template-parts/&lt;id&gt;?)[\/\w%-]+)</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The id of a template</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Template_Part</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-id">id</a></code><br />
+									</td>
+				<td>
+											<p>The id of a template</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>Unique slug identifying the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-theme">theme</a></code><br />
+									</td>
+				<td>
+											<p>Theme identifier for the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-type">type</a></code><br />
+									</td>
+				<td>
+											<p>Type of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>Content of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>Title of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>Description of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>Status of template.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-author">author</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the author of the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-area">area</a></code><br />
+									</td>
+				<td>
+											<p>Where the template part is intended for use (header, footer, etc.)</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/template-parts/&lt;id&gt;?)[\/\w%-]+)</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Template_Part</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The id of a template</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Whether to bypass Trash and force deletion.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/template-parts/&lt;id&gt;?)[\/\w%-]+)</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/template-parts/&lt;id&gt;?)[\/\w%-]+)</code>
+	</div>
+</section>
+</div>
diff --git a/reference/wp_templates.md b/reference/wp_templates.md
new file mode 100644
index 0000000..de5603e
--- /dev/null
+++ b/reference/wp_templates.md
@@ -0,0 +1,495 @@
+---
+---
+
+# Templates
+
+<section class="route">
+	<div class="primary">
+		<h2>Schema</h2>
+<p>The schema defines all the fields that exist within a template 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.</p>
+<table class="attributes">
+			<tr id="schema-id">
+			<td>
+				<code>id</code>
+			</td>
+			<td>
+				<p>ID of template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-slug">
+			<td>
+				<code>slug</code>
+			</td>
+			<td>
+				<p>Unique slug identifying the template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-theme">
+			<td>
+				<code>theme</code>
+			</td>
+			<td>
+				<p>Theme identifier for the template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-type">
+			<td>
+				<code>type</code>
+			</td>
+			<td>
+				<p>Type of template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-source">
+			<td>
+				<code>source</code>
+			</td>
+			<td>
+				<p>Source of template</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-origin">
+			<td>
+				<code>origin</code>
+			</td>
+			<td>
+				<p>Source of a customized template</p>
+				<p class="type">
+					JSON data type: string				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-content">
+			<td>
+				<code>content</code>
+			</td>
+			<td>
+				<p>Content of template.</p>
+				<p class="type">
+					JSON data type: object or string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-title">
+			<td>
+				<code>title</code>
+			</td>
+			<td>
+				<p>Title of template.</p>
+				<p class="type">
+					JSON data type: object or string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-description">
+			<td>
+				<code>description</code>
+			</td>
+			<td>
+				<p>Description of template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-status">
+			<td>
+				<code>status</code>
+			</td>
+			<td>
+				<p>Status of template.</p>
+				<p class="type">
+					JSON data type: string				</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+									<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+							</td>
+		</tr>
+			<tr id="schema-wp_id">
+			<td>
+				<code>wp_id</code>
+			</td>
+			<td>
+				<p>Post ID.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-has_theme_file">
+			<td>
+				<code>has_theme_file</code>
+			</td>
+			<td>
+				<p>Theme file exists.</p>
+				<p class="type">
+					JSON data type: bool				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-author">
+			<td>
+				<code>author</code>
+			</td>
+			<td>
+				<p>The ID for the author of the template.</p>
+				<p class="type">
+					JSON data type: integer				</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code>, <code>embed</code></p>
+							</td>
+		</tr>
+			<tr id="schema-modified">
+			<td>
+				<code>modified</code>
+			</td>
+			<td>
+				<p>The date the template was last modified, in the site&#039;s timezone.</p>
+				<p class="type">
+					JSON data type: string,
+											Format: datetime (<a href="https://core.trac.wordpress.org/ticket/41032">details</a>)
+									</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+			<tr id="schema-is_custom">
+			<td>
+				<code>is_custom</code>
+			</td>
+			<td>
+				<p>Whether a template is a custom template.</p>
+				<p class="type">
+					JSON data type: bool				</p>
+									<p class="read-only">Read only</p>
+								<p class="context">Context: <code>embed</code>, <code>view</code>, <code>edit</code></p>
+							</td>
+		</tr>
+	</table>
+
+	</div>
+</section>
+
+<div><section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/templates</code>
+
+		<p>Query this endpoint to retrieve a specific template record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/templates</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code>wp_id</code><br />
+									</td>
+				<td>
+											<p>Limit to the specified post id.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>area</code><br />
+									</td>
+				<td>
+											<p>Limit to the specified template part area.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>post_type</code><br />
+									</td>
+				<td>
+											<p>Post type to get the templates for.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Create a Template</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>Unique slug identifying the template.</p>
+																<p class="required">
+							Required: 1
+						</p>
+																			</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-theme">theme</a></code><br />
+									</td>
+				<td>
+											<p>Theme identifier for the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-type">type</a></code><br />
+									</td>
+				<td>
+											<p>Type of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>Content of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>Title of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>Description of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>Status of template.</p>
+																					<p class="default">
+							Default: <code>publish</code>
+						</p>
+																<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-author">author</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the author of the template.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/templates</code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Retrieve a Template</h2>
+
+		<h3>Definition & Example Request</h3>
+
+		<code>GET /wp/v2/templates/&lt;id&gt;?)[\/\w%-]+)</code>
+
+		<p>Query this endpoint to retrieve a specific template record.</p>
+
+		<code>$ curl https://example.com/wp-json/wp/v2/templates/&lt;id&gt;?)[\/\w%-]+)</code>
+	</div>
+	<div class="secondary">
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The id of a template</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>context</code><br />
+									</td>
+				<td>
+											<p>Scope under which the request is made; determines fields present in response.</p>
+																					<p class="default">
+							Default: <code>view</code>
+						</p>
+																<p>One of: <code>view</code>, <code>embed</code>, <code>edit</code></p>
+									</td>
+			</tr>
+			</table>
+
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Update a Template</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code><a href="#schema-id">id</a></code><br />
+									</td>
+				<td>
+											<p>The id of a template</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-slug">slug</a></code><br />
+									</td>
+				<td>
+											<p>Unique slug identifying the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-theme">theme</a></code><br />
+									</td>
+				<td>
+											<p>Theme identifier for the template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-type">type</a></code><br />
+									</td>
+				<td>
+											<p>Type of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-content">content</a></code><br />
+									</td>
+				<td>
+											<p>Content of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-title">title</a></code><br />
+									</td>
+				<td>
+											<p>Title of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-description">description</a></code><br />
+									</td>
+				<td>
+											<p>Description of template.</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-status">status</a></code><br />
+									</td>
+				<td>
+											<p>Status of template.</p>
+																										<p>One of: <code>publish</code>, <code>future</code>, <code>draft</code>, <code>pending</code>, <code>private</code></p>
+									</td>
+			</tr>
+					<tr>
+				<td>
+											<code><a href="#schema-author">author</a></code><br />
+									</td>
+				<td>
+											<p>The ID for the author of the template.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>POST /wp/v2/templates/&lt;id&gt;?)[\/\w%-]+)</code>
+
+		<h3>Example Request</h3>
+
+		<code></code>
+	</div>
+</section>
+<section class="route">
+	<div class="primary">
+		<h2>Delete a Template</h2>
+			<h3>Arguments</h3>
+	<table class="arguments">
+					<tr>
+				<td>
+											<code>id</code><br />
+									</td>
+				<td>
+											<p>The id of a template</p>
+																								</td>
+			</tr>
+					<tr>
+				<td>
+											<code>force</code><br />
+									</td>
+				<td>
+											<p>Whether to bypass Trash and force deletion.</p>
+																								</td>
+			</tr>
+			</table>
+
+	</div>
+	<div class="secondary">
+		<h3>Definition</h3>
+
+		<code>DELETE /wp/v2/templates/&lt;id&gt;?)[\/\w%-]+)</code>
+
+		<h3>Example Request</h3>
+
+		<code>$ curl -X DELETE https://example.com/wp-json/wp/v2/templates/&lt;id&gt;?)[\/\w%-]+)</code>
+	</div>
+</section>
+</div>
diff --git a/requests.md b/requests.md
index de554e6..23fe0d4 100644
--- a/requests.md
+++ b/requests.md
@@ -19,7 +19,7 @@ Request objects have many different properties, each of which can be used in var
 $request = new WP_REST_Request( 'GET', '/my-namespace/v1/examples' );
 ```
 
-In the above code sample we are only specifying that the request object method is `GET` and we should be matching the route `/my-namespace/v1/examples` which in the context of an entire URL would look like this: `https://ourawesomesite.com/wp-json/my-namepsace/v1/examples`. The method and route arguments for the `WP_REST_Request` constructor are used to map the request to the desired endpoint. If the request is made to an endpoint that is not registered then a helpful 404 error message is returned in the response. Let's look at the various properties in more depth.
+In the above code sample we are only specifying that the request object method is `GET` and we should be matching the route `/my-namespace/v1/examples` which in the context of an entire URL would look like this: `https://ourawesomesite.com/wp-json/my-namespace/v1/examples`. The method and route arguments for the `WP_REST_Request` constructor are used to map the request to the desired endpoint. If the request is made to an endpoint that is not registered then a helpful 404 error message is returned in the response. Let's look at the various properties in more depth.
 
 
 ### Method
@@ -48,7 +48,7 @@ When making requests to the WordPress REST API, most of the additional data pass
 
 #### URL Params
 
-URL parameters are automatically generated in a `WP_REST_Request` from the path variables in the requested route. What does that mean? Let's look at this route, which grabs individual books by id: `/my-namespace/v1/books/(?P\d+)`. The odd looking `(?P\d+)` is a path variable. The name of the path variable is '`id`'.
+URL parameters are automatically generated in a `WP_REST_Request` from the path variables in the requested route. What does that mean? Let's look at this route, which grabs individual books by id: `/my-namespace/v1/books/(?P<id>\d+)`. The odd looking `(?P<id>\d+)` is a path variable. The name of the path variable is '`id`'.
 
 If we were to make a request like `GET https://ourawesomesite.com/wp-json/my-namespace/v1/books/5`, `5` will become the value for our `id` path variable. The `WP_REST_Request` object will automatically take that path variable and store it as a URL parameter. Now inside of our endpoint callbacks we can interact with that URL parameter really easily. Let's look at an example.
 
@@ -103,7 +103,7 @@ In the example above we see how path variables are stored as URL parameters in t
 
 #### Query Params
 
-Query parameters exist in the query string portion of a URI. The query string portion of a URI in `https://ourawesomesite.com/wp-json/my-namespace/v1/books?per_page=2&amp;genre=fiction` is `?per_page=2&amp;genre=fiction`. The query string is started by the '`?`' character, the different values within the query string are separated by the '`&amp;`' character. We specified two parameters in our query string; `per_page` and `fiction`. In our endpoint we would want to grab only two books from the fiction genre. We could access those values in a callback like this: `$request['per_page']`, and `$request['genre']` ( assuming $request is the name of the argument we are using ). If you are familiar with PHP you have probably used query parameters in your web applications.
+Query parameters exist in the query string portion of a URI. The query string portion of a URI in `https://ourawesomesite.com/wp-json/my-namespace/v1/books?per_page=2&amp;genre=fiction` is `?per_page=2&amp;genre=fiction`. The query string is started by the '`?`' character, the different values within the query string are separated by the '`&amp;`' character. We specified two parameters in our query string; `per_page` and `genre`. In our endpoint we would want to grab only two books from the fiction genre. We could access those values in a callback like this: `$request['per_page']`, and `$request['genre']` ( assuming $request is the name of the argument we are using ). If you are familiar with PHP you have probably used query parameters in your web applications.
 
 In PHP, the query parameters get stored in the superglobal `$_GET`. It is important to note that you should never directly access any superglobals or server variables in your endpoints. It is always best to work with what is provided by the `WP_REST_Request` class. Another common method for passing in variables to an endpoint is to use body parameters.
 
diff --git a/using-the-rest-api.md b/using-the-rest-api.md
index eb50b8e..5ada6a0 100644
--- a/using-the-rest-api.md
+++ b/using-the-rest-api.md
@@ -12,7 +12,7 @@ These articles explore the basic structure of the WordPress REST API.
 
 [Authentication](https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/): authorize your REST API requests so that you can create, update and delete your data
 
-[Frequently Asked Questions](https://developer.wordpress.org/rest-api/using-the-rest-api/frequently-asked-questions/): see some of the most frequent inquiries about the REST API and learn how to solve common problems
+[Frequently Asked Questions](https://developer.wordpress.org/rest-api/frequently-asked-questions/): see some of the most frequent inquiries about the REST API and learn how to solve common problems
 
 
 ## Resources & Utilities
diff --git a/using-the-rest-api/authentication.md b/using-the-rest-api/authentication.md
index eb39115..af75a89 100644
--- a/using-the-rest-api/authentication.md
+++ b/using-the-rest-api/authentication.md
@@ -4,7 +4,7 @@
 
 Cookie authentication is the standard authentication method included with WordPress. When you log in to your dashboard, this sets up the cookies correctly for you, so plugin and theme developers need only to have a logged-in user.
 
-However, the REST API includes a technique called [nonces](http://codex.wordpress.org/WordPress_Nonces) to avoid [CSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery) issues. This prevents other sites from forcing you to perform actions without explicitly intending to do so. This requires slightly special handling for the API.
+However, the REST API includes a technique called [nonces](https://developer.wordpress.org/apis/security/nonces/) to avoid [CSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery) issues. This prevents other sites from forcing you to perform actions without explicitly intending to do so. This requires slightly special handling for the API.
 
 For developers using the built-in Javascript API, this is handled automatically for you. This is the recommended way to use the API for plugins and themes. Custom data models can extend `wp.api.models.Base` to ensure this is sent correctly for any custom requests.
 
@@ -53,17 +53,28 @@ $.ajax( {
 } );
 ```
 
-Note that you do not need to verify that the nonce is valid inside your custom end point. This is automatically done for you in 
-`rest_cookie_check_errors()`
+Note that you do not need to verify that the nonce is valid inside your custom end point. This is automatically done for you in `rest_cookie_check_errors()`.
+
+## Basic Authentication with Application Passwords
+
+As of 5.6, WordPress has shipped with [Application Passwords](https://make.wordpress.org/core/2020/11/05/application-passwords-integration-guide/), which can be generated from an Edit User page (wp-admin -> Users -> Edit User). 
+
+The credentials can be passed along to REST API requests served over https:// using [Basic Auth](https://ec.haxx.se/libcurl-http/auth.html#basic) / [RFC 7617](https://tools.ietf.org/html/rfc7617) — [here’s the documentation for how to use it with cURL](https://ec.haxx.se/http/auth.html).
+
+For a simple command-line script example, just swap out USERNAME, PASSWORD, and HOSTNAME in this with their respective values:
+
+```
+curl --user "USERNAME:PASSWORD" https://HOSTNAME/wp-json/wp/v2/users?context=edit
+```
 
 ## Authentication Plugins
 
-While cookie authentication is the only authentication mechanism available natively within WordPress, plugins may be added to support alternative modes of authentication that will work from remote applications. Some example plugins are [OAuth 1.0a Server](https://wordpress.org/plugins/rest-api-oauth1/), [Application Passwords](https://wordpress.org/plugins/application-passwords/), and [JSON Web Tokens](https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/).
+Plugins may be added to support alternative modes of authentication that will work from remote applications. Some example plugins are [OAuth 1.0a Server](https://wordpress.org/plugins/rest-api-oauth1/) and [JSON Web Tokens](https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/).
 
 [info]
 
 There's also a [Basic Authentication](https://github.com/WP-API/Basic-Auth) plugin.
 
-Note that this plugin requires sending your username and password with every request, and should only be used for development and testing i.e. not in a production environment.
+Note that this plugin requires sending your username and password with every request, and should only be used for development and testing i.e. not in a production environment. Using Application Passwords (see above) is preferred.
 
 [/info]
diff --git a/using-the-rest-api/backbone-javascript-client.md b/using-the-rest-api/backbone-javascript-client.md
index b7a8c1f..41a0283 100644
--- a/using-the-rest-api/backbone-javascript-client.md
+++ b/using-the-rest-api/backbone-javascript-client.md
@@ -2,7 +2,7 @@
 
 The REST API includes a JavaScript/Backbone client library.
 
-The library provides an interface for the WP REST API by providing Backbone Models and Collections for all endpoints exposed the API Schema.
+The library provides an interface for the WP REST API by providing Backbone Models and Collections for all endpoints exposed through the API Schema.
 
 
 ## Using
@@ -69,7 +69,7 @@ Each model and collection includes a reference to its default values, for exampl
 * date: null
 * date_gmt: null
 * excerpt: null
-* featured_image: null
+* featured_media: null
 * format: null
 * modified: null
 * modified_gmt: null
@@ -241,7 +241,7 @@ post.getRevisions().done( function( revisions ){
 });
 ```
 
-If you add custom endpoints to the API they will also become available as models/collections. For example, you will get new models and collections when you [add REST API support to your custom post type](https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-rest-api-support-for-custom-content-types/). Note: Because the schema is stored in the user's session cache to avoid re-fetching, you may need to open a new tab to get a new read of the Schema.
+If you add custom endpoints to the API they will also become available as models/collections. For example, you will get new models and collections when you [add REST API support to your custom post type](https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-rest-api-support-for-custom-content-types/). To access custom endpoints created, use the item's JSON endpoint name as CamelCase; for example if the item is found at the JSON path of /wp-json/wp/v2/my-custom-post, it can be accessed via the api at wp.api.collections.MyCustomPost.  Note: Because the schema is stored in the user's session cache to avoid re-fetching, you may need to open a new tab to get a new read of the Schema.
 
 ```js
 // Extend wp.api.models.Post and wp.api.collections.Posts to load a custom post type
diff --git a/using-the-rest-api/client-libraries.md b/using-the-rest-api/client-libraries.md
index 2e875c3..51b38e0 100644
--- a/using-the-rest-api/client-libraries.md
+++ b/using-the-rest-api/client-libraries.md
@@ -6,6 +6,13 @@ The API can be used from any application by sending basic HTTP requests; however
 
 [info]To perform authenticated requests from outside of the WordPress admin, themes, or plugins, a separate <a href="https://developer.wordpress.org/rest-api/authentication/#authentication-plugins">authentication plugin</a> is required.[/info]
 
+## PHP
+
+[Requests](https://github.com/WordPress/Requests) for PHP is a general purpose HTTP request library. While not specifically designed for the WordPress REST API, it is a great tool for interacting with any HTTP API.
+
+[WordPress-PHP-SDK](https://github.com/madeITBelgium/WordPress-PHP-SDK) is a PHP SDK for the WordPress REST API, which can be installed using [composer](https://getcomposer.org/).
+
+[WordPress-SDK](https://github.com/storipress/wordpress-sdk) is a Laravel package for the WordPress REST API, which can be installed using [composer](https://getcomposer.org).
 
 ## JavaScript
 
@@ -22,3 +29,6 @@ The [Backbone.js client](https://developer.wordpress.org/rest-api/backbone-javas
 
 ## C# / .NET
 [WordPressPCL](https://github.com/wp-net/WordPressPCL): a full REST API client written in C#.
+
+## Dart / Flutter
+[wordpress_client](https://pub.dev/packages/wordpress_client): A library exposing a fluent api to interact with the WordPress REST API.
diff --git a/using-the-rest-api/discovery.md b/using-the-rest-api/discovery.md
index 5ba1dae..7fa3908 100644
--- a/using-the-rest-api/discovery.md
+++ b/using-the-rest-api/discovery.md
@@ -46,8 +46,7 @@ var link = Array.prototype.filter.call( links, function ( item ) {
 var api_root = link[0].href;
 ```
 
-For in-browser clients, or clients without access to HTTP headers, this may be a more usable way of discovering the API. This is similar to Atom/RSS feed discovery, so existing code for that purpose may also be automatically
-adapted instead.
+For in-browser clients, or clients without access to HTTP headers, this may be a more usable way of discovering the API. This is similar to Atom/RSS feed discovery, so existing code for that purpose may also be automatically adapted instead.
 
 
 ### RSD (Really Simple Discovery)
@@ -153,3 +152,14 @@ This would add the `testplugin/v1` namespace to the index:
 }
 ```
 
+## Resource Discovery
+
+As of [WordPress 5.5](https://core.trac.wordpress.org/changeset/48273) the REST API also provides a discovery mechanism for identifying the REST API route equivalent of the current document. A link is added with a `rel` of `alternate` and a `type` of `application/json` that points to a REST API url. The link is added both as a [`Link` header](#link-header) and a [`<link>` element](#element).
+
+For instance, in the `<head>` section of this page, the following `<link>` appears.
+
+```html
+<link rel="alternate" type="application/json" href="https://developer.wordpress.org/wp-json/wp/v2/rest-api-handbook/23085">
+```
+
+Links are added for post, pages, and other custom post types, as well as terms and author pages. Links are not currently output for post archives or search results.
diff --git a/using-the-rest-api/global-parameters.md b/using-the-rest-api/global-parameters.md
index f5bc938..59391b2 100644
--- a/using-the-rest-api/global-parameters.md
+++ b/using-the-rest-api/global-parameters.md
@@ -43,10 +43,12 @@ Most resources include links to related resources. For example, a post can link
 
 Embed mode is enabled if the `_embed` parameter is passed in the query string (GET parameter). This parameter does not require a value (i.e. `?_embed` is valid), however can be passed "1" as a value if required by a client library.
 
-[info]For future compatibility, other values should not be passed.[/info]
+As of WordPress 5.4, the resources to embed can be limited by passing a list of link relation names to the `_embed` parameter. For example, `/wp/v2/posts?_embed=author,wp:term` will only embed the post's author and the lists of terms associated with the post.
 
 Resources in embed mode will contain an additional `_embedded` key next to the `_links` key containing the linked resources. Only links with the `embeddable` parameter set to `true` will be embedded.
 
+In order to use `_embed` together with `_fields`, add `_embedded` as well as `_links` to the fields, for instance, `/wp-json/wp/v2/posts/_embed=author,wp:term&_fields=title,author,_links,_embedded`.
+
 For more about linking and embedding, see the [Linking and Embedding](https://developer.wordpress.org/rest-api/linking-and-embedding/) page.
 
 ## `_method` (or `X-HTTP-Method-Override` header)
diff --git a/using-the-rest-api/linking-and-embedding.md b/using-the-rest-api/linking-and-embedding.md
index fad7c7c..f6f6ae9 100644
--- a/using-the-rest-api/linking-and-embedding.md
+++ b/using-the-rest-api/linking-and-embedding.md
@@ -1,11 +1,22 @@
 # Linking and Embedding
 
-The WP REST API incorporates hyperlinking throughout the API to allow discoverability and browsability, as well as embedding related resources together in one response. While the REST API does not completely conform to the entire [HAL standard](http://stateless.co/hal_specification.html), it implements the `._links` and `._embedded` properties from that standard as described below.
+The WP REST API incorporates hyperlinking throughout the API to allow discoverability and browsability, as well as embedding related resources together in one response. While the REST API does not completely conform to the entire [HAL standard](https://en.wikipedia.org/wiki/Hypertext_Application_Language), it implements the `._links` and `._embedded` properties from that standard as described below.
 
 
 ## Links
 
-The `_links` property of the response object contains a map of links to other API resources, grouped by "relation." The relation specifies how the linked resource relates to the primary resource. (Examples include "author," describing a relationship between a resource and its author, or "wp:term," describing the relationship between a post and its tags or categories.) The relation is either a [standardised relation](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1), a URI relation (like `https://api.w.org/term`) or a Compact URI relation (like `wp:term`). (Compact URI relations can be normalised to full URI relations to ensure full compatibility if required.) This is similar to HTML `<link>` tags, or `<a rel="">` links.
+The `_links` property of the response object contains a map of links to other API resources, grouped by "relation." The relation specifies how the linked resource relates to the primary resource. 
+
+Examples include: 
+- `author` - describing a relationship between a resource and its author
+- `wp:term` - describing the relationship between a post and its tags or categories 
+
+The relation is either a 
+- [standardized relation](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1)
+- a `URI relation` - like <code>https://api.w.org/term</code>
+- or a `Compact URI relation` - like `wp:term`
+
+ Compact URI relations can be normalized to full URI relations to ensure full compatibility if required. This is similar to HTML `<link>` tags, or `<a rel="">` links.
 
 The links are an object containing a `href` property with an absolute URL to the resource, as well as other optional properties. These include content types, disambiguation information, and data on actions that can be taken with the link.
 
@@ -44,11 +55,11 @@ A typical single post request (`/wp/v2/posts/42`):
 
 Optionally, some linked resources may be included in the response to reduce the number of HTTP requests required. These resources are "embedded" into the main response.
 
-Embedding is triggered by setting the [`_embed` query parameter](https://developer.wordpress.org/rest-api/global-parameters/#embed) on the request. This will then include embedded resources under the `_embedded` key adjacent to the `_links` key. The layout of this object mirrors the `_links` object, but includes the embedded resource in place of the link properties.
+Embedding is triggered by setting the [`_embed` query parameter](https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/#_embed) on the request. This will then include embedded resources under the `_embedded` key adjacent to the `_links` key. The layout of this object mirrors the `_links` object, but includes the embedded resource in place of the link properties.
 
-Only links with the `embedded` flag set to `true` can be embedded, and `_embed` will cause all embeddable links to be embedded. Only relations containing embedded responses are included in `_embedded`, however relations with mixed embeddable and unembeddable links will contain dummy responses for the unembeddable links to ensure numeric indexes match those in `_links`.
+Only links with the `embeddable` flag set to `true` can be embedded, and `_embed` will cause all embeddable links to be embedded. Only relations containing embedded responses are included in `_embedded`, however relations with mixed embeddable and unembeddable links will contain dummy responses for the unembeddable links to ensure numeric indexes match those in `_links`.
 
-When embedding a collection response, for instance `/wp/v2/posts?author=1`, the embeded collection will have the default pagination limits applied.
+When embedding a collection response, for instance `/wp/v2/posts?author=1`, the embedded collection will have the default pagination limits applied.
 
 ### Example Response
 
@@ -76,4 +87,4 @@ When embedding a collection response, for instance `/wp/v2/posts?author=1`, the
     }
   }
 }
-```
+```
\ No newline at end of file
