Description
GymGrow Connect adds a small set of secure REST API endpoints under the gymgrow/v1 namespace so an external system (for example, an AI content pipeline) can:
- Create or update a post — title, content, excerpt, slug, categories, tags, schedule date — in a single request.
- Set RankMath SEO fields (SEO title, meta description, focus keyword, canonical URL, robots) on the same request or on an existing post.
- Upload an image from a multipart file or a remote URL, set its alt text, and optionally assign it as the featured image.
It replaces ad-hoc functions.php snippets with a versioned, capability-checked plugin.
Endpoints
POST /wp-json/gymgrow/v1/article— publish/update an article (also sets SEO and featured image).POST /wp-json/gymgrow/v1/media— upload an image.POST /wp-json/gymgrow/v1/seo/{id}— update RankMath SEO fields for a post.
A backward-compatible alias POST /wp-json/custom/v1/rankmath/{id} is also registered for pipelines that used the legacy route.
Authentication
Requests are authenticated with WordPress’s own user authentication — use an Application Password (Basic Auth) for a user who can publish posts. Permissions are enforced per route with capability checks (publish_posts, upload_files, edit_post). You may optionally enable a second-factor shared secret (X-GymGrow-Key header) from the settings screen.
This plugin does not call any external services and stores no personal data.
Installation
- Upload the
gymgrow-connectfolder to/wp-content/plugins/, or install the ZIP via Plugins Add New Upload Plugin. - Activate the plugin through the Plugins screen.
- (Optional) Visit Settings GymGrow Connect to generate an API key, choose a default category, and set a default status.
- Create an Application Password for the publishing user under Users Profile, and use it as Basic Auth in your pipeline.
FAQ
-
Does it require RankMath?
-
No. If RankMath is active the SEO fields take effect immediately. If not, the meta is still stored under the RankMath meta keys and becomes live once RankMath is installed.
-
How are the endpoints secured?
-
Every route has a capability-based
permission_callback. Publishing requirespublish_posts, uploads requireupload_files, and SEO updates requireedit_poston the target post. You can additionally require a matchingX-GymGrow-Keyheader. -
Does it send data anywhere?
-
No. The plugin only receives requests; it does not phone home or contact third-party services.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“GymGrow Connect” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “GymGrow Connect” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.3
- Security: omitting the
statusparameter now creates or updates a draft instead of publishing. Publishing requires explicitly passingstatus=publish, which remains gated by thepublish_postscapability.
1.0.2
- Security: editing an existing post that is already published, private, or scheduled (future) now requires the
publish_postscapability even when the request does not change the status.
1.0.1
- Security: the article endpoint now requires the
publish_postscapability when an update changes a post to a published, private, or scheduled (future) status, not justedit_post.
1.0.0
- Initial release: article publish endpoint, media upload endpoint, RankMath SEO endpoint, optional API key, settings screen.