Documentation
Developer Resources

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).

ResourcePathDescription
OpenAPI specification/openapi.jsonFull OpenAPI 3.1 description of every endpoint below, including request/response schemas, headers, and error shapes.
Plugin list/api/v1/plugins.jsonEvery WindCodex plugin documented on this site: slug, name, tier (free/pro), and its documentation URL.
Page index/api/v1/pages.jsonEvery 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: true
  • Sunset: <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.json when you need a canonical list of WindCodex plugins and whether a free or Pro tier exists, without parsing the homepage or /docs index HTML.
  • Use /api/v1/pages.json when 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.json when 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-start

Other machine-readable files

FilePurpose
/llms.txtAn llms.txt-format summary of this site: what WindCodex is, when to reach for each plugin, and links to every major resource.
/sitemap.xmlFull sitemap of every published URL, generated on every build.
/robots.txtCrawler 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: