| title | description |
|---|---|
API Reference |
Complete REST API reference for Respira for WordPress, including v1 and v2 endpoints for pages, posts, builders, snapshots, and more. |
Respira for WordPress exposes a comprehensive REST API for managing your WordPress site with duplicate-first safety, builder-aware updates, and fidelity workflows.
This REST API underpins multiple Respira surfaces:
- the standalone Respira MCP server
- the official WordPress Abilities + MCP Adapter integration
- built-in Browser AI/WebMCP
- the curated Elementor Angie bridge
Respira currently exposes two namespaces:
https://your-site.com/wp-json/respira/v1/
https://your-site.com/wp-json/respira/v2/
v1: broad compatibility endpoints used across older and mixed environmentsv2: capability negotiation, fidelity/snapshot flows, and builder patch operations
Browser-auth Angie endpoints use a separate namespace:
https://your-site.com/wp-json/respira/browser/v1/
See Elementor Angie for the browser-auth flow, and WordPress AI Stack Compatibility for the official Abilities/MCP Adapter path.
Use this endpoint to detect v2 feature support:
GET /wp-json/respira/v2/status
Include your API key with every request:
X-Respira-API-Key: respira_your-api-key-here
Returns comprehensive information about the WordPress site including version, theme, plugins, and detected page builders.
GET /context/site-info
Returns theme documentation and available template files.
GET /context/theme-docs
Returns information about the active page builder including available modules/widgets.
GET /context/builder-info
Snapshot endpoints support safer compare/restore flows:
GET /snapshots
GET /snapshots/{uuid}
POST /snapshots/diff
POST /snapshots/restore
Builder patch endpoint:
POST /builder/{builder}/patch/{post_id}
List all pages with optional filtering.
GET /pages
Query parameters:
status- Filter by status (publish, draft, pending)search- Search termpage- Page number for paginationperPage- Items per page
Get full content of a specific page including meta data and builder information.
GET /pages/{id}
Create a duplicate of an existing page for safe editing.
POST /pages/{id}/duplicate
Update a page. Respira automatically creates a duplicate for safety.
PUT /pages/{id}
Body parameters:
title- New page titlecontent- New page content (HTML)status- Page status (publish, draft, pending)meta- Post meta data
Delete a page. Only works on Respira-created duplicates by default.
DELETE /pages/{id}
List all blog posts with optional filtering.
GET /posts
Get full content of a specific post.
GET /posts/{id}
Create a duplicate of an existing post for safe editing.
POST /posts/{id}/duplicate
Update a post. Respira automatically creates a duplicate for safety.
PUT /posts/{id}
Delete a post. Only works on Respira-created duplicates by default.
DELETE /posts/{id}
List all registered post types.
GET /post-types
Get post type details.
GET /post-types/{type}
List posts of a custom post type.
GET /post-types/{type}/posts
Get custom post details.
GET /post-types/{type}/posts/{id}
Create a new custom post.
POST /post-types/{type}/posts
Update a custom post.
PUT /post-types/{type}/posts/{id}
Delete a custom post.
DELETE /post-types/{type}/posts/{id}
Extract structured content from a page builder (Divi, Elementor, Bricks, etc.).
GET /builder/{builder}/pages/{id}/content
Inject structured content into a page builder.
POST /builder/{builder}/pages/{id}/content
Update a specific module within a page builder page. Supports finding modules by admin_label, path, or type.
PUT /builder/{builder}/pages/{id}/module
Body parameters:
moduleIdentifier- Object withadmin_label,path, ortypeupdates- Object withcontentand/orattributes
List all media files (images, videos, etc.).
GET /media
Get single media item details.
GET /media/{id}
Upload a media file to WordPress.
POST /media
Body parameters:
file- File content as base64 string, URL, or file pathfilename- Filename for the uploaded filemimeType- MIME type (e.g., image/jpeg)alt- Alt text for imagestitle- Media titlecaption- Media caption
Update media metadata (title, alt text, caption).
PUT /media/{id}
Delete a media file.
DELETE /media/{id}
List all navigation menus.
GET /menus
Get menu with all items and hierarchy.
GET /menus/{id}
Get all registered menu locations.
GET /menus/locations
Create a new navigation menu.
POST /menus
Update a menu.
PUT /menus/{id}
Delete a menu.
DELETE /menus/{id}
Add an item to a menu.
POST /menus/{id}/items
Update a menu item.
PUT /menus/{id}/items/{item_id}
Delete a menu item.
DELETE /menus/{id}/items/{item_id}
Assign a menu to a theme location.
POST /menus/{id}/location
List all registered taxonomies.
GET /taxonomies
Get taxonomy details.
GET /taxonomies/{taxonomy}
List terms in a taxonomy.
GET /taxonomies/{taxonomy}/terms
Get term details.
GET /taxonomies/{taxonomy}/terms/{id}
Create a new term.
POST /taxonomies/{taxonomy}/terms
Update a term.
PUT /taxonomies/{taxonomy}/terms/{id}
Delete a term.
DELETE /taxonomies/{taxonomy}/terms/{id}
List all users with optional filtering.
GET /users
Get user details by ID.
GET /users/{id}
Create a new user.
POST /users
Update user information.
PUT /users/{id}
Delete a user.
DELETE /users/{id}
List all comments with optional filtering.
GET /comments
Get comment details.
GET /comments/{id}
Create a new comment.
POST /comments
Update a comment.
PUT /comments/{id}
Delete a comment.
DELETE /comments/{id}
List WordPress options (with optional search filter).
GET /options
Get option value by name.
GET /options/{option}
Update an option value.
PUT /options/{option}
Delete an option.
DELETE /options/{option}
Analyze page performance including load time, images, CSS/JS, caching, and plugin impact.
GET /analyze/performance/{page_id}
Get Core Web Vitals metrics (LCP, FID, CLS) for a page.
GET /analyze/core-web-vitals/{page_id}
Analyze image optimization opportunities including missing alt text and large files.
GET /analyze/images/{page_id}
Comprehensive SEO analysis including meta tags, headings, image alt text, internal linking, and schema markup.
GET /analyze/seo/{page_id}
Quick check for common SEO issues with recommendations.
GET /analyze/seo-issues/{page_id}
Analyze content readability including Flesch Reading Ease score and paragraph structure.
GET /analyze/readability/{page_id}
Analyze content for AI search engine optimization (Perplexity, ChatGPT). Checks structured data, content clarity, and semantic HTML.
GET /analyze/aeo/{page_id}
Check schema markup and structured data (JSON-LD, microdata) for AI parsing.
GET /analyze/structured-data/{page_id}
Validate content for security issues before saving.
POST /security/validate
List all installed plugins with status and update availability.
GET /plugins
Install a plugin from WordPress.org or ZIP URL.
POST /plugins/install
Activate a plugin.
POST /plugins/{slug}/activate
Deactivate a plugin.
POST /plugins/{slug}/deactivate
Update a plugin to latest version.
POST /plugins/{slug}/update
Delete a plugin (must be deactivated first).
DELETE /plugins/{slug}
Switch to a different WordPress site (for multi-site setups).
POST /sites/switch
All responses follow this structure:
Success:
{
"success": true,
"data": { ... }
}Error:
{
"success": false,
"message": "Error message"
}