Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.1.0
info:
title: Impulse Dynamics wp/v2 API
version: 1.0.0
summary: 'WordPress core content API (posts, pages, media, taxonomies, users, settings, plus this site''s custom
post types: careers, technical documents, clinic locator, in-the-media and news).'
description: 'Derived verbatim from the route-discovery document the Impulse Dynamics web server publishes at
https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, 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 therapeutic, clinical or device API.
Impulse Dynamics is a medical-device company (Cardiac Contractility Modulation therapy, delivered by the Optimizer
Smart implantable pulse generator) and publishes no developer product API, no developer portal and no API reference.
The surface is catalogued because it is a real, live, self-describing HTTP contract on the provider''s own host,
and because the same WordPress install exposes two Model Context Protocol servers under the `mcp` namespace
(see mcp/impulse-dynamics-mcp.yml).
Only the WordPress core namespaces are represented (`root`, `wp/v2`, `wp-abilities/v1`, `mcp`, `oembed/1.0`).
The 25 third-party plugin namespaces advertised by the same discovery document (ai1wm/v1, akismet/v1, cky/v1,
cleantalk-antispam/v1, code-snippets/v1, cptui/v1, divi/v1, docs/v1, elicus/v1, flywheel/v1, gf/v2, gravity-pdf/v1,
gravityview/v1, gwiz/v1, redirection/v1, sps/v1, tec/v1, tec/v2/onboarding, tribe/event-aggregator/v1, tribe/events/v1,
tribe/views/v2, wp-block-editor/v1, wp-rocket/v1, wp-site-health/v1, yoast/v1) are intentionally excluded as
vendor plugin internals.'
x-derived-from: https://impulse-dynamics.com/wp-json/
x-derived-on: '2026-08-23'
x-apievangelist-method: derived
servers:
- url: https://impulse-dynamics.com
description: Production
tags:
- name: wp/v2
description: 'WordPress core content API (posts, pages, media, taxonomies, users, settings, plus this site''s
custom post types: careers, technical documents, clinic locator, in-the-media and news).'
components:
securitySchemes:
wpApplicationPassword:
type: http
scheme: basic
description: 'WordPress Application Passwords. The live discovery document advertises this as the site''s
only machine authentication method: authentication.application-passwords.endpoints.authorization = https://impulse-dynamics.com/wp-admin/authorize-application.php
(fetched 2026-08-23).'
wpNonce:
type: apiKey
in: header
name: X-WP-Nonce
description: WordPress cookie-authentication nonce, used by same-origin browser clients.
mcpAuth:
type: http
scheme: bearer
description: Bearer authentication guarding the `mcp` namespace. Anonymous POST of a JSON-RPC tools/list to
https://impulse-dynamics.com/wp-json/mcp/mcp-oauth-server returned HTTP 401 `mcp_unauthorized` and to https://impulse-dynamics.com/wp-json/mcp/mcp-adapter-default-server
returned HTTP 401 `rest_forbidden` on 2026-08-23. This host publishes NO RFC 8414 authorization-server metadata
and NO RFC 9728 protected-resource metadata (/.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource
both 404 on 2026-08-23), so the token issuer and scopes are undiscoverable anonymously.
schemas:
WPError:
type: object
description: The WordPress REST API error envelope, observed verbatim on live 401 responses from this host.
Not RFC 9457 problem+json.
properties:
code:
type: string
examples:
- rest_forbidden
- mcp_unauthorized
message:
type: string
examples:
- Sorry, you are not allowed to do that.
- MCP authentication required.
data:
type: object
properties:
status:
type: integer
examples:
- 401
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://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200).
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'
parameters:
- name: namespace
in: query
schema:
default: wp/v2
- name: context
in: query
schema:
default: view
/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://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP
200).
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'
parameters:
- name: context
in: query
schema:
type: string
default: view
enum:
- view
description: Scope under which the request is made; determines fields present in response.
- name: page
in: query
schema:
type: integer
default: 1
minimum: 1
description: Current page of the collection.
- name: per_page
in: query
schema:
type: integer
default: 10
minimum: 1
maximum: 100
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.
/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://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP
200).
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://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP
200).
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
get:
operationId: getWpV2BlockRendererName
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://impulse-dynamics.com/wp-json/ (fetched
2026-08-23, HTTP 200).
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'
parameters:
- name: context
in: query
schema:
type: string
default: view
enum: &id001
- edit
description: Scope under which the request is made; determines fields present in response.
- name: attributes
in: query
schema:
type: object
default: &id002 []
description: Attributes for the block.
- name: post_id
in: query
schema:
type: integer
description: ID of the post context.
post:
operationId: postWpV2BlockRendererName
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://impulse-dynamics.com/wp-json/ (fetched
2026-08-23, HTTP 200).
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'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
context:
type: string
default: view
enum: *id001
description: Scope under which the request is made; determines fields present in response.
attributes:
type: object
default: *id002
description: Attributes for the block.
post_id:
type: integer
description: ID of the post context.
/wp-json/wp/v2/block-types:
get:
operationId: getWpV2BlockTypes
summary: GET /wp/v2/block-types
description: WordPress REST API route `/wp/v2/block-types` in namespace `wp/v2`, as advertised by the live
route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200).
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'
parameters:
- name: context
in: query
schema:
type: string
default: view
enum:
- view
- embed
- edit
description: Scope under which the request is made; determines fields present in response.
- name: namespace
in: query
schema:
type: string
description: Block namespace.
/wp-json/wp/v2/block-types/{namespace}:
parameters:
- name: namespace
in: path
required: true
schema:
type: string
get:
operationId: getWpV2BlockTypesNamespace
summary: GET /wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)
description: WordPress REST API route `/wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)` in namespace `wp/v2`,
as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23,
HTTP 200).
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'
parameters:
- name: context
in: query
schema:
type: string
default: view
enum:
- view
- embed
- edit
description: Scope under which the request is made; determines fields present in response.
/wp-json/wp/v2/block-types/{namespace}/{name}:
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: name
in: path
required: true
schema:
type: string
get:
operationId: getWpV2BlockTypesNamespaceName
summary: GET /wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)/(?P<name>[a-zA-Z0-9_-]+)
description: WordPress REST API route `/wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)/(?P<name>[a-zA-Z0-9_-]+)`
in namespace `wp/v2`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/
(fetched 2026-08-23, HTTP 200).
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'
parameters:
- name: context
in: query
schema:
type: string
default: view
enum:
- view
- embed
- edit
description: Scope under which the request is made; determines fields present in response.
/wp-json/wp/v2/blocks:
get:
operationId: getWpV2Blocks
summary: GET /wp/v2/blocks
description: WordPress REST API route `/wp/v2/blocks` in namespace `wp/v2`, as advertised by the live route-discovery
document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200).
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'
parameters:
- name: context
in: query
schema:
type: string
default: view
enum:
- view
- embed
- edit
description: Scope under which the request is made; determines fields present in response.
- name: page
in: query
schema:
type: integer
default: 1
minimum: 1
description: Current page of the collection.
- name: per_page
in: query
schema:
type: integer
default: 10
minimum: 1
maximum: 100
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
format: date-time
description: Limit response to posts published after a given ISO8601 compliant date.
- name: modified_after
in: query
schema:
type: string
format: date-time
description: Limit response to posts modified after a given ISO8601 compliant date.
- name: before
in: query
schema:
type: string
format: date-time
description: Limit response to posts published before a given ISO8601 compliant date.
- name: modified_before
in: query
schema:
type: string
format: date-time
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
default: desc
enum:
- asc
- desc
description: Order sort attribute ascending or descending.
- name: orderby
in: query
schema:
type: string
default: date
enum:
- author
- date
- id
- include
- modified
- parent
- relevance
- slug
- include_slugs
- title
description: Sort collection by post attribute.
- name: search_columns
in: query
schema:
type: array
default: []
items:
type: string
enum:
- post_title
- post_content
- post_excerpt
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
enum:
- publish
- future
- draft
- pending
- private
- trash
- auto-draft
- inherit
- request-pending
- request-confirmed
- request-failed
- request-completed
- acf-disabled
- tribe-ea-success
- tribe-ea-failed
- tribe-ea-schedule
- tribe-ea-pending
- tribe-ea-draft
- tribe-ignored
- any
description: Limit result set to posts assigned one or more statuses.
- name: tax_relation
in: query
schema:
type: string
enum:
- AND
- OR
description: Limit result set based on relationship between multiple taxonomies.
- name: wp_pattern_category
in: query
schema:
type: object
description: Limit result set to items with specific terms assigned in the wp_pattern_category taxonomy.
- name: wp_pattern_category_exclude
in: query
schema:
type: object
description: Limit result set to items except those with specific terms assigned in the wp_pattern_category
taxonomy.
post:
operationId: postWpV2Blocks
summary: POST /wp/v2/blocks
description: WordPress REST API route `/wp/v2/blocks` in namespace `wp/v2`, as advertised by the live route-discovery
document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200).
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'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
date:
type: string
format: date-time
description: The date the post was published, in the site's timezone.
date_gmt:
type: string
format: date-time
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
- tribe-ea-success
- tribe-ea-failed
- tribe-ea-schedule
- tribe-ea-pending
- tribe-ea-draft
- tribe-ignored
description: A named status for the post.
password:
type: string
description: A password to protect access to the content and excerpt.
title:
type: object
description: The title for the post.
content:
type: object
description: The content 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.
wp_pattern_category:
type: array
items:
type: integer
description: The terms assigned to the post in the wp_pattern_category taxonomy.
/wp-json/wp/v2/blocks/{id}:
parameters:
- name: id
in: path
required: true
schema:
type: string
get:
operationId: getWpV2BlocksId
summary: GET /wp/v2/blocks/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)` in namespace `wp/v2`, as advertised by
the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200).
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'
parameters:
- name: context
in: query
schema:
type: string
default: view
enum:
- view
- embed
- edit
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.
post:
operationId: postWpV2BlocksId
summary: POST /wp/v2/blocks/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)` in namespace `wp/v2`, as advertised by
the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200).
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'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
date:
type: string
format: date-time
description: The date the post was published, in the site's timezone.
date_gmt:
type: string
format: date-time
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: &id003
- publish
- future
- draft
- pending
- private
- acf-disabled
- tribe-ea-success
- tribe-ea-failed
- tribe-ea-schedule
- tribe-ea-pending
- tribe-ea-draft
- tribe-ignored
description: A named status for the post.
password:
type: string
description: A password to protect access to the content and excerpt.
title:
type: object
description: The title for the post.
content:
type: object
description: The content 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.
wp_pattern_category:
type: array
items:
type: integer
description: The terms assigned to the post in the wp_pattern_category taxonomy.
put:
operationId: putWpV2BlocksId
summary: PUT /wp/v2/blocks/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)` in namespace `wp/v2`, as advertised by
the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200).
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'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
date:
type: string
format: date-time
description: The date the post was published, in the site's timezone.
date_gmt:
type: string
format: date-time
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: *id003
description: A named status for the post.
password:
type: string
description: A password to protect access to the content and excerpt.
title:
type: object
description: The title for the post.
content:
type: object
description: The content 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.
wp_pattern_category:
type: array
items:
type: integer
description: The terms assigned to the post in the wp_pattern_category taxonomy.
patch:
operationId: patchWpV2BlocksId
summary: PATCH /wp/v2/blocks/(?P<id>[\d]+)
description: WordPress REST API route `/wp/v2/blocks/(?P<id>[\d]+)` in namespace `wp/v2`, as advertised by
the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200).
tags:
- wp/v2
responses:
'200':
description: Success
content:
application/json:
schema: {}
'401':
description: Authentication required or ca
# --- truncated at 32 KB (756 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/impulse-dynamics/refs/heads/main/openapi/impulse-dynamics-wp-v2-api-openapi.yml