Interpublic Group WordPress Wp/v2 API

WordPress core content API for the Interpublic Group corporate site - posts, pages, media, taxonomies, users, settings, blocks and templates. Read collections (posts, pages, media, categories, tags, search, types) answer anonymously with HTTP 200; users and settings answer HTTP 401 with the WordPress error envelope. Derived verbatim from the live route-discovery document at https://interpublic.com/wp-json/.

OpenAPI Specification

interpublic-wp-v2-api-openapi.yml Raw ↑
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