hosting

POST /v1/index-monitoring

Monitor another page, or a whole site hosted elsewhere.

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 POST https://api.zinndigital.com/v1/index-monitoring \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "fqdn": <string> }'

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

Creates one monitored target. `kind` decides which product and therefore which allowance it consumes, and the two are **not** interchangeable: a `section` needs a `path` and consumes `indexing_targets`; an `external_site` takes no `path` and consumes `external_index_sites`. Does **not** check the target. The next scheduled sweep does, on this account's normal cadence — so creating a target costs nothing, and a typo costs nothing. Answers `409` when the same page is already monitored, rather than succeeding silently: a duplicate would consume a second allowance slot and a second check every day for the same answer. Answers `422` with `ALLOWANCE_EXCEEDED` when the relevant allowance is full, carrying the limit in `details` and naming the add-on that raises it.

Request body

NameTypeRequiredWhat it is
kindstring<section, external_site>No
fqdnstringYesThe hostname to monitor, e.g. `example.com`.
pathstringNoRequired for `section`, and rejected for `external_site`. ⛔ An empty path on a section would be the whole site, which every plan already checks free — so it is refused rather th…
labelstringNo

Response

NameTypeRequiredWhat it is
idstringYes
kindstring<section, external_site>Yes`section` is a page or path prefix inside a site, on top of the free whole-site check. `external_site` is an entire website hosted somewhere else, billed per site per month. The…
fqdnstringYesThe hostname, lower-cased.
pathstringYesThe path prefix without slashes (`blog`, `shop/offers`). Always empty on an `external_site`, and never empty on a `section`.
labelstringYesWhat the customer calls it, so a list of twelve paths is readable.
operandstringYesThe exact search operand checked, e.g. `example.com/blog`.
created_atstringYes
indexedbooleanYes⛔ **Three-valued.** `true` and `false` are answers from the provider. `null` means no reading exists yet, **or** this row is beyond the current allowance and is not being checke…
checked_atstringYesWhen the reading was taken. `null` when there has never been one.
monitoredbooleanYesWhether the sweep is currently checking this row. `false` with the row still present is the "you have downgraded, this one is paused" state — shown rather than hidden, because t…

Errors this endpoint can return

401 · 403 · 404 · 409 · 422