POST/content-optimization/run
Start a new content optimization audit.
Response
{
"audit_id": 42,
"total": 523,
"processed": 0,
"status": "running"
}POST/content-optimization/batch
Process a batch of posts for ongoing audit.
Response
{
"audit_id": 42,
"processed": 10,
"total": 523,
"status": "running",
"progress_percentage": 1.9
}GET/content-optimization/summary
Get audit summary and overall scores.
Response
{
"last_audit": { "id": 42, "run_at": "2026-01-08 14:30:00", "overall_score": 76 },
"issues": { "critical": 45, "major": 123, "minor": 234 },
"score_distribution": { "90-100": 89, "80-89": 134, ... }
}GET/content-optimization/breakdown
Get audit results by post type.
Response
{
"by_post_type": {
"post": { "total": 342, "avg_score": 78, "critical_issues": 23 },
"page": { "total": 45, "avg_score": 82 },
"product": { "total": 136, "avg_score": 71 }
}
}GET/content-optimization/issues
Get detailed issues for specific post or all posts.
Parameters
post_id(integer)— Specific post ID
severity(string)— Filter: critical, major, minor
audit_id(integer)— Specific audit ID (default: latest)
Response
{
"post_id": 123,
"post_title": "Blog Post Title",
"score": 68,
"issues": [
{
"severity": "critical",
"issue_type": "missing_meta_description",
"message": "This post is missing a meta description",
"suggested_fix": "Add a meta description of 150-160 characters"
}
]
}POST/content-optimization/reanalyze
Reanalyze a specific post.
Response
{
"post_id": 123,
"score": 72,
"issues": { "critical": 1, "major": 3, "minor": 5 },
"message": "Post reanalyzed successfully"
}