hosting

GET /v1/sites/{siteId}/turnstile

Get whether the Turnstile login check is on for a site, and where a change is.

All hosting endpoints

All developer docs →

Authentication

Send an API key as a bearer token. The key must carry the sites.view permission; 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 GET https://api.zinndigital.com/v1/sites/{siteId}/turnstile \
  -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

Q335. The Cloudflare Turnstile check on the site's WordPress login, registration, lost password, comment and form pages (V1's method: one widget per site). enabled is what was last asked for; status is what the site has (active once the site read back the same plugin, sitekey and secret fingerprint). busy while a change is running; step is where it is (queued, widget, site, then idle). stale when a change has not finished 15 minutes after it was asked for (it never started) — the switch can be used again. error_code is a code the console words (readonly, no_widget, not_supported, failed), never an English sentence. available is false for a site that cannot carry the check (not WordPress, or not on one of our servers). 404 for a site that is not the caller's. Requires sites.view.

Parameters

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

Response

NameTypeRequiredWhat it is
availablebooleanYes—
enabledbooleanYesWhat was last asked for.
statusstring<off, pending, active, failed>Yes—
stepstring<queued, widget, site, idle>Yes—
busybooleanYes—
stalebooleanYes—
error_codestring<, readonly, no_widget, not_supported, failed>Yes—
verified_atstringYes—
requested_atstringYes—

Errors this endpoint can return

401 · 403 · 404 · 429