WindCodex Developer Resources
This page indexes every machine-readable resource WindCodex Documentation publishes, for developers writing scripts and for AI agents that need to read this site programmatically instead of scraping rendered HTML.
Documentation API
docs.windcodex.com publishes a small, read-only JSON API describing the documentation content
on this site (not the WordPress plugins' own runtime APIs - see Per-plugin developer
references for those).
| Resource | Path | Description |
|---|---|---|
| OpenAPI specification | /openapi.json | Full OpenAPI 3.1 description of every endpoint below, including request/response schemas, headers, and error shapes. |
| Plugin list | /api/v1/plugins.json | Every WindCodex plugin documented on this site: slug, name, tier (free/pro), and its documentation URL. |
| Page index | /api/v1/pages.json | Every documentation page on this site: title, description, plugin, and URL. Useful for building a local search index or a sitemap-aware crawler. |
Requests to a path under /api/v1/ that doesn't exist return a JSON error body (not an HTML
error page) with an HTTP 404 status, an error code, a message, and a documentation_url pointing
back to /openapi.json.
API versioning & deprecation policy
This API is versioned in the URL path: /api/v1/.... That's a deliberate, published contract -
/api/v1/ will never change shape under you. The original unversioned paths
(/api/plugins.json, /api/pages.json) now return an HTTP 301 redirect to their /api/v1/
equivalent; update any existing integration to call /api/v1/ directly.
If a breaking change is ever needed, it ships as /api/v2/ rather than modifying /api/v1/ in
place. Once a new version ships, the old version is kept live for at least 6 months, and
every response from the deprecated version carries two headers so callers can detect the
wind-down automatically instead of breaking without warning:
Deprecation: trueSunset: <HTTP-date>(RFC 8594) - the exact date the deprecated version will stop responding.
Neither header is present today because /api/v1/ is current and has no announced successor.
Rate limits
/api/v1/plugins.json and /api/v1/pages.json are static, fully-cacheable files with no
authentication, so there's no backend counting requests per caller in real time. Instead, every
response in /api/v1/ declares a fixed, generous fair-use ceiling using the IETF RateLimit
header conventions:
RateLimit-Limit: 600- up to 600 requests per window.RateLimit-Policy: "600;w=60"- a 60-second window.
These are a published policy rather than a live counter, so there's no matching
RateLimit-Remaining header - claiming one would imply per-caller tracking that doesn't exist.
Sustained abuse well past this ceiling may be throttled at the hosting/CDN layer independent of
these headers. If you need a higher volume for a legitimate integration, contact
WindCodex.
When to use this documentation API
- Use
/api/v1/plugins.jsonwhen you need a canonical list of WindCodex plugins and whether a free or Pro tier exists, without parsing the homepage or/docsindex HTML. - Use
/api/v1/pages.jsonwhen you need to resolve a plugin name or feature to a specific documentation URL - for example, to answer "where are GeoBlock's per-product rules documented?" programmatically. - Use
/openapi.jsonwhen you're wiring this site into a tool that consumes OpenAPI specs (an LLM function-calling registry, an API gateway, or a client generator). - Don't use this API for anything involving a WindCodex plugin's live WordPress site (order data, settings, license status) - that lives on the customer's own WordPress installation, not on this documentation domain. This API only describes the documentation content itself.
Content negotiation
Documentation pages under /docs/ are also available as plain Markdown. Request the same URL
with an Accept: text/markdown header (or append .md to the path) to receive the raw Markdown
source instead of rendered HTML - useful for feeding a page directly into an LLM context window.
curl -H "Accept: text/markdown" https://docs.windcodex.com/docs/geoblock/quick-startOther machine-readable files
| File | Purpose |
|---|---|
/llms.txt | An llms.txt-format summary of this site: what WindCodex is, when to reach for each plugin, and links to every major resource. |
/sitemap.xml | Full sitemap of every published URL, generated on every build. |
/robots.txt | Crawler policy and a pointer back to the sitemap. |
Per-plugin developer references
Every plugin documents its own WordPress hooks, filters, constants, and PHP APIs for developers extending that specific plugin on their own site: