hosting

GET /v1/sites/{siteId}/vitals/history

Get a site's speed history and change timeline.

تمام hosting اینڈ پوائنٹس

توثيقِ شناخت

ایک API کلید بطور بیر ٹوکن (bearer token) ارسال کریں۔ یہ اینڈ پوائنٹ اسپیسیفیکیشن میں کسی مخصوص اجازت کا ذکر نہیں کرتا، اس لیے فرض کرنے کے بجائے اپنی کلید کو کم از کم درکار اجازت دیں اور رسپانس چیک کریں۔

یہ اینڈ پوائنٹ کوئی آرگنائزیشن آئی ڈی نہیں لیتا۔ آپ کی کلید پہلے ہی اس آرگنائزیشن کی شناخت کرتی ہے جس سے یہ تعلق رکھتی ہے، اور اس کا جواب اسی کے مطابق محدود ہوتا ہے۔

آزمائیں

کوئی بھی چیز جو زاویہ دار قوسین میں ہو اسے اپنی اقدار سے بدلیں، اور کلیدی پلیس ہولڈر کو اپنے ڈیش بورڈ کی کسی کلید سے بدلیں۔

curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/vitals/history \
  -H "Authorization: Bearer zdk_live_…"

لاگ ان ہیں؟ آپ کے ڈیش بورڈ میں موجود API کنسول آپ کی حقیقی تنظیم کی آئی ڈی اور آپ کی اپنی کلید خود بخود پُر کر دیتا ہے، اور لائیو API پر درخواست چلاتا ہے تاکہ آپ اصل ردعمل دیکھ سکیں۔ اس اینڈ پوائنٹ کو API کنسول میں کھولیں

تفصیلات

How the site's speed has moved over time, **and what changed on the site**, on one axis — so a customer can see that activating a plugin cost them 0.4 s rather than having to remember it. **This is the consumer that was missing.** Vitals rows have been kept since #626 with a comment saying they exist "so the Performance tab can show a trend"; nothing ever read them, there was no time-series endpoint, and there was no charting library in the repo. The trend was being stored correctly, for weeks, for nobody. **Two producers, one axis.** `points` are Lighthouse measurements taken off the request path by a scheduled sweep. `events` are what the site reported about itself over a signed webhook (plugin activated, core updated, theme switched, PHP version changed), merged with its successful deploys. Events carry the time they happened **on the site**, so a webhook delivered late still lands beside the score it explains. **`score_delta` is computed here.** Two clients subtracting two nullable columns is two chances to render `-87` for "we did not measure the earlier one". ⚠️ **Cadence.** The sweep measures a fixed number of sites per hour, so on a large estate a site's points can be days apart. A site that reports a change is moved to the front of the next sweep, which is why the timeline — not the sweep — is the primary signal for attributing a regression (docs/85 §4.2). RLS-scoped to a site the caller can view (`sites.view`); an out-of-scope or unknown id is a `404` alike, exactly like `getSite`.

پیرامیٹرز

نامقسملازمییہ کیا ہے
siteId (path)UuidہاںSite ID (UUIDv7).
days (query)integerنہیںHow far back to look. Clamped rather than rejected — this is a cheap read of the caller's own data, so a `422` on `days=0` would be a worse experience than a sensible window, an…

جواب

نامقسملازمییہ کیا ہے
pointsSiteVitalsHistoryPoint[]ہاںOldest → newest, so a chart renders it without reversing. Capped; when a site has more measurements than the cap, the **most recent** are returned — a chart that stopped before…
eventsSiteEvent[]ہاںOldest → newest, on the same axis as `points`.
stack_typestringہاںThe site's configured stack — `static`, `php`, `wordpress`, `woocommerce`, `node`, `one_click`. Decides which advice and which events apply: a static site must never be given Wo…
stack_packsstring[]ہاںWhat the newest lab run detected. Resolves `one_click`, which is a container for "whatever the customer installed" and therefore knows nothing about itself.
opportunitiesSiteVitalsOpportunity[]ہاںThe newest lab run's opportunities. On a customer surface these are the same rows `getSiteVitals` returns; on the staff surface they additionally include `owner: platform` audit…
recommendationSpeedUpRecommendationہاںWhich optimisation tier to lead with for this site, and the evidence for it (docs/85 §7). Before this, the speed-up offer fired on a traffic-light band alone while the platform…

وہ خرابیان جو یہ اینڈ پوائنٹ واپس کر سکتا ہے

401 · 403 · 404 · 429