openapi: 3.1.0 info: title: Impulse Dynamics wp-abilities/v1 API version: 1.0.0 summary: WordPress Abilities API - registry of named abilities an agent may discover and run. Read access is capability-gated (observed HTTP 401 anonymously on 2026-08-23). 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-abilities/v1 description: WordPress Abilities API - registry of named abilities an agent may discover and run. Read access is capability-gated (observed HTTP 401 anonymously on 2026-08-23). 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-abilities/v1: get: operationId: getWpAbilitiesV1 summary: GET /wp-abilities/v1 description: WordPress REST API route `/wp-abilities/v1` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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-abilities/v1 - name: context in: query schema: default: view /wp-json/wp-abilities/v1/abilities: get: operationId: getWpAbilitiesV1Abilities summary: GET /wp-abilities/v1/abilities description: WordPress REST API route `/wp-abilities/v1/abilities` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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: 50 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. - name: category in: query schema: type: string description: Limit results to abilities in specific ability category. /wp-json/wp-abilities/v1/abilities/{name}: parameters: - name: name in: path required: true schema: type: string get: operationId: getWpAbilitiesV1AbilitiesName summary: GET /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+) description: WordPress REST API route `/wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+)` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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-abilities/v1/abilities/{name}/run: parameters: - name: name in: path required: true schema: type: string get: operationId: getWpAbilitiesV1AbilitiesNameRun summary: GET /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run description: WordPress REST API route `/wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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: input in: query schema: type: integer default: null description: Input parameters for the ability execution. post: operationId: postWpAbilitiesV1AbilitiesNameRun summary: POST /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run description: WordPress REST API route `/wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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: input: type: integer default: null description: Input parameters for the ability execution. put: operationId: putWpAbilitiesV1AbilitiesNameRun summary: PUT /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run description: WordPress REST API route `/wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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: input: type: integer default: null description: Input parameters for the ability execution. patch: operationId: patchWpAbilitiesV1AbilitiesNameRun summary: PATCH /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run description: WordPress REST API route `/wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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: input: type: integer default: null description: Input parameters for the ability execution. delete: operationId: deleteWpAbilitiesV1AbilitiesNameRun summary: DELETE /wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run description: WordPress REST API route `/wp-abilities/v1/abilities/(?P[a-zA-Z0-9\-\/]+?)/run` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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: input in: query schema: type: integer default: null description: Input parameters for the ability execution. /wp-json/wp-abilities/v1/categories: get: operationId: getWpAbilitiesV1Categories summary: GET /wp-abilities/v1/categories description: WordPress REST API route `/wp-abilities/v1/categories` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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: 50 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. /wp-json/wp-abilities/v1/categories/{slug}: parameters: - name: slug in: path required: true schema: type: string get: operationId: getWpAbilitiesV1CategoriesSlug summary: GET /wp-abilities/v1/categories/(?P[a-z0-9]+(?:-[a-z0-9]+)*) description: WordPress REST API route `/wp-abilities/v1/categories/(?P[a-z0-9]+(?:-[a-z0-9]+)*)` in namespace `wp-abilities/v1`, as advertised by the live route-discovery document at https://impulse-dynamics.com/wp-json/ (fetched 2026-08-23, HTTP 200). tags: - wp-abilities/v1 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'