Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mavera.io/llms.txt

Use this file to discover all available pages before exploring further.

WordPress is where your content lives — blog posts, pages, categories, and the editorial rhythm that defines your brand online. These five jobs bridge that content layer with Mavera’s surfaces (Brand Voices, Responses, Personas, Focus Groups, Generations) so your brand voice is grounded in what you’ve already published, stale content gets flagged and refreshed, category gaps are validated by synthetic audiences, new content publishes back as drafts with voice consistency, and engagement patterns inform future strategy.

API Reference Card

DetailValue
Base URLhttps://{domain}/wp-json/wp/v2/
AuthApplication Passwords (Basic auth), OAuth 2.0, or JWT
Rate limitsServer-dependent; no official WordPress.org cap — self-hosted varies by host
Paginationper_page (max 100), page param; total in X-WP-Total / X-WP-TotalPages headers
Mavera basehttps://app.mavera.io/api/v1
Mavera authAuthorization: Bearer mvra_live_...
All examples use four environment variables: WORDPRESS_URL (your site root, e.g. https://blog.example.com), WORDPRESS_USER (admin username for write operations), WORDPRESS_APP_PASSWORD (Application Password generated in Users → Profile → Application Passwords), and MAVERA_API_KEY. Reading public content does not require auth. Writing (creating/updating posts) requires Basic auth with the Application Password. Python examples use requests; JavaScript examples use fetch.

Prerequisites

1

WordPress site with REST API enabled

The REST API is enabled by default on WordPress 4.7+. Verify by visiting https://yoursite.com/wp-json/wp/v2/posts in a browser — you should see JSON. If you get a 404, check your permalink settings (Settings → Permalinks → choose anything other than “Plain”) and ensure no security plugin is blocking the REST API.
2

Create an Application Password

In WordPress Admin, go to Users → Profile → scroll to Application Passwords. Enter a name (e.g. “Mavera Integration”) and click Add New Application Password. Copy the generated password immediately — it won’t be shown again. This password is used with your username for Basic auth on write operations.
3

Mavera API key

Get your key from Mavera dashboard. The key starts with mvra_live_.
4

Install dependencies

pip install requests openai beautifulsoup4
5

Environment variables

export WORDPRESS_URL="https://blog.example.com"
export WORDPRESS_USER="admin"
export WORDPRESS_APP_PASSWORD="xxxx xxxx xxxx xxxx xxxx xxxx"
export MAVERA_API_KEY="mvra_live_xxxxx"

Jobs

#JobWordPress DataMavera SurfaceOutput
1Blog Content → Brand Voice ExtractionPublished posts (title + content)Brand VoicesVoice profile capturing blog tone
2Content Audit → Refresh PipelineAll posts with dates + categoriesResponses + GenerationsPrioritized refresh plan + updated outlines
3Category Gap AnalysisCategories with post countsPersonas + Focus GroupsValidated content gap priorities
4WordPress → Mavera Publish PipelineExisting brand voice + personaResponses → WordPress POSTDraft post published to WordPress
5Page Performance → Focus GroupPosts with comment counts + datesPersonas + Focus GroupsAudience insights on content resonance

Rate Limits & Production Notes

ConcernWordPress LimitRecommendation
REST API rateServer-dependent (no official cap)Add 200ms delay between requests; respect Retry-After headers if present
Pagination max100 items per page (per_page=100)Always paginate with X-WP-TotalPages header check
Auth for readsNot required for public contentOnly use Basic auth for write operations
Auth for writesApplication Password (Basic auth)Never commit credentials; use env vars or secrets manager
Mavera rate limitVaries by planExponential backoff on 429 responses
Before going to production: store WORDPRESS_APP_PASSWORD and MAVERA_API_KEY in a secrets manager (never commit them), implement rate limiting with delays between WordPress requests (your host may throttle aggressive API usage), use _fields parameter to limit response size and reduce server load, test write operations on a staging site first, validate generated HTML content before publishing, and set status: "draft" — never auto-publish without human review.

Production Checklist

  • Credentials in env vars or secrets manager — never in code
  • Rate limiting with 200ms+ delays between WordPress API calls
  • _fields parameter on all GET requests to reduce payload size
  • Pagination handling with X-WP-TotalPages header
  • HTML sanitization on generated content before WordPress POST
  • Write operations tested on staging/development site first
  • All auto-generated posts set to status: "draft" for editorial review
  • Error logging and alerting for failed API calls
  • Application Password scoped to minimum required capabilities

WordPress REST API Handbook

Official reference for all endpoints, authentication, and pagination.

Mavera API Reference

Personas, focus groups, brand voices, and generations.

Application Passwords Guide

Setup guide for WordPress Application Passwords.

Integration Quick Reference

Cross-platform patterns for all Mavera integrations.