openapi: 3.2.0
info:
title: Interpublic Group WordPress REST wp/v2 API
version: wp/v2
summary: The live WordPress REST API served by the Interpublic Group corporate website.
description: 'Derived verbatim from the route-discovery document the Interpublic Group web server publishes
at https://interpublic.com/wp-json/ (fetched 2026-08-12, HTTP 200). Every path, method, parameter
name, type, default and enum in this document was read from that live response; nothing was invented.
This is the content-management API of the corporate marketing site, not a product API. Interpublic
Group is an advertising and marketing-services holding company and publishes no developer product
API at the holding-company level. The surface is included because it is a real, live, self-describing
HTTP contract on the provider''s own host: the apex https://interpublic.com still serves the WordPress
origin (346 posts, X-WP-Total observed) while www.interpublic.com 301-redirects to omc.com following
the Omnicom acquisition.
Only the WordPress core namespaces are represented (`wp/v2`, `wp-abilities/v1`, `oembed/1.0`, root).
Third-party plugin namespaces advertised by the same discovery document (yoast/v1, redirection/v1,
webdev-insight/v1, wordfence/v1, accessibility-suite/v1, aam/v2, wp-offload-media/v1, wpe_sign_on_plugin/v1,
wpe/cache-plugin/v1, wr/v1, fluent-smtp, ada-plugin/v1, wp-site-health/v1, wp-block-editor/v1) are
intentionally excluded as vendor plugin internals.'
x-derived-from: https://interpublic.com/wp-json/
x-derived-on: '2026-08-12'
x-apievangelist-method: derived
servers:
- url: https://interpublic.com
description: Production origin (apex host; www 301s to omc.com)
tags:
- name: wp/v2
description: WordPress core content API (posts, pages, media, taxonomies, users, settings).
paths:
/wp-json/wp/v2:
get:
operationId: getWpV2
summary: GET /wp/v2
description: WordPress REST API route `/wp/v2` in namespace `wp/v2`, as advertised by the live route-discovery
document at https://interpublic.com/wp-json/.
tags:
- wp/v2
parameters:
- name: namespace
in: query
schema:
default: wp/v2
- name: context
in: query
schema:
default: view
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp-json/wp/v2/aam_policy:
get:
operationId: getWpV2AamPolicy
summary: GET /wp/v2/aam_policy
description: WordPress REST API route `/wp/v2/aam_policy` in namespace `wp/v2`, as advertised by
the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
parameters:
- name: context
in: query
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
schema:
type: integer
default: 1
description: Current page of the collection.
- name: per_page
in: query
schema:
type: integer
default: 10
description: Maximum number of items to be returned in result set.
- name: search
in: query
schema:
type: string
description: Limit results to those matching a string.
- name: after
in: query
schema:
type: string
description: Limit response to posts published after a given ISO8601 compliant date.
- name: modified_after
in: query
schema:
type: string
description: Limit response to posts modified after a given ISO8601 compliant date.
- name: before
in: query
schema:
type: string
description: Limit response to posts published before a given ISO8601 compliant date.
- name: modified_before
in: query
schema:
type: string
description: Limit response to posts modified before a given ISO8601 compliant date.
- name: exclude
in: query
schema:
type: array
default: []
items:
type: integer
description: Ensure result set excludes specific IDs.
- name: include
in: query
schema:
type: array
default: []
items:
type: integer
description: Limit result set to specific IDs.
- name: search_semantics
in: query
schema:
type: string
enum:
- exact
description: How to interpret the search input.
- name: offset
in: query
schema:
type: integer
description: Offset the result set by a specific number of items.
- name: order
in: query
schema:
type: string
enum:
- asc
- desc
default: desc
description: Order sort attribute ascending or descending.
- name: orderby
in: query
schema:
type: string
enum:
- author
- date
- id
- include
- modified
- parent
- relevance
- slug
- include_slugs
- title
default: date
description: Sort collection by post attribute.
- name: parent
in: query
schema:
type: array
default: []
items:
type: integer
description: Limit result set to items with particular parent IDs.
- name: parent_exclude
in: query
schema:
type: array
default: []
items:
type: integer
description: Limit result set to all items except those of a particular parent ID.
- name: search_columns
in: query
schema:
type: array
default: []
items:
type: string
description: Array of column names to be searched.
- name: slug
in: query
schema:
type: array
items:
type: string
description: Limit result set to posts with one or more specific slugs.
- name: status
in: query
schema:
type: array
default: publish
items:
type: string
description: Limit result set to posts assigned one or more statuses.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
post:
operationId: createWpV2AamPolicy
summary: POST /wp/v2/aam_policy
description: WordPress REST API route `/wp/v2/aam_policy` in namespace `wp/v2`, as advertised by
the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
date:
type: string
description: The date the post was published, in the site's timezone.
date_gmt:
type: string
description: The date the post was published, as GMT.
slug:
type: string
description: An alphanumeric identifier for the post unique to its type.
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
- acf-disabled
description: A named status for the post.
password:
type: string
description: A password to protect access to the content and excerpt.
parent:
type: integer
description: The ID for the parent of the post.
title:
type: object
description: The title for the post.
excerpt:
type: object
description: The excerpt for the post.
meta:
type: object
description: Meta fields.
template:
type: string
description: The theme file to use to display the post.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp-json/wp/v2/aam_policy/{id}:
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Path segment `id` from the WordPress route pattern `/wp/v2/aam_policy/(?P<id>[\d]+)`.
get:
operationId: getWpV2AamPolicyById
summary: GET /wp/v2/aam_policy/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/aam_policy/(?P<id>[\d]+)` in namespace `wp/v2`, as
advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
parameters:
- name: context
in: query
schema:
type: string
enum:
- view
- embed
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
- name: excerpt_length
in: query
schema:
type: integer
description: Override the default excerpt length.
- name: password
in: query
schema:
type: string
description: The password for the post if it is password protected.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
post:
operationId: createWpV2AamPolicyById
summary: POST /wp/v2/aam_policy/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/aam_policy/(?P<id>[\d]+)` in namespace `wp/v2`, as
advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
date:
type: string
description: The date the post was published, in the site's timezone.
date_gmt:
type: string
description: The date the post was published, as GMT.
slug:
type: string
description: An alphanumeric identifier for the post unique to its type.
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
- acf-disabled
description: A named status for the post.
password:
type: string
description: A password to protect access to the content and excerpt.
parent:
type: integer
description: The ID for the parent of the post.
title:
type: object
description: The title for the post.
excerpt:
type: object
description: The excerpt for the post.
meta:
type: object
description: Meta fields.
template:
type: string
description: The theme file to use to display the post.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
put:
operationId: updateWpV2AamPolicyById
summary: PUT /wp/v2/aam_policy/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/aam_policy/(?P<id>[\d]+)` in namespace `wp/v2`, as
advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
date:
type: string
description: The date the post was published, in the site's timezone.
date_gmt:
type: string
description: The date the post was published, as GMT.
slug:
type: string
description: An alphanumeric identifier for the post unique to its type.
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
- acf-disabled
description: A named status for the post.
password:
type: string
description: A password to protect access to the content and excerpt.
parent:
type: integer
description: The ID for the parent of the post.
title:
type: object
description: The title for the post.
excerpt:
type: object
description: The excerpt for the post.
meta:
type: object
description: Meta fields.
template:
type: string
description: The theme file to use to display the post.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
patch:
operationId: updateWpV2AamPolicyById2
summary: PATCH /wp/v2/aam_policy/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/aam_policy/(?P<id>[\d]+)` in namespace `wp/v2`, as
advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
date:
type: string
description: The date the post was published, in the site's timezone.
date_gmt:
type: string
description: The date the post was published, as GMT.
slug:
type: string
description: An alphanumeric identifier for the post unique to its type.
status:
type: string
enum:
- publish
- future
- draft
- pending
- private
- acf-disabled
description: A named status for the post.
password:
type: string
description: A password to protect access to the content and excerpt.
parent:
type: integer
description: The ID for the parent of the post.
title:
type: object
description: The title for the post.
excerpt:
type: object
description: The excerpt for the post.
meta:
type: object
description: Meta fields.
template:
type: string
description: The theme file to use to display the post.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
delete:
operationId: deleteWpV2AamPolicyById
summary: DELETE /wp/v2/aam_policy/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/aam_policy/(?P<id>[\d]+)` in namespace `wp/v2`, as
advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
parameters:
- name: force
in: query
schema:
type: boolean
default: false
description: Whether to bypass Trash and force deletion.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp-json/wp/v2/aam_policy/{parent}/revisions:
parameters:
- name: parent
in: path
required: true
schema:
type: string
description: Path segment `parent` from the WordPress route pattern `/wp/v2/aam_policy/(?P<parent>[\d]+)/revisions`.
get:
operationId: getWpV2AamPolicyByParentRevisions
summary: GET /wp/v2/aam_policy/(?P<parent>[\d]+)/revisions
description: WordPress REST API route `/wp/v2/aam_policy/(?P<parent>[\d]+)/revisions` in namespace
`wp/v2`, as advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
parameters:
- name: context
in: query
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
schema:
type: integer
default: 1
description: Current page of the collection.
- name: per_page
in: query
schema:
type: integer
description: Maximum number of items to be returned in result set.
- name: search
in: query
schema:
type: string
description: Limit results to those matching a string.
- name: exclude
in: query
schema:
type: array
default: []
items:
type: integer
description: Ensure result set excludes specific IDs.
- name: include
in: query
schema:
type: array
default: []
items:
type: integer
description: Limit result set to specific IDs.
- name: offset
in: query
schema:
type: integer
description: Offset the result set by a specific number of items.
- name: order
in: query
schema:
type: string
enum:
- asc
- desc
default: desc
description: Order sort attribute ascending or descending.
- name: orderby
in: query
schema:
type: string
enum:
- date
- id
- include
- relevance
- slug
- include_slugs
- title
default: date
description: Sort collection by object attribute.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp-json/wp/v2/aam_policy/{parent}/revisions/{id}:
parameters:
- name: parent
in: path
required: true
schema:
type: string
description: Path segment `parent` from the WordPress route pattern `/wp/v2/aam_policy/(?P<parent>[\d]+)/revisions/(?P<id>[\d]+)`.
- name: id
in: path
required: true
schema:
type: string
description: Path segment `id` from the WordPress route pattern `/wp/v2/aam_policy/(?P<parent>[\d]+)/revisions/(?P<id>[\d]+)`.
get:
operationId: getWpV2AamPolicyByParentRevisionsById
summary: GET /wp/v2/aam_policy/(?P<parent>[\d]+)/revisions/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/aam_policy/(?P<parent>[\d]+)/revisions/(?P<id>[\d]+)`
in namespace `wp/v2`, as advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
parameters:
- name: context
in: query
schema:
type: string
enum:
- view
- embed
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
delete:
operationId: deleteWpV2AamPolicyByParentRevisionsById
summary: DELETE /wp/v2/aam_policy/(?P<parent>[\d]+)/revisions/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/aam_policy/(?P<parent>[\d]+)/revisions/(?P<id>[\d]+)`
in namespace `wp/v2`, as advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
parameters:
- name: force
in: query
schema:
type: boolean
default: false
description: Required to be true, as revisions do not support trashing.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp-json/wp/v2/block-directory/search:
get:
operationId: getWpV2BlockDirectorySearch
summary: GET /wp/v2/block-directory/search
description: WordPress REST API route `/wp/v2/block-directory/search` in namespace `wp/v2`, as advertised
by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
parameters:
- name: context
in: query
schema:
type: string
enum:
- view
default: view
description: Scope under which the request is made; determines fields present in response.
- name: page
in: query
schema:
type: integer
default: 1
description: Current page of the collection.
- name: per_page
in: query
schema:
type: integer
default: 10
description: Maximum number of items to be returned in result set.
- name: term
in: query
schema:
type: string
required: true
description: Limit result set to blocks matching the search term.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp-json/wp/v2/block-patterns/categories:
get:
operationId: getWpV2BlockPatternsCategories
summary: GET /wp/v2/block-patterns/categories
description: WordPress REST API route `/wp/v2/block-patterns/categories` in namespace `wp/v2`, as
advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp-json/wp/v2/block-patterns/patterns:
get:
operationId: getWpV2BlockPatternsPatterns
summary: GET /wp/v2/block-patterns/patterns
description: WordPress REST API route `/wp/v2/block-patterns/patterns` in namespace `wp/v2`, as
advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp-json/wp/v2/block-renderer/{name}:
parameters:
- name: name
in: path
required: true
schema:
type: string
description: Path segment `name` from the WordPress route pattern `/wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)`.
get:
operationId: getWpV2BlockRendererByName
summary: GET /wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)
description: WordPress REST API route `/wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)` in
namespace `wp/v2`, as advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
parameters:
- name: context
in: query
schema:
type: string
enum:
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
- name: attributes
in: query
schema:
type: object
default: []
description: Attributes for the block.
- name: post_id
in: query
schema:
type: integer
description: ID of the post context.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
post:
operationId: createWpV2BlockRendererByName
summary: POST /wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)
description: WordPress REST API route `/wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)` in
namespace `wp/v2`, as advertised by the live route-discovery document at https://interpublic.com/wp-json/.
tags:
- wp/v2
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
context:
type: string
enum:
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
attributes:
type: object
default: []
description: Attributes for the block.
post_id:
type: integer
description: ID of the post context.
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or capability missing
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource found
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp-js
# --- truncated at 32 KB (501 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/interpublic/refs/heads/main/openapi/interpublic-wp-v2-api-openapi.yml