hosting
GET /v1/sites/{siteId}/vitals
Get a site's homepage Core Web Vitals.
Πισtoποίηση
Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Αυτό το τελικό σημείο δεν ορίζει μια συγκεκριμένη άδεια στην προδιαγραφή, οπότε δώστε στο κλειδί σας τα ελάχιστα δυνατά δικαιώματα και ελέγξτε την απόκριση αντί να κάνετε υποθέσεις.
Αυτό το τελικό σημείο δεν δέχεται αναγνωριστικό οργανισμού. Το κλειδί σας προσδιορίζει ήδη τον οργανισμό στον οποίο ανήκει, και η απάντηση περιορίζεται σε αυτόν.
Δοκιμάστε το
Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.
curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/vitals \
-H "Authorization: Bearer zdk_live_…"Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API
Λεπτομέρειες
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.
Παράμετροι
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
siteId (path) | Uuid | Ναι | Site ID (UUIDv7). |
Απάντηση
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
available | boolean | Ναι | Whether any vitals reading exists for this site yet. |
url | string | Ναι | The exact URL measured. Empty when unavailable. |
source | string<field, lab, > | Ναι | 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… |
field_available | boolean | Ναι | 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 | Ναι | Largest Contentful Paint, p75, milliseconds. Good ≤ 2500, poor > 4000. |
cls_milli | object | Ναι | 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… |
inp_ms | object | Ναι | 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… |
ttfb_ms | object | Ναι | Time to First Byte — a diagnostic, not a Core Web Vital. |
fcp_ms | object | Ναι | First Contentful Paint — a diagnostic, not a Core Web Vital. |
performance_score | object | Ναι | 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 | Ναι | 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 | Ναι | Lighthouse best-practices score, 0–100 — mixed content, deprecated APIs, console errors. null on a field reading. |
seo_score | object | Ναι | Lighthouse SEO score, 0–100. null on a field reading. |
stack_packs | string[] | Ναι | The technology stacks Lighthouse detected on this run (wordpress, woocommerce, …). Ids only. Lighthouse also ships stack-specific remediation text; that is untranslated… |
band | VitalsBand | Ναι | 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 page:… |
lcp_band | VitalsBand | Ναι | 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 page:… |
cls_band | VitalsBand | Ναι | 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 page:… |
inp_band | VitalsBand | Ναι | 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 page:… |
measured_at | object | Ναι | — |
opportunities | SiteVitalsOpportunity[] | Ναι | 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 reading… |
screenshots | SiteVitalsScreenshots | Ναι | 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… |
Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο
401 · 403 · 404 · 429