Interpublic Group WordPress REST Index API

The REST API index / namespace-discovery route. GET https://interpublic.com/wp-json/ returns the self-describing document that enumerates all 254 routes across 17 namespaces, along with site identity (name "IPG", url https://www.interpublic.com). This document is the source every other spec in this repository was derived from.

Operations 2

GET /wp-json/ GET / #
POST /wp-json/batch/v1 POST /batch/v1 #

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/root-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

interpublic-root-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Interpublic Group WordPress REST Root API
  version: root
  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: root
  description: REST API index / namespace discovery.
paths:
  /wp-json/:
    get:
      operationId: getWpJsonIndex
      summary: GET /
      description: WordPress REST API route `/` in namespace `root`, as advertised by the live route-discovery document at https://interpublic.com/wp-json/.
      tags:
      - root
      parameters:
      - 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/batch/v1:
    post:
      operationId: createBatchV1
      summary: POST /batch/v1
      description: WordPress REST API route `/batch/v1` in namespace `root`, as advertised by the live route-discovery document at https://interpublic.com/wp-json/.
      tags:
      - root
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - requests
              properties:
                validation:
                  type: string
                  enum:
                  - require-all-validate
                  - normal
                  default: normal
                requests:
                  type: array
                  items:
                    type: object
      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'
components:
  schemas:
    WPError:
      type: object
      description: The WordPress REST API error envelope, observed verbatim on live 401/404 responses from this host. Not RFC 9457 problem+json.
      properties:
        code:
          type: string
          examples:
          - rest_forbidden
          - rest_no_route
          - rest_user_cannot_view
        message:
          type: string
          examples:
          - Sorry, you are not allowed to do that.
        data:
          type: object
          properties:
            status:
              type: integer
              examples:
              - 401