hosting

GET /v1/sites/{siteId}/index-check

A hosted site's search-index status.

All hosting endpoints

Authentication

Send an API key as a bearer token. This endpoint does not state a specific permission in the specification, so give your key the least it needs and check the response rather than assuming.

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}/index-check \
  -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

The **cached** search-index reading for this site's primary domain, in the same shape as the domain endpoint — it is the same underlying reading, reached from the site. ⛔⛔ **This is the only door most customers have.** The reading is keyed by FQDN and a hosted site has one, so it was always expressible; until this endpoint existed the only way to reach it was `GET /v1/domains/{domainId}/index-check`, which requires a `Domain` row. A Footprint-Free customer who registers their names elsewhere and connects nothing has no such row, so the status of their sites was unreachable from anywhere in the product. Never calls the upstream provider, so it is free to render. `state` distinguishes the same four cases the domain endpoint documents, and `unknown` must not be rendered like `not_indexed` — a client that conflates them reports healthy sites as deindexed during any provider outage. ⛔ There is deliberately **no** run counterpart on a site. Each check spends provider allowance, and a refresh button on every site across a large estate is an unbounded cost; freshness comes from the scheduled sweep. To force a check for one specific name, use the domain research tool, where the spend is metered against your own allowance.

Parameters

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

Response

NameTypeRequiredWhat it is
fqdnstringYes
statestring<indexed, not_indexed, unknown, never_checked>Yes`indexed` — the provider answered and the search engine has this site. `not_indexed` — the provider answered and the search engine has nothing. A real measurement, and the one s…
checked_atstringNoWhen the stored check ran. Null when never checked.
is_stalebooleanYesTrue when the reading is older than the 7-day monitoring window, or absent entirely. A hint that a fresh check is worth its allowance — not an indication the result is wrong.
estimated_indexed_pagesintegerNoThe search engine's own loose upper bound for how many pages of this site it holds. **An estimate, not an authoritative count** — it routinely differs from Search Console by sev…
sample_urlsstring[]NoA few URLs the search engine returned, so a customer can confirm the right site was matched. Evidence, not a sitemap — capped at five.
next_check_atstringNoWhen this domain is next due for an automatic check. Indexed sites are re-checked monthly, missing ones daily, and unknown ones within hours.

Errors this endpoint can return

401 · 403 · 404