hosting

POST /v1/wordpress/sites/{siteId}/refresh

Ask this site's platform for its WordPress posture now.

All hosting endpoints

All developer docs →

Authentication

Send an API key as a bearer token. The endpoint checks sites.panel_access, sites.view; a key without it is refused with 403, not 404.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X POST https://api.zinndigital.com/v1/wordpress/sites/{siteId}/refresh \
  -H "Authorization: Bearer zdk_live_…"

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

Collects core version, plugins, themes, administrators, enforced disk quota and a cache-busted request to the site's own homepage, then stores and returns them. ⛔ Every read is independent. A platform that answers the install call and refuses the user list produces a snapshot with a core version and no administrators — not an empty row. And a failed collection keeps the previous figures, recording snapshot.collect_error_code beside them: "what we knew four hours ago, and why we could not refresh it" is a better answer than a blanked screen, provided the screen says which it is showing. ⛔ sites.panel_access, not merely sites.view: this commissions real vendor work against a customer's site, and a read permission should not be able to spend somebody else's rate limit.

Parameters

NameTypeRequiredWhat it is
siteId (path)UuidYesSite ID (UUIDv7).

Response

NameTypeRequiredWhat it is
site_idstringYes—
namestringYes—
primary_domainstringYes—
stack_typestringYeswordpress or woocommerce — a shop IS a WordPress site.
product_linestringYes—
deploy_targetstringYes—
statusstringYes—
php_versionstringYes—
plan_namestringYesThe plan a customer would recognise, or "". Never an id.
site_urlstringYes—
admin_urlstringYes—
update_stateWordPressUpdateStateYes⛔⛔ unknown is a real member and must never be rendered as current. "We have not looked" and "you are up to date" are different statements, and a manager that collapses…
reachabilityWordPressReachabilityYesWhat a visitor gets from the site's own homepage, from a cache-busted request. ⛔⛔ This is the only field on this surface measured over the path a human actually uses. Every…
http_statusintegerYes—
http_error_codeWordPressProbeErrorCodeYesWhy the homepage request did not complete, blank when it did (whatever the status). A code rather than a sentence, because a sentence composed in the engine is English for ever…
http_checked_atstringYes—
can_installbooleanYesWhether software can be installed on this site's platform at all. ⛔ false for every managed hosting site — this platform exposes no shell and no install endpoint across its API…
capabilitiesobjectYesWhat this site's platform permits, as of the last collection.
diskWordPressAllowanceYesOne countable resource. ⛔ Three states, not two. limit: null, unlimited: false is no ceiling is stated; unlimited: true is the plan sells this as unlimited, which is…
bandwidthWordPressAllowanceYesOne countable resource. ⛔ Three states, not two. limit: null, unlimited: false is no ceiling is stated; unlimited: true is the plan sells this as unlimited, which is…
snapshotWordPressSnapshotYes⛔ Null means nobody has ever collected this site. A client renders that as "not checked yet" with a refresh action — never as zeroes, which read as "you are up to date".
pluginsWordPressComponent[]Yes—
themesWordPressComponent[]Yes—
adminsWordPressAdmin[]Yes—

Errors this endpoint can return

401 · 403 · 404 · 422 · 429 · 503