VICE Video WordPress REST API

A second WordPress install answering on video.vice.com with 586 declared routes and the same core content namespaces, advertised the same way in the page head. Its public archive is effectively empty — the posts collection returns X-WP-Total 1 — so the surface is a live contract with almost no content behind it.

Operations 349

Showing the first 250 of 349. The full set is in the contract, and via get_provider_operations.

GET / GET / #
POST /batch/v1 POST /batch/v1 #
GET /oembed/1.0 GET /oembed/1.0 #
GET /oembed/1.0/embed GET /oembed/1.0/embed #
GET /oembed/1.0/proxy GET /oembed/1.0/proxy #
GET /wp-abilities/v1 GET /wp-abilities/v1 #
GET /wp-abilities/v1/abilities GET /wp-abilities/v1/abilities #
GET /wp-abilities/v1/abilities/{name} GET /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+) #
GET /wp-abilities/v1/abilities/{name}/run GET /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run #
POST /wp-abilities/v1/abilities/{name}/run POST /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run #
PUT /wp-abilities/v1/abilities/{name}/run PUT /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run #
PATCH /wp-abilities/v1/abilities/{name}/run PATCH /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run #
DELETE /wp-abilities/v1/abilities/{name}/run DELETE /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run #
GET /wp-abilities/v1/categories GET /wp-abilities/v1/categories #
GET /wp-abilities/v1/categories/{slug} GET /wp-abilities/v1/categories/(?P[a-z0-9]+(?:-[a-z0-9]+)*) #
GET /wp/v2 GET /wp/v2 #
GET /wp/v2/activity-log-events GET /wp/v2/activity-log-events #
POST /wp/v2/activity-log-events POST /wp/v2/activity-log-events #
GET /wp/v2/activity-log-events/{id} GET /wp/v2/activity-log-events/(?P[\d]+) #
POST /wp/v2/activity-log-events/{id} POST /wp/v2/activity-log-events/(?P[\d]+) #
PUT /wp/v2/activity-log-events/{id} PUT /wp/v2/activity-log-events/(?P[\d]+) #
PATCH /wp/v2/activity-log-events/{id} PATCH /wp/v2/activity-log-events/(?P[\d]+) #
DELETE /wp/v2/activity-log-events/{id} DELETE /wp/v2/activity-log-events/(?P[\d]+) #
GET /wp/v2/activity-log-events/{id}/autosaves GET /wp/v2/activity-log-events/(?P[\d]+)/autosaves #
POST /wp/v2/activity-log-events/{id}/autosaves POST /wp/v2/activity-log-events/(?P[\d]+)/autosaves #
GET /wp/v2/activity-log-events/{parent}/autosaves/{id} GET /wp/v2/activity-log-events/(?P[\d]+)/autosaves/(?P[\d]+) #
GET /wp/v2/block-patterns/categories GET /wp/v2/block-patterns/categories #
GET /wp/v2/block-patterns/patterns GET /wp/v2/block-patterns/patterns #
GET /wp/v2/block-renderer/{name} GET /wp/v2/block-renderer/(?P[a-z0-9-]+/[a-z0-9-]+) #
POST /wp/v2/block-renderer/{name} POST /wp/v2/block-renderer/(?P[a-z0-9-]+/[a-z0-9-]+) #
GET /wp/v2/block-types GET /wp/v2/block-types #
GET /wp/v2/block-types/{namespace} GET /wp/v2/block-types/(?P[a-zA-Z0-9_-]+) #
GET /wp/v2/block-types/{namespace}/{name} GET /wp/v2/block-types/(?P[a-zA-Z0-9_-]+)/(?P[a-zA-Z0-9_-]+) #
GET /wp/v2/blocks GET /wp/v2/blocks #
POST /wp/v2/blocks POST /wp/v2/blocks #
GET /wp/v2/blocks/{id} GET /wp/v2/blocks/(?P[\d]+) #
POST /wp/v2/blocks/{id} POST /wp/v2/blocks/(?P[\d]+) #
PUT /wp/v2/blocks/{id} PUT /wp/v2/blocks/(?P[\d]+) #
PATCH /wp/v2/blocks/{id} PATCH /wp/v2/blocks/(?P[\d]+) #
DELETE /wp/v2/blocks/{id} DELETE /wp/v2/blocks/(?P[\d]+) #
GET /wp/v2/blocks/{id}/autosaves GET /wp/v2/blocks/(?P[\d]+)/autosaves #
POST /wp/v2/blocks/{id}/autosaves POST /wp/v2/blocks/(?P[\d]+)/autosaves #
GET /wp/v2/blocks/{parent}/autosaves/{id} GET /wp/v2/blocks/(?P[\d]+)/autosaves/(?P[\d]+) #
GET /wp/v2/blocks/{parent}/revisions GET /wp/v2/blocks/(?P[\d]+)/revisions #
GET /wp/v2/blocks/{parent}/revisions/{id} GET /wp/v2/blocks/(?P[\d]+)/revisions/(?P[\d]+) #
DELETE /wp/v2/blocks/{parent}/revisions/{id} DELETE /wp/v2/blocks/(?P[\d]+)/revisions/(?P[\d]+) #
GET /wp/v2/byline GET /wp/v2/byline #
POST /wp/v2/byline POST /wp/v2/byline #
GET /wp/v2/byline/{id} GET /wp/v2/byline/(?P[\d]+) #
POST /wp/v2/byline/{id} POST /wp/v2/byline/(?P[\d]+) #
PUT /wp/v2/byline/{id} PUT /wp/v2/byline/(?P[\d]+) #
PATCH /wp/v2/byline/{id} PATCH /wp/v2/byline/(?P[\d]+) #
DELETE /wp/v2/byline/{id} DELETE /wp/v2/byline/(?P[\d]+) #
GET /wp/v2/categories GET /wp/v2/categories #
POST /wp/v2/categories POST /wp/v2/categories #
GET /wp/v2/categories/{id} GET /wp/v2/categories/(?P[\d]+) #
POST /wp/v2/categories/{id} POST /wp/v2/categories/(?P[\d]+) #
PUT /wp/v2/categories/{id} PUT /wp/v2/categories/(?P[\d]+) #
PATCH /wp/v2/categories/{id} PATCH /wp/v2/categories/(?P[\d]+) #
DELETE /wp/v2/categories/{id} DELETE /wp/v2/categories/(?P[\d]+) #
GET /wp/v2/comments GET /wp/v2/comments #
POST /wp/v2/comments POST /wp/v2/comments #
GET /wp/v2/comments/{id} GET /wp/v2/comments/(?P[\d]+) #
POST /wp/v2/comments/{id} POST /wp/v2/comments/(?P[\d]+) #
PUT /wp/v2/comments/{id} PUT /wp/v2/comments/(?P[\d]+) #
PATCH /wp/v2/comments/{id} PATCH /wp/v2/comments/(?P[\d]+) #
DELETE /wp/v2/comments/{id} DELETE /wp/v2/comments/(?P[\d]+) #
GET /wp/v2/font-collections GET /wp/v2/font-collections #
GET /wp/v2/font-collections/{slug} GET /wp/v2/font-collections/(?P[\/\w-]+) #
GET /wp/v2/font-families GET /wp/v2/font-families #
POST /wp/v2/font-families POST /wp/v2/font-families #
GET /wp/v2/font-families/{font_family_id}/font-faces GET /wp/v2/font-families/(?P[\d]+)/font-faces #
POST /wp/v2/font-families/{font_family_id}/font-faces POST /wp/v2/font-families/(?P[\d]+)/font-faces #
GET /wp/v2/font-families/{font_family_id}/font-faces/{id} GET /wp/v2/font-families/(?P[\d]+)/font-faces/(?P[\d]+) #
DELETE /wp/v2/font-families/{font_family_id}/font-faces/{id} DELETE /wp/v2/font-families/(?P[\d]+)/font-faces/(?P[\d]+) #
GET /wp/v2/font-families/{id} GET /wp/v2/font-families/(?P[\d]+) #
POST /wp/v2/font-families/{id} POST /wp/v2/font-families/(?P[\d]+) #
PUT /wp/v2/font-families/{id} PUT /wp/v2/font-families/(?P[\d]+) #
PATCH /wp/v2/font-families/{id} PATCH /wp/v2/font-families/(?P[\d]+) #
DELETE /wp/v2/font-families/{id} DELETE /wp/v2/font-families/(?P[\d]+) #
GET /wp/v2/global-styles/{id} GET /wp/v2/global-styles/(?P[\/\d+]+) #
POST /wp/v2/global-styles/{id} POST /wp/v2/global-styles/(?P[\/\d+]+) #
PUT /wp/v2/global-styles/{id} PUT /wp/v2/global-styles/(?P[\/\d+]+) #
PATCH /wp/v2/global-styles/{id} PATCH /wp/v2/global-styles/(?P[\/\d+]+) #
GET /wp/v2/global-styles/{parent}/revisions GET /wp/v2/global-styles/(?P[\d]+)/revisions #
GET /wp/v2/global-styles/{parent}/revisions/{id} GET /wp/v2/global-styles/(?P[\d]+)/revisions/(?P[\d]+) #
GET /wp/v2/global-styles/themes/{stylesheet}/variations GET /wp/v2/global-styles/themes/(?P[\/\s%\w\.\(\)\[\]\@_\-]+)/variations #
GET /wp/v2/global-styles/themes/{stylesheet} GET /wp/v2/global-styles/themes/(?P[^\/:<>\*\?"\|]+(?:\/[^\/:<>\*\?"\|]+)?) #
GET /wp/v2/icons GET /wp/v2/icons #
GET /wp/v2/icons/{name} GET /wp/v2/icons/(?P[a-z][a-z0-9-]*/[a-z][a-z0-9-]*) #
GET /wp/v2/jetpack-search-overlay GET /wp/v2/jetpack-search-overlay #
POST /wp/v2/jetpack-search-overlay POST /wp/v2/jetpack-search-overlay #
GET /wp/v2/jetpack-search-overlay/{id} GET /wp/v2/jetpack-search-overlay/(?P[\d]+) #
POST /wp/v2/jetpack-search-overlay/{id} POST /wp/v2/jetpack-search-overlay/(?P[\d]+) #
PUT /wp/v2/jetpack-search-overlay/{id} PUT /wp/v2/jetpack-search-overlay/(?P[\d]+) #
PATCH /wp/v2/jetpack-search-overlay/{id} PATCH /wp/v2/jetpack-search-overlay/(?P[\d]+) #
DELETE /wp/v2/jetpack-search-overlay/{id} DELETE /wp/v2/jetpack-search-overlay/(?P[\d]+) #
GET /wp/v2/jetpack-search-overlay/{id}/autosaves GET /wp/v2/jetpack-search-overlay/(?P[\d]+)/autosaves #
POST /wp/v2/jetpack-search-overlay/{id}/autosaves POST /wp/v2/jetpack-search-overlay/(?P[\d]+)/autosaves #
GET /wp/v2/jetpack-search-overlay/{parent}/autosaves/{id} GET /wp/v2/jetpack-search-overlay/(?P[\d]+)/autosaves/(?P[\d]+) #
GET /wp/v2/jetpack-search-overlay/{parent}/revisions GET /wp/v2/jetpack-search-overlay/(?P[\d]+)/revisions #
GET /wp/v2/jetpack-search-overlay/{parent}/revisions/{id} GET /wp/v2/jetpack-search-overlay/(?P[\d]+)/revisions/(?P[\d]+) #
DELETE /wp/v2/jetpack-search-overlay/{parent}/revisions/{id} DELETE /wp/v2/jetpack-search-overlay/(?P[\d]+)/revisions/(?P[\d]+) #
GET /wp/v2/jp_pay_order GET /wp/v2/jp_pay_order #
POST /wp/v2/jp_pay_order POST /wp/v2/jp_pay_order #
GET /wp/v2/jp_pay_order/{id} GET /wp/v2/jp_pay_order/(?P[\d]+) #
POST /wp/v2/jp_pay_order/{id} POST /wp/v2/jp_pay_order/(?P[\d]+) #
PUT /wp/v2/jp_pay_order/{id} PUT /wp/v2/jp_pay_order/(?P[\d]+) #
PATCH /wp/v2/jp_pay_order/{id} PATCH /wp/v2/jp_pay_order/(?P[\d]+) #
DELETE /wp/v2/jp_pay_order/{id} DELETE /wp/v2/jp_pay_order/(?P[\d]+) #
GET /wp/v2/jp_pay_product GET /wp/v2/jp_pay_product #
POST /wp/v2/jp_pay_product POST /wp/v2/jp_pay_product #
GET /wp/v2/jp_pay_product/{id} GET /wp/v2/jp_pay_product/(?P[\d]+) #
POST /wp/v2/jp_pay_product/{id} POST /wp/v2/jp_pay_product/(?P[\d]+) #
PUT /wp/v2/jp_pay_product/{id} PUT /wp/v2/jp_pay_product/(?P[\d]+) #
PATCH /wp/v2/jp_pay_product/{id} PATCH /wp/v2/jp_pay_product/(?P[\d]+) #
DELETE /wp/v2/jp_pay_product/{id} DELETE /wp/v2/jp_pay_product/(?P[\d]+) #
GET /wp/v2/jp_pay_product/{id}/autosaves GET /wp/v2/jp_pay_product/(?P[\d]+)/autosaves #
POST /wp/v2/jp_pay_product/{id}/autosaves POST /wp/v2/jp_pay_product/(?P[\d]+)/autosaves #
GET /wp/v2/jp_pay_product/{parent}/autosaves/{id} GET /wp/v2/jp_pay_product/(?P[\d]+)/autosaves/(?P[\d]+) #
GET /wp/v2/media GET /wp/v2/media #
POST /wp/v2/media POST /wp/v2/media #
GET /wp/v2/media/{id} GET /wp/v2/media/(?P[\d]+) #
POST /wp/v2/media/{id} POST /wp/v2/media/(?P[\d]+) #
PUT /wp/v2/media/{id} PUT /wp/v2/media/(?P[\d]+) #
PATCH /wp/v2/media/{id} PATCH /wp/v2/media/(?P[\d]+) #
DELETE /wp/v2/media/{id} DELETE /wp/v2/media/(?P[\d]+) #
POST /wp/v2/media/{id}/edit POST /wp/v2/media/(?P[\d]+)/edit #
POST /wp/v2/media/{id}/post-process POST /wp/v2/media/(?P[\d]+)/post-process #
GET /wp/v2/menu-items GET /wp/v2/menu-items #
POST /wp/v2/menu-items POST /wp/v2/menu-items #
GET /wp/v2/menu-items/{id} GET /wp/v2/menu-items/(?P[\d]+) #
POST /wp/v2/menu-items/{id} POST /wp/v2/menu-items/(?P[\d]+) #
PUT /wp/v2/menu-items/{id} PUT /wp/v2/menu-items/(?P[\d]+) #
PATCH /wp/v2/menu-items/{id} PATCH /wp/v2/menu-items/(?P[\d]+) #
DELETE /wp/v2/menu-items/{id} DELETE /wp/v2/menu-items/(?P[\d]+) #
GET /wp/v2/menu-items/{id}/autosaves GET /wp/v2/menu-items/(?P[\d]+)/autosaves #
POST /wp/v2/menu-items/{id}/autosaves POST /wp/v2/menu-items/(?P[\d]+)/autosaves #
GET /wp/v2/menu-items/{parent}/autosaves/{id} GET /wp/v2/menu-items/(?P[\d]+)/autosaves/(?P[\d]+) #
GET /wp/v2/menu-locations GET /wp/v2/menu-locations #
GET /wp/v2/menu-locations/{location} GET /wp/v2/menu-locations/(?P[\w-]+) #
GET /wp/v2/menus GET /wp/v2/menus #
POST /wp/v2/menus POST /wp/v2/menus #
GET /wp/v2/menus/{id} GET /wp/v2/menus/(?P[\d]+) #
POST /wp/v2/menus/{id} POST /wp/v2/menus/(?P[\d]+) #
PUT /wp/v2/menus/{id} PUT /wp/v2/menus/(?P[\d]+) #
PATCH /wp/v2/menus/{id} PATCH /wp/v2/menus/(?P[\d]+) #
DELETE /wp/v2/menus/{id} DELETE /wp/v2/menus/(?P[\d]+) #
GET /wp/v2/navigation GET /wp/v2/navigation #
POST /wp/v2/navigation POST /wp/v2/navigation #
GET /wp/v2/navigation/{id} GET /wp/v2/navigation/(?P[\d]+) #
POST /wp/v2/navigation/{id} POST /wp/v2/navigation/(?P[\d]+) #
PUT /wp/v2/navigation/{id} PUT /wp/v2/navigation/(?P[\d]+) #
PATCH /wp/v2/navigation/{id} PATCH /wp/v2/navigation/(?P[\d]+) #
DELETE /wp/v2/navigation/{id} DELETE /wp/v2/navigation/(?P[\d]+) #
GET /wp/v2/navigation/{id}/autosaves GET /wp/v2/navigation/(?P[\d]+)/autosaves #
POST /wp/v2/navigation/{id}/autosaves POST /wp/v2/navigation/(?P[\d]+)/autosaves #
GET /wp/v2/navigation/{parent}/autosaves/{id} GET /wp/v2/navigation/(?P[\d]+)/autosaves/(?P[\d]+) #
GET /wp/v2/navigation/{parent}/revisions GET /wp/v2/navigation/(?P[\d]+)/revisions #
GET /wp/v2/navigation/{parent}/revisions/{id} GET /wp/v2/navigation/(?P[\d]+)/revisions/(?P[\d]+) #
DELETE /wp/v2/navigation/{parent}/revisions/{id} DELETE /wp/v2/navigation/(?P[\d]+)/revisions/(?P[\d]+) #
GET /wp/v2/pages GET /wp/v2/pages #
POST /wp/v2/pages POST /wp/v2/pages #
GET /wp/v2/pages/{id} GET /wp/v2/pages/(?P[\d]+) #
POST /wp/v2/pages/{id} POST /wp/v2/pages/(?P[\d]+) #
PUT /wp/v2/pages/{id} PUT /wp/v2/pages/(?P[\d]+) #
PATCH /wp/v2/pages/{id} PATCH /wp/v2/pages/(?P[\d]+) #
DELETE /wp/v2/pages/{id} DELETE /wp/v2/pages/(?P[\d]+) #
GET /wp/v2/pages/{id}/autosaves GET /wp/v2/pages/(?P[\d]+)/autosaves #
POST /wp/v2/pages/{id}/autosaves POST /wp/v2/pages/(?P[\d]+)/autosaves #
GET /wp/v2/pages/{parent}/autosaves/{id} GET /wp/v2/pages/(?P[\d]+)/autosaves/(?P[\d]+) #
GET /wp/v2/pages/{parent}/revisions GET /wp/v2/pages/(?P[\d]+)/revisions #
GET /wp/v2/pages/{parent}/revisions/{id} GET /wp/v2/pages/(?P[\d]+)/revisions/(?P[\d]+) #
DELETE /wp/v2/pages/{parent}/revisions/{id} DELETE /wp/v2/pages/(?P[\d]+)/revisions/(?P[\d]+) #
GET /wp/v2/pattern-directory/patterns GET /wp/v2/pattern-directory/patterns #
GET /wp/v2/platform-languages GET /wp/v2/platform-languages #
POST /wp/v2/platform-languages POST /wp/v2/platform-languages #
GET /wp/v2/platform-languages/{id} GET /wp/v2/platform-languages/(?P[\d]+) #
POST /wp/v2/platform-languages/{id} POST /wp/v2/platform-languages/(?P[\d]+) #
PUT /wp/v2/platform-languages/{id} PUT /wp/v2/platform-languages/(?P[\d]+) #
PATCH /wp/v2/platform-languages/{id} PATCH /wp/v2/platform-languages/(?P[\d]+) #
DELETE /wp/v2/platform-languages/{id} DELETE /wp/v2/platform-languages/(?P[\d]+) #
GET /wp/v2/plugins GET /wp/v2/plugins #
POST /wp/v2/plugins POST /wp/v2/plugins #
GET /wp/v2/plugins/{plugin} GET /wp/v2/plugins/(?P[^.\/]+(?:\/[^.\/]+)?) #
POST /wp/v2/plugins/{plugin} POST /wp/v2/plugins/(?P[^.\/]+(?:\/[^.\/]+)?) #
PUT /wp/v2/plugins/{plugin} PUT /wp/v2/plugins/(?P[^.\/]+(?:\/[^.\/]+)?) #
PATCH /wp/v2/plugins/{plugin} PATCH /wp/v2/plugins/(?P[^.\/]+(?:\/[^.\/]+)?) #
DELETE /wp/v2/plugins/{plugin} DELETE /wp/v2/plugins/(?P[^.\/]+(?:\/[^.\/]+)?) #
GET /wp/v2/posts GET /wp/v2/posts #
POST /wp/v2/posts POST /wp/v2/posts #
GET /wp/v2/posts/{id} GET /wp/v2/posts/(?P[\d]+) #
POST /wp/v2/posts/{id} POST /wp/v2/posts/(?P[\d]+) #
PUT /wp/v2/posts/{id} PUT /wp/v2/posts/(?P[\d]+) #
PATCH /wp/v2/posts/{id} PATCH /wp/v2/posts/(?P[\d]+) #
DELETE /wp/v2/posts/{id} DELETE /wp/v2/posts/(?P[\d]+) #
GET /wp/v2/posts/{id}/autosaves GET /wp/v2/posts/(?P[\d]+)/autosaves #
POST /wp/v2/posts/{id}/autosaves POST /wp/v2/posts/(?P[\d]+)/autosaves #
GET /wp/v2/posts/{parent}/autosaves/{id} GET /wp/v2/posts/(?P[\d]+)/autosaves/(?P[\d]+) #
GET /wp/v2/posts/{parent}/revisions GET /wp/v2/posts/(?P[\d]+)/revisions #
GET /wp/v2/posts/{parent}/revisions/{id} GET /wp/v2/posts/(?P[\d]+)/revisions/(?P[\d]+) #
DELETE /wp/v2/posts/{parent}/revisions/{id} DELETE /wp/v2/posts/(?P[\d]+)/revisions/(?P[\d]+) #
GET /wp/v2/profile GET /wp/v2/profile #
POST /wp/v2/profile POST /wp/v2/profile #
GET /wp/v2/profile/{id} GET /wp/v2/profile/(?P[\d]+) #
POST /wp/v2/profile/{id} POST /wp/v2/profile/(?P[\d]+) #
PUT /wp/v2/profile/{id} PUT /wp/v2/profile/(?P[\d]+) #
PATCH /wp/v2/profile/{id} PATCH /wp/v2/profile/(?P[\d]+) #
DELETE /wp/v2/profile/{id} DELETE /wp/v2/profile/(?P[\d]+) #
GET /wp/v2/profile/{id}/autosaves GET /wp/v2/profile/(?P[\d]+)/autosaves #
POST /wp/v2/profile/{id}/autosaves POST /wp/v2/profile/(?P[\d]+)/autosaves #
GET /wp/v2/profile/{parent}/autosaves/{id} GET /wp/v2/profile/(?P[\d]+)/autosaves/(?P[\d]+) #
GET /wp/v2/profile/{parent}/revisions GET /wp/v2/profile/(?P[\d]+)/revisions #
GET /wp/v2/profile/{parent}/revisions/{id} GET /wp/v2/profile/(?P[\d]+)/revisions/(?P[\d]+) #
DELETE /wp/v2/profile/{parent}/revisions/{id} DELETE /wp/v2/profile/(?P[\d]+)/revisions/(?P[\d]+) #
GET /wp/v2/settings GET /wp/v2/settings #
POST /wp/v2/settings POST /wp/v2/settings #
PUT /wp/v2/settings PUT /wp/v2/settings #
PATCH /wp/v2/settings PATCH /wp/v2/settings #
GET /wp/v2/show-relationships GET /wp/v2/show-relationships #
POST /wp/v2/show-relationships POST /wp/v2/show-relationships #
GET /wp/v2/show-relationships/{id} GET /wp/v2/show-relationships/(?P[\d]+) #
POST /wp/v2/show-relationships/{id} POST /wp/v2/show-relationships/(?P[\d]+) #
PUT /wp/v2/show-relationships/{id} PUT /wp/v2/show-relationships/(?P[\d]+) #
PATCH /wp/v2/show-relationships/{id} PATCH /wp/v2/show-relationships/(?P[\d]+) #
DELETE /wp/v2/show-relationships/{id} DELETE /wp/v2/show-relationships/(?P[\d]+) #
GET /wp/v2/sidebars GET /wp/v2/sidebars #
GET /wp/v2/sidebars/{id} GET /wp/v2/sidebars/(?P[\w-]+) #
POST /wp/v2/sidebars/{id} POST /wp/v2/sidebars/(?P[\w-]+) #
PUT /wp/v2/sidebars/{id} PUT /wp/v2/sidebars/(?P[\w-]+) #
PATCH /wp/v2/sidebars/{id} PATCH /wp/v2/sidebars/(?P[\w-]+) #
GET /wp/v2/statuses GET /wp/v2/statuses #
GET /wp/v2/statuses/{status} GET /wp/v2/statuses/(?P[\w-]+) #
GET /wp/v2/tags GET /wp/v2/tags #
POST /wp/v2/tags POST /wp/v2/tags #
GET /wp/v2/tags/{id} GET /wp/v2/tags/(?P[\d]+) #
POST /wp/v2/tags/{id} POST /wp/v2/tags/(?P[\d]+) #
PUT /wp/v2/tags/{id} PUT /wp/v2/tags/(?P[\d]+) #
PATCH /wp/v2/tags/{id} PATCH /wp/v2/tags/(?P[\d]+) #
DELETE /wp/v2/tags/{id} DELETE /wp/v2/tags/(?P[\d]+) #
GET /wp/v2/taxonomies GET /wp/v2/taxonomies #
GET /wp/v2/taxonomies/{taxonomy} GET /wp/v2/taxonomies/(?P[\w-]+) #
GET /wp/v2/template-parts GET /wp/v2/template-parts #
POST /wp/v2/template-parts POST /wp/v2/template-parts #
GET /wp/v2/template-parts/{id} GET /wp/v2/template-parts/(?P([^\/:<>\*\?"\|]+(?:\/[^\/:<>\*\?"\|]+)?)[\/\w%-]+) #
POST /wp/v2/template-parts/{id} POST /wp/v2/template-parts/(?P([^\/:<>\*\?"\|]+(?:\/[^\/:<>\*\?"\|]+)?)[\/\w%-]+) #
PUT /wp/v2/template-parts/{id} PUT /wp/v2/template-parts/(?P([^\/:<>\*\?"\|]+(?:\/[^\/:<>\*\?"\|]+)?)[\/\w%-]+) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vice-media-video-wordpress-rest-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vice-media-video-wp-rest-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: VICE Video WordPress REST API
  version: wp/v2
  summary: The live WordPress REST API served by VICE Video (video.vice.com) at https://video.vice.com/wp-json/.
  description: |-
    Derived mechanically and verbatim from the route-discovery document the VICE Video (video.vice.com) web server publishes at https://video.vice.com/wp-json/ (fetched 2026-09-04, HTTP 200). Every path, method, parameter name, type, default, enum and required flag in this document was read from that live response; nothing was invented.

    The provider advertises this surface itself: every page on the site carries `<link rel="https://api.w.org/" href="https://video.vice.com/wp-json/" />` in its head, and `https://video.vice.com/robots.txt` disallows nothing.

    This is the content-management and syndication API of a publishing property, not a commercial developer product. It is included because it is a real, live, self-describing HTTP contract on the brand's own host that serves the public editorial archive anonymously.

    Only the WordPress core namespaces are represented (`wp/v2`, `wp-abilities/v1`, `oembed/1.0`, and the root index). Third-party and operator plugin namespaces advertised by the same discovery document — `akismet/v1`, `block-visibility/v1`, `byline-manager/v1`, `cron-control/v1`, `duplicate-post/v1`, `elasticpress/v1`, `jetpack-boost/v1`, `jetpack/v4`, `jetpack/v4/blaze`, `jetpack/v4/blaze-app`, `jetpack/v4/explat`, `jetpack/v4/import`, `jetpack/v4/stats-app`, `my-jetpack/v1`, `post-smtp/v1`, `post-smtp/v2`, `psd/v1`, `savage-platform/v1`, `savage-platform/v1/blocks`, `two-factor/1.0`, `vip/v1`, `wp-block-editor/v1`, `wp-curate/v1`, `wp-parsely/v1`, `wp-site-health/v1`, `wpcom/v2`, `wpcom/v3`, `yoast/v1` — are intentionally excluded as vendor plugin internals; all of them were observed returning HTTP 401 anonymously.
  contact:
    name: VICE Media security / responsible disclosure
    email: infosec@vice.com
    url: https://www.vice.com/en/vice-responsible-disclosure-policy/
  termsOfService: https://www.vice.com/en/terms/
  x-derived-from: https://video.vice.com/wp-json/
  x-derived-on: '2026-09-04'
  x-apievangelist-method: derived
