Subscription Cancellation Survey is here!Learn more

WPSubscription Developer Hub

Every API spec, auth guide, and agent-readable resource WPSubscription publishes — at stable, predictable URLs.

One Endpoint, Eight Actions

WPSubscription exposes a single POST endpoint for the whole subscription lifecycle. It runs on your own WordPress site — wpsubscription.co publishes the spec and documentation only.

Endpoint

POST https://{site}/wp-json/wpsubscription/v1/action

Authentication

Site-scoped API key in the JSON request body (api_key), generated in WP Admin → WPSubscription → Settings → API Settings. No OAuth, no dynamic client registration.

Supported actions

  • cancel_subscription
  • pause_subscription
  • resume_subscription
  • reactivate_subscription
  • expire_subscription
  • change_status
  • trial_end
  • payment_failed

Developer FAQ

Where does the WPSubscription API actually run?
On your own WordPress site, at https://your-site.com/wp-json/wpsubscription/v1/action. The wpsubscription.co domain hosts the specification, the auth guide, and the documentation — it never processes subscription requests, so there is no shared endpoint or tenant to authenticate against.
How do I authenticate against the WPSubscription REST API?
Send a site-scoped API key in the api_key field of the JSON request body. The site owner generates it in WP Admin → WPSubscription → Settings → API Settings and can regenerate it at any time. A key is valid only for the site that issued it and only for the subscription lifecycle actions listed in the spec — it grants no access to WordPress users, content, orders, or admin functions.
Does WPSubscription have an MCP server?
Yes. A read-only Streamable HTTP MCP server runs at https://wpsubscription.co/mcp, described by a server card at /.well-known/mcp/server-card.json. It answers product questions — pricing, features, supported gateways, free versus Pro, and an API overview — and needs no credentials. Subscription data itself stays on your WordPress site and is reached through the REST API instead.
Are there rate limits on the API?
The plugin does not throttle requests, but the WordPress host or its WAF or CDN commonly rate-limits wp-json traffic. Treat any 429 as authoritative, honour its Retry-After header, and self-throttle to roughly one request per second per site as a courtesy default.
How is the API versioned?
The version lives in the URL path, under /wp-json/wpsubscription/v1/. Breaking changes ship only under a new version namespace; v1 request and response shapes stay stable, and only additive changes such as new actions or new optional fields land in v1. Deprecations are announced on the changelog before anything is removed.

The #1 Subscription Plugin for WooCommerce

Start Selling Subscriptions at Zero Cost.

Download, install, and start collecting recurring revenue from all around the world with WPSubscription.