WordsPost Content Publisher adds a REST API (content-publisher/v1) that lets an external system create, update, delete and search posts, upload and manage media, manage categories and tags, set SEO fields and, when WPML is active, manage post languages and translation links. It can also read the rest of the site — pages, WooCommerce products, product categories and menus — so the external system can see what the site is about and link to it, and list the whole site’s content in a light inventory, so the external system can keep its own copy in sync. Every request is authenticated with an API key. Each client gets its own key — created on the plugin’s settings page, or obtained by a service through a confirmation screen — and every key can be renamed, reissued or revoked on its own.
Everything works without any external service. Optionally, the settings page has a “Connect to WordsPost” button for the WordsPost content service (https://wordspost.com): it gives WordsPost its own revocable key after you approve it on a confirmation screen, instead of copying the key by hand. Nothing is sent to WordsPost unless you start the connection and press “Allow” — see External services below.
date + future), comments, auto excerpt, auto table of contents (from H2/H3 headings), mobile-friendly table wrapping with an optional card layout on narrow screens, and Cyrillic-to-Latin slug transliteration (Russian and Ukrainian)request_key with POST /posts or POST /media and a repeated request returns the item created the first time instead of a duplicate, even when two copies arrive at once or the first one was interrupted halfway%date%, %%title%%), plus the title and description a search engine actually gets after the templates are applied/languages endpoint listing what the site speaks; with WPML, post language and translation-group linking via lang / translation_of, a translations map on every post, filters to find posts that still need translating, and a clear 409 instead of a duplicate when a language in the group is already taken; translations keep their original’s slug, change language within their group, and can take the place of a WPML duplicateX-RateLimit-* headersThe full REST API reference, curl examples and a Postman collection are in the plugin’s docs/ folder (API.md, openapi.yaml, postman_collection.json).
The plugin itself never sends a request to any external service. Two things involve other sites:
When an authenticated API caller passes an address in the url field of POST /media, the file at that address is fetched once with WordPress’s own download_url() and stored in the media library. Which addresses are fetched is entirely up to the site’s own API client; nothing about the site or its visitors is sent. Uploads sent as inline data involve no outgoing request at all.
POST /cache/flush asks the cache plugin installed on the site to clear its cache, through that plugin's own functions. The plugin sends nothing anywhere itself; if the cache plugin is set up to purge a CDN as well, it does so on its own, as it would when you clear the cache from its screen.
WordsPost (https://wordspost.com) is a content service that writes and publishes posts to connected sites through this plugin’s API. Connecting it is optional and happens only when a site administrator starts it:
From then on WordsPost uses that key to create, edit and delete posts and media, as the confirmation screen states. You can revoke it at any time with “Disconnect” on the settings page. “Cancel” on the confirmation screen sends WordsPost only a refusal.
WordsPost terms of use: https://wordspost.com/terms/
WordsPost privacy policy: https://wordspost.com/privacy-policy/