servers:
- url: https://video.vice.com
  description: Production
tags:
- name: oembed/1.0
  description: oEmbed 1.0 provider endpoints — discovery and proxy for embeddable representations of VICE articles
    and videos.
- name: root
  description: REST API index / namespace and route discovery.
- name: wp-abilities/v1
  description: WordPress Abilities API — the registry of named abilities an agent can discover and run. Read and
    run are capability-gated (observed HTTP 401 anonymously).
- name: wp/v2
  description: WordPress core content API — posts, pages, media, custom post types (sections, profiles, products),
    taxonomies (categories, tags, bylines, brands, platform languages), search, types, statuses and settings.
components:
  securitySchemes:
    applicationPassword:
      type: http
      scheme: basic
      description: WordPress Application Passwords (HTTP Basic). The live discovery document declares this as the
        site's authentication method, with the authorization endpoint at https://video.vice.com/wp-admin/authorize-application.php.
    wpNonce:
      type: apiKey
      in: header
      name: X-WP-Nonce
      description: WordPress cookie-authentication nonce. Advertised by the live server in its Access-Control-Allow-Headers
        response header (Authorization, X-WP-Nonce, Content-Disposition, Content-MD5, Content-Type).
  schemas:
    WPError:
      type: object
      description: The WordPress REST error envelope, observed live on this host. It is NOT RFC 9457 application/problem+json.
      properties:
        code:
          type: string
          description: Machine-readable error code, e.g. rest_forbidden.
        message:
          type: string
          description: Human-readable message.
        data:
          type: object
          properties:
            status:
              type: integer
              description: HTTP status repeated in the body.
      required:
      - code
      - message
