hosting
GET /v1/sites/{siteId}/vitals
Get a site's homepage Core Web Vitals.
Ìfàṣẹ́pọ̀
Fi bọ́kì kọ́kọ́ (bearer token) ránṣẹ́ gẹ́gẹ́ bí àmì ìdánimọ̀ API. Ibùdó yìí kò sọ àṣẹ pàtó kan nínú àlàyé rẹ̀, nítorí náà fún kọ́kọ́ rẹ̀ ní ohun tó kéré jù lọ tí ó nílò kí o sì ṣàyẹ̀wò ìdáhùn náà dípò kí o kàn rò ó.
Ojú abánisọ̀rọ̀ yìí kò gba id ajọ kankan. Kọ́kọ́rọ́ rẹ ti mọ ajọ ti o jẹ ti e, a o si fèsì nipa rẹ̀.
Gbiyanju rẹ
Rọ́pọ̀ èyíkéyìí nínú àwọn àmì ìtọ́ka < > pẹ̀lú iye tirẹ̀, àti àmì ìdánimọ̀ bọ́tìnnì náà pẹ̀lú bọ́tìnnì kan láti inú dásibọ̀ọ̀dù rẹ.
curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/vitals \
-H "Authorization: Bearer zdk_live_…"Ṣé o ti wọlé? Iwọ̀n api ní nú ìgbékalẹ̀ rẹ kún id àjọ gidi rẹ ati bọtini tirẹ, o si nṣiṣẹ ibeere na lòdì si api gidi ki o le rii esi gidi na. Ṣí ojú abáná yìí sílẹ̀ nínú kọnsólù API
Àwọn kúlẹ̀kúlẹ̀
The site's newest Core Web Vitals reading — LCP, CLS and INP for its **homepage**, with the "good / needs improvement / poor" band for each and for the reading as a whole. Backs the Performance tab's vitals card and the free SEO Basics tile, both of which are sold as included on every plan and every site. RLS-scoped to a site the caller can view (`sites.view`); an out-of-scope or unknown id is a `404`, exactly like `getSite`. **Homepage only, by design.** Every surface that sells this sells *homepage* Core Web Vitals. Measuring every URL of every site is a different product. **Collection is asynchronous.** Readings are taken off the request path by a scheduled collector and read back here — a live Lighthouse run would be a 20-second uncached external call on a tab that mounts for every site (CLAUDE.md §2.16). Until a site has been measured, `available` is `false`, every metric is `null` and every band is `unknown`. **`source` must be rendered.** A `lab` reading is a synthetic Lighthouse run; a `field` reading is what real Chrome users experienced (Chrome UX Report) and is what Google ranks on. Field data does not exist for sites below CrUX's traffic threshold — which is most low-traffic sites — so `lab` is the coverage tier. Presenting a lab score as though real users produced it is a false claim about what visitors experienced, so clients must label which one they are showing.
Àwọn ìpìlẹ̀
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
siteId (path) | Uuid | Bẹẹni | Site ID (UUIDv7). |
Idahun
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
available | boolean | Bẹẹni | Whether any vitals reading exists for this site yet. |
url | string | Bẹẹni | The exact URL measured. Empty when unavailable. |
source | string<field, lab, > | Bẹẹni | `field` = Chrome UX Report (real users, what Google ranks on); `lab` = a synthetic Lighthouse run. Clients MUST label which is shown. Empty string when unavailable, following `p… |
field_available | boolean | Bẹẹni | Whether real-user (field) data exists for this site at all, independent of which reading is returned — so the UI can say "no real-user data yet" while still showing the lab number. |
lcp_ms | object | Bẹẹni | Largest Contentful Paint, p75, milliseconds. Good ≤ 2500, poor > 4000. |
cls_milli | object | Bẹẹni | Cumulative Layout Shift, p75, in **thousandths** (0.083 → `83`). An integer so no band comparison is ever made against a float at the 0.1/0.25 boundaries; clients render `cls_mi… |
inp_ms | object | Bẹẹni | Interaction to Next Paint, p75, milliseconds. Good ≤ 200, poor > 500. INP replaced First Input Delay as a Core Web Vital in March 2024; FID is retired and is deliberately not re… |
ttfb_ms | object | Bẹẹni | Time to First Byte — a diagnostic, not a Core Web Vital. |
fcp_ms | object | Bẹẹni | First Contentful Paint — a diagnostic, not a Core Web Vital. |
performance_score | object | Bẹẹni | Lighthouse performance score, 0–100. Always `null` on a `field` reading — the Chrome UX Report computes no score, and inventing one would present a number Google never produced. |
accessibility_score | object | Bẹẹni | Lighthouse accessibility score, 0–100 (docs/85 §2.1). Lighthouse computes all four of its categories from a **single** page load, so this costs about a second on a 10–30 s run —… |
best_practices_score | object | Bẹẹni | Lighthouse best-practices score, 0–100 — mixed content, deprecated APIs, console errors. `null` on a `field` reading. |
seo_score | object | Bẹẹni | Lighthouse SEO score, 0–100. `null` on a `field` reading. |
stack_packs | string[] | Bẹẹni | The technology stacks Lighthouse detected on this run (`wordpress`, `woocommerce`, …). **Ids only.** Lighthouse also ships stack-specific remediation *text*; that is untranslate… |
band | VitalsBand | Bẹẹni | A Core Web Vitals verdict against Google's published p75 thresholds. The overall `band` is the **worst** of the three measured metrics, because that is how Google assesses a pag… |
lcp_band | VitalsBand | Bẹẹni | A Core Web Vitals verdict against Google's published p75 thresholds. The overall `band` is the **worst** of the three measured metrics, because that is how Google assesses a pag… |
cls_band | VitalsBand | Bẹẹni | A Core Web Vitals verdict against Google's published p75 thresholds. The overall `band` is the **worst** of the three measured metrics, because that is how Google assesses a pag… |
inp_band | VitalsBand | Bẹẹni | A Core Web Vitals verdict against Google's published p75 thresholds. The overall `band` is the **worst** of the three measured metrics, because that is how Google assesses a pag… |
measured_at | object | Bẹẹni | — |
opportunities | SiteVitalsOpportunity[] | Bẹẹni | What is actually making this page slow, **largest saving first** — the "why" behind the numbers above. ⚠️ An empty array does **not** mean "nothing to fix". It means this readin… |
screenshots | SiteVitalsScreenshots | Bẹẹni | What the page looked like while it loaded — the filmstrip and the finished render. `available` is reported separately from the parent envelope's flag because a perfectly good me… |
Awọn aṣiṣe ti ibudo ipari yii le da pada
401 · 403 · 404 · 429