Developers

Zinn® Reseller Toolkit abilities reference

Zinn® Reseller Toolkit registers its actions with the WordPress Abilities API. The same abilities are MCP tools on the site's own server and REST routes under /wp-json/wp-abilities/v1. This page is generated from the plugin's own registry.

User guide: connect an AI app

Endpoints

MCP over HTTP (streamable)

https://example.com/wp-json/zinn-reseller/v1/mcp

MCP over WP-CLI (standard input and output)

wp mcp-adapter serve --server=zinn-reseller --user=<login>

REST: list the abilities

/wp-json/wp-abilities/v1/abilities?category=zinn-reseller

REST: run an ability

/wp-json/wp-abilities/v1/abilities/<name>/run

Authentication and permissions

HTTP requests authenticate with a WordPress application password (HTTP Basic). Connecting to the MCP server needs the capability shown below; every ability then checks its own permission, per object. Read-only abilities run with GET and their input in the query string; the others with POST and a JSON body {"input": {…}}.

Examples

# REST: run an ability
curl -u your-username:your-application-password \
  "https://example.com/wp-json/wp-abilities/v1/abilities/zinn-reseller/get-overview/run"
# MCP (JSON-RPC over HTTP, after "initialize")
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"zinn-reseller-get-overview","arguments":{}}}

All abilities

Generated from the plugin's abilities.json, which is itself generated from a running site; a test fails when the two disagree.

AbilityWhat it doesEditionRESTPermissionParameters
zinn-reseller/create-client
zinn-reseller-create-client
Create a client
Creates a client account under yours (name; default_currency, a three-letter code). Put them on a plan before their first site.
Free editionPOST …/abilities/zinn-reseller/create-client/runmanage_optionsname: string (required), default_currency: string
zinn-reseller/create-site
zinn-reseller-create-site
Create a site for a client
Creates a hosted site for one of your clients (client_id, product_line, primary_domain). It is billed to your account at the client's plan, as from your shop.
Free editionPOST …/abilities/zinn-reseller/create-site/runmanage_optionsclient_id: string (required), product_line: string (required), primary_domain: string (required)
zinn-reseller/get-client-plan
zinn-reseller-get-client-plan
Read a client's plan
Returns which plan a client is on and what it costs you (client_id).
Free editionGET …/abilities/zinn-reseller/get-client-plan/runmanage_optionsclient_id: string (required)
zinn-reseller/get-overview
zinn-reseller-get-overview
Read your reseller account
Returns your reseller account in one read: brand, plans, clients and services counts, and what is set up.
Free editionGET …/abilities/zinn-reseller/get-overview/runmanage_optionsnone
zinn-reseller/get-settings
zinn-reseller-get-settings
Read the Reseller Toolkit settings
Returns this plugin's settings (the API address, the plan new orders use, which features are on). The API key is never returned, only whether one is saved.
Free editionGET …/abilities/zinn-reseller/get-settings/runmanage_optionsnone
zinn-reseller/list-clients
zinn-reseller-list-clients
List your clients
Lists your client accounts, a page at a time (cursor, limit).
Free editionGET …/abilities/zinn-reseller/list-clients/runmanage_optionscursor: string, limit: integer
zinn-reseller/list-plans
zinn-reseller-list-plans
List the plans you can sell
Lists the hosting plans and their prices (product_line and currency narrow it).
Free editionGET …/abilities/zinn-reseller/list-plans/runmanage_optionsproduct_line: string, currency: string
zinn-reseller/list-sites
zinn-reseller-list-sites
List your clients' sites
Lists everything you have provisioned for your clients (client_id and status narrow it), a page at a time.
Free editionGET …/abilities/zinn-reseller/list-sites/runmanage_optionscursor: string, limit: integer, client_id: string, status: string
zinn-reseller/set-client-plan
zinn-reseller-set-client-plan
Put a client on a plan
Puts a client on one of your plans (client_id, plan_code; interval: month or year). Do this before their first site.
Free editionPOST …/abilities/zinn-reseller/set-client-plan/runmanage_optionsclient_id: string (required), plan_code: string (required), interval: month|year
zinn-reseller/suspend-site
zinn-reseller-suspend-site
Suspend a client's site
Puts a client's site on a non-payment hold (site_id; reason: your own note, never shown to the client). The site stops serving until it is unsuspended.
Free editionPOST …/abilities/zinn-reseller/suspend-site/runmanage_optionssite_id: string (required), reason: string
zinn-reseller/unsuspend-site
zinn-reseller-unsuspend-site
Unsuspend a client's site
Lifts a non-payment hold, so the site serves again (site_id).
Free editionPOST …/abilities/zinn-reseller/unsuspend-site/runmanage_optionssite_id: string (required)
zinn-reseller/update-settings
zinn-reseller-update-settings
Change the Reseller Toolkit settings
Changes the settings you send (plan_code, enable_domain_search, enable_panel_link, enable_woocommerce) and keeps the rest. The API key and address are changed on the screen only.
Free editionPOST …/abilities/zinn-reseller/update-settings/runmanage_optionsplan_code: string, enable_domain_search: boolean, enable_panel_link: boolean, enable_woocommerce: boolean