Publish to WordPress via API — Blogs, REST, App Passwords
Schedule long-form articles (up to 100,000 chars HTML or Markdown) to self-hosted WordPress sites via the REST API and Application Passwords. Featured image upload, categories, tags, draft / publish / private status. Cross-post the same content to social platforms in the same API call.
WordPress API controls
Full blog publishing — long-form, featured image, taxonomies, scheduling.
post_type: textUp to 100,000 characters per post — full essays, postmortems, weekly recaps. Accepts HTML or Markdown; WordPress renders both natively via the block editor or classic editor.
wordpress_media_urlsPass a media URL and CodivUpload uploads it to your WordPress Media Library, sets it as the post's featured image, and links the post.
wordpress_category_ids / wordpress_tag_idsAssign existing WordPress categories and tags by ID. Combine with custom URL slug for clean SEO permalinks.
wordpress_statusSchedule for immediate publish, save as draft for editor review, or mark as private. Combine with CodivUpload's scheduled_date to time the publish exactly.
WordPress + Twitter cross-post
Publish a full long-form article to your WordPress blog, and at the same call post a 280-char teaser to X (Twitter) and a 3,000-char professional version to LinkedIn. One API call, three platform-tuned outputs.
# Blog post + Twitter teaser + LinkedIn summary
curl -X POST \
https://api.codivupload.com/v1/posts \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
"profile_name": "my-brand",
"platforms": ["wordpress", "x", "linkedin"],
"post_type": "text",
"title": "Five SaaS mistakes I made in 2026",
"description": "Full 2,000-word article body in Markdown...",
"x_text": "5 SaaS mistakes I made this year. Full read on the blog 🧵",
"linkedin_text": "Lessons from 12 months: 5 SaaS-building mistakes worth avoiding.",
"wordpress_status": "publish",
"wordpress_category_ids": [12, 47]
}'Getting Started with WordPress
WordPress uses Application Passwords (introduced in WP 5.6) instead of OAuth. The setup is three steps, takes under two minutes, and never exposes your real login.
Step 1 — Log into WordPress admin. Open your site's admin (/wp-admin) and navigate to Users → Profile.
Step 2 — Generate an Application Password. Scroll to the Application Passwords section near the bottom of the profile page. Enter a name like "CodivUpload", click Add New Application Password. WordPress shows a one-time password formatted as XXXX XXXX XXXX XXXX. Copy it now — it cannot be shown again.
Step 3 — Connect in CodivUpload. Open the Profiles page, click Connect WordPress, and paste the site URL (e.g. https://yourblog.com), your WordPress username, and the Application Password. CodivUpload validates by calling /wp-json/wp/v2/users/me and stores the password encrypted at rest (AES-256-GCM).
To revoke at any time, either delete the connection in CodivUpload (drops our encrypted copy) or remove the Application Password from your WordPress profile — the password stops working immediately, no cascade needed.
WordPress Content Tips
WordPress is your content home base. Unlike social networks, posts on your own blog earn SEO equity over time and stay discoverable for years. The cross-posting workflow is: publish the full article on WordPress, and use platform-specific override fields to pull short summaries onto social networks pointing back to the canonical post.
Drive social → blog, not the reverse. The blog is the durable asset. Social posts should tease the value and link readers back to the WordPress version. Use x_text, linkedin_text, and threads_text to write platform-tuned teasers, not the full article.
Featured image matters. Pass a 1200×630 image as the first media_urls entry (or as wordpress_media_urls override). CodivUpload uploads it to your Media Library and sets it as the featured image — which controls how the post appears in social Open Graph cards.
Use draft status for editorial review. When working with a team or AI-generated drafts, set wordpress_status: "draft". The post lands in your WordPress dashboard as a draft for human review before publishing — no half-baked content goes live.
Categories and tags drive internal SEO. Use wordpress_category_ids and wordpress_tag_ids to consistently file content into your taxonomies. Posts under the same category cross-link in archive pages, which boosts dwell time and ranks.
Markdown is welcome. WordPress's block editor and the REST API both accept Markdown when content is processed through the block editor. Write naturally in description using **bold**, ## headings, lists — and let WordPress render them.
Related resources
Publish to WordPress alongside Twitter/X, LinkedIn, Threads, and more — one API request publishes blog + social in lockstep.
Full endpoint reference including WordPress-specific parameters (wordpress_title, wordpress_content, wordpress_status, wordpress_category_ids, wordpress_tag_ids, wordpress_media_urls).
Start publishing to WordPress for free
2 profiles, 10 uploads/mo on the free plan. Upgrade for unlimited.