paths:
  /:
    get:
      operationId: get_root
      summary: GET /
      description: '`GET` on the WordPress REST route `/` in namespace `root`, as declared by the live route-discovery
        document at https://video.vice.com/wp-json/.'
      tags:
      - root
      parameters:
      - name: context
        in: query
        required: false
        schema:
          default: view
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /batch/v1:
    post:
      operationId: post_batch_v1
      summary: POST /batch/v1
      description: '`POST` on the WordPress REST route `/batch/v1` in namespace `root`, as declared by the live
        route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - root
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                validation:
                  type: string
                  enum:
                  - require-all-validate
                  - normal
                  default: normal
                requests:
                  type: array
                  items:
                    type: object
              required:
              - requests
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /oembed/1.0:
    get:
      operationId: get_oembed_1_0
      summary: GET /oembed/1.0
      description: '`GET` on the WordPress REST route `/oembed/1.0` in namespace `oembed/1.0`, as declared by the
        live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - oembed/1.0
      parameters:
      - name: namespace
        in: query
        required: false
        schema:
          default: oembed/1.0
      - name: context
        in: query
        required: false
        schema:
          default: view
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /oembed/1.0/embed:
    get:
      operationId: get_oembed_1_0_embed
      summary: GET /oembed/1.0/embed
      description: '`GET` on the WordPress REST route `/oembed/1.0/embed` in namespace `oembed/1.0`, as declared
        by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - oembed/1.0
      parameters:
      - name: url
        in: query
        required: true
        schema:
          type: string
          format: uri
        description: The URL of the resource for which to fetch oEmbed data.
      - name: format
        in: query
        required: false
        schema:
          default: json
      - name: maxwidth
        in: query
        required: false
        schema:
          default: 600
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /oembed/1.0/proxy:
    get:
      operationId: get_oembed_1_0_proxy
      summary: GET /oembed/1.0/proxy
      description: '`GET` on the WordPress REST route `/oembed/1.0/proxy` in namespace `oembed/1.0`, as declared
        by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - oembed/1.0
      parameters:
      - name: url
        in: query
        required: true
        schema:
          type: string
          format: uri
        description: The URL of the resource for which to fetch oEmbed data.
      - name: format
        in: query
        required: false
        schema:
          type: string
          enum:
          - json
          - xml
          default: json
        description: The oEmbed format to use.
      - name: maxwidth
        in: query
        required: false
        schema:
          type: integer
          default: 600
        description: The maximum width of the embed frame in pixels.
      - name: maxheight
        in: query
        required: false
        schema:
          type: integer
        description: The maximum height of the embed frame in pixels.
      - name: discover
        in: query
        required: false
        schema:
          type: boolean
          default: true
        description: Whether to perform an oEmbed discovery request for unsanctioned providers.
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-abilities/v1:
    get:
      operationId: get_wp_abilities_v1
      summary: GET /wp-abilities/v1
      description: '`GET` on the WordPress REST route `/wp-abilities/v1` in namespace `wp-abilities/v1`, as declared
        by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      parameters:
      - name: namespace
        in: query
        required: false
        schema:
          default: wp-abilities/v1
      - name: context
        in: query
        required: false
        schema:
          default: view
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-abilities/v1/abilities:
    get:
      operationId: get_wp_abilities_v1_abilities
      summary: GET /wp-abilities/v1/abilities
      description: '`GET` on the WordPress REST route `/wp-abilities/v1/abilities` in namespace `wp-abilities/v1`,
        as declared by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          minimum: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          default: 50
          minimum: 1
          maximum: 100
        description: Maximum number of items to be returned in result set.
      - name: category
        in: query
        required: false
        schema:
          type: string
        description: Limit results to abilities in specific ability category.
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-abilities/v1/abilities/{name}:
    parameters:
    - name: name
      in: path
      required: true
      description: Path segment matched by the WordPress route pattern `[a-zA-Z0-9\-\/]+`.
      schema:
        type: string
        pattern: '[a-zA-Z0-9\-\/]+'
    get:
      operationId: get_wp_abilities_v1_abilities_by_name
      summary: GET /wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+)
      description: '`GET` on the WordPress REST route `/wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+)` in
        namespace `wp-abilities/v1`, as declared by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-abilities/v1/abilities/{name}/run:
    parameters:
    - name: name
      in: path
      required: true
      description: Path segment matched by the WordPress route pattern `[a-zA-Z0-9\-\/]+?`.
      schema:
        type: string
        pattern: '[a-zA-Z0-9\-\/]+?'
    get:
      operationId: get_wp_abilities_v1_abilities_by_name_run
      summary: GET /wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run
      description: '`GET` on the WordPress REST route `/wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run`
        in namespace `wp-abilities/v1`, as declared by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      parameters:
      - name: input
        in: query
        required: false
        schema:
          type:
          - integer
          - number
          - boolean
          - string
          - array
          - object
          - 'null'
          default: null
        description: Input parameters for the ability execution.
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: post_wp_abilities_v1_abilities_by_name_run
      summary: POST /wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run
      description: '`POST` on the WordPress REST route `/wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run`
        in namespace `wp-abilities/v1`, as declared by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type:
                  - integer
                  - number
                  - boolean
                  - string
                  - array
                  - object
                  - 'null'
                  default: null
                  description: Input parameters for the ability execution.
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    put:
      operationId: put_wp_abilities_v1_abilities_by_name_run
      summary: PUT /wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run
      description: '`PUT` on the WordPress REST route `/wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run`
        in namespace `wp-abilities/v1`, as declared by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type:
                  - integer
                  - number
                  - boolean
                  - string
                  - array
                  - object
                  - 'null'
                  default: null
                  description: Input parameters for the ability execution.
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    patch:
      operationId: patch_wp_abilities_v1_abilities_by_name_run
      summary: PATCH /wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run
      description: '`PATCH` on the WordPress REST route `/wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run`
        in namespace `wp-abilities/v1`, as declared by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type:
                  - integer
                  - number
                  - boolean
                  - string
                  - array
                  - object
                  - 'null'
                  default: null
                  description: Input parameters for the ability execution.
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    delete:
      operationId: delete_wp_abilities_v1_abilities_by_name_run
      summary: DELETE /wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run
      description: '`DELETE` on the WordPress REST route `/wp-abilities/v1/abilities/(?P<name>[a-zA-Z0-9\-\/]+?)/run`
        in namespace `wp-abilities/v1`, as declared by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      parameters:
      - name: input
        in: query
        required: false
        schema:
          type:
          - integer
          - number
          - boolean
          - string
          - array
          - object
          - 'null'
          default: null
        description: Input parameters for the ability execution.
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-abilities/v1/categories:
    get:
      operationId: get_wp_abilities_v1_categories
      summary: GET /wp-abilities/v1/categories
      description: '`GET` on the WordPress REST route `/wp-abilities/v1/categories` in namespace `wp-abilities/v1`,
        as declared by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          minimum: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          default: 50
          minimum: 1
          maximum: 100
        description: Maximum number of items to be returned in result set.
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp-abilities/v1/categories/{slug}:
    parameters:
    - name: slug
      in: path
      required: true
      description: Path segment matched by the WordPress route pattern `[a-z0-9]+(?:-[a-z0-9]+)*`.
      schema:
        type: string
        pattern: '[a-z0-9]+(?:-[a-z0-9]+)*'
    get:
      operationId: get_wp_abilities_v1_categories_by_slug
      summary: GET /wp-abilities/v1/categories/(?P<slug>[a-z0-9]+(?:-[a-z0-9]+)*)
      description: '`GET` on the WordPress REST route `/wp-abilities/v1/categories/(?P<slug>[a-z0-9]+(?:-[a-z0-9]+)*)`
        in namespace `wp-abilities/v1`, as declared by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp-abilities/v1
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp/v2:
    get:
      operationId: get_wp_v2
      summary: GET /wp/v2
      description: '`GET` on the WordPress REST route `/wp/v2` in namespace `wp/v2`, as declared by the live route-discovery
        document at https://video.vice.com/wp-json/.'
      tags:
      - wp/v2
      parameters:
      - name: namespace
        in: query
        required: false
        schema:
          default: wp/v2
      - name: context
        in: query
        required: false
        schema:
          default: view
      responses:
        '200':
          description: Success. WordPress returns the requested resource or collection as JSON.
          content:
            application/json:
              schema: {}
        '401':
          description: Not authenticated or not permitted. WordPress returns its standard error envelope, e.g. `{"code":"rest_forbidden","message":"Sorry,
            you are not allowed to do that.","data":{"status":401}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp/v2/activity-log-events:
    get:
      operationId: get_wp_v2_activity_log_events
      summary: GET /wp/v2/activity-log-events
      description: '`GET` on the WordPress REST route `/wp/v2/activity-log-events` in namespace `wp/v2`, as declared
        by the live route-discovery document at https://video.vice.com/wp-json/.'
      tags:
      - wp/v2
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          minimum: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 100
        description: Maximum number of items to be returned in result set.
      - name: search
        in: query
        required: false
        schema:
          type: string
        description: Limit results to those matching a string.
      - name: after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published after a given ISO8601 compliant date.
      - name: modified_after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified after a given ISO8601 compliant date.
      - name: before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published before a given ISO8601 compliant date.
      - name: modified_before
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts modified before a given ISO8601 compliant date.
      - name: exclude
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Ensure result set excludes specific IDs.
      - name: include
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limit result set to specific IDs.
      - name: search_semantics
        in: query
        required: false
        schema:
          type: string
          enum:
          - exact
        description: How to interpret the search input.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
        description: Offset the result set by a specific number of items.
      - name: order
        in: query
        r

# --- truncated at 32 KB (942 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vice-media/refs/heads/main/openapi/_ae-authored/vice-media-video-wp-rest-openapi.yml