{"componentChunkName":"component---src-templates-docs-js","path":"/guides/api-monitoring/status-page-api","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"75bb804d-bd37-5ec3-a4e2-1cecae2d9b55","title":"Status Page API, RSS Feeds and Status Badge","slug":"/guides/api-monitoring/status-page-api","locale":"en-GB"},"body":"var _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Status Page API, RSS Feeds and Status Badge\",\n  \"date\": \"2026-08-26\",\n  \"metaTitle\": \"Status Page API | How-To | LoadFocus\",\n  \"metaDescription\": \"Read your status page programmatically. Statuspage-compatible /api/v2 JSON, RSS and Atom incident feeds, and an embeddable SVG status badge.\",\n  \"order\": 6\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", null, \"What your status page exposes\"), mdx(\"p\", null, \"Every LoadFocus status page serves machine-readable endpoints alongside the human page. They need no authentication, they are rate limited per IP, and they are cached for 30 seconds.\"), mdx(\"p\", null, \"The JSON endpoints follow the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Statuspage schema\"), \", which is the de-facto shape most dashboards, bots and Slack integrations already speak. If you are moving from Atlassian Statuspage, existing integrations pointed at the new host keep working without code changes.\"), mdx(\"p\", null, \"All paths below are relative to your page: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"https://your-slug.loadfoc.us\"), \", or your own hostname if you have set up a \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/guides/api-monitoring/custom-domain-status-page\"\n  }, \"custom domain\"), \".\"), mdx(\"h2\", null, \"GET /api/v2/status.json\"), mdx(\"p\", null, \"The overall state, and nothing else. Use this for a lightweight poll.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n  \\\"page\\\": {\\n    \\\"id\\\": \\\"8f3c1e02-5b74-4a9d-9e21-6c0af7d3b514\\\",\\n    \\\"name\\\": \\\"Acme Status\\\",\\n    \\\"url\\\": \\\"https://acme.loadfoc.us\\\",\\n    \\\"time_zone\\\": \\\"Etc/UTC\\\",\\n    \\\"updated_at\\\": \\\"2026-08-26T14:05:00.000Z\\\"\\n  },\\n  \\\"status\\\": {\\n    \\\"indicator\\\": \\\"none\\\",\\n    \\\"description\\\": \\\"All Systems Operational\\\"\\n  }\\n}\\n\")), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"indicator\"), \" is one of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"none\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"minor\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"major\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"critical\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"maintenance\"), \".\"), mdx(\"p\", null, \"Note that when the page has no fresh data, the indicator is reported as \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"minor\"), \" rather than \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"none\"), \". A dead worker should never read as confident green over the API.\"), mdx(\"h2\", null, \"GET /api/v2/summary.json\"), mdx(\"p\", null, \"Everything the page shows: overall status, every component, unresolved incidents and upcoming or in-progress maintenance.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n  \\\"page\\\": { \\\"id\\\": \\\"8f3c1e02-5b74-4a9d-9e21-6c0af7d3b514\\\", \\\"name\\\": \\\"Acme Status\\\", \\\"url\\\": \\\"https://acme.loadfoc.us\\\", \\\"time_zone\\\": \\\"Etc/UTC\\\", \\\"updated_at\\\": \\\"2026-08-26T14:05:00.000Z\\\" },\\n  \\\"status\\\": { \\\"indicator\\\": \\\"minor\\\", \\\"description\\\": \\\"Degraded Performance\\\" },\\n  \\\"components\\\": [\\n    {\\n      \\\"id\\\": \\\"api\\\",\\n      \\\"name\\\": \\\"Public API\\\",\\n      \\\"status\\\": \\\"degraded_performance\\\",\\n      \\\"position\\\": 1,\\n      \\\"description\\\": null,\\n      \\\"updated_at\\\": \\\"2026-08-26T14:05:00.000Z\\\"\\n    }\\n  ],\\n  \\\"incidents\\\": [\\n    {\\n      \\\"id\\\": \\\"inc_1a2b\\\",\\n      \\\"name\\\": \\\"Elevated API latency\\\",\\n      \\\"status\\\": \\\"identified\\\",\\n      \\\"impact\\\": \\\"minor\\\",\\n      \\\"created_at\\\": \\\"2026-08-26T13:40:00.000Z\\\",\\n      \\\"updated_at\\\": \\\"2026-08-26T14:02:00.000Z\\\",\\n      \\\"monitoring_at\\\": null,\\n      \\\"resolved_at\\\": null,\\n      \\\"shortlink\\\": \\\"https://acme.loadfoc.us/incidents/inc_1a2b\\\",\\n      \\\"incident_updates\\\": [\\n        { \\\"status\\\": \\\"identified\\\", \\\"body\\\": \\\"A slow query has been identified.\\\", \\\"created_at\\\": \\\"2026-08-26T14:02:00.000Z\\\" }\\n      ]\\n    }\\n  ],\\n  \\\"scheduled_maintenances\\\": [\\n    {\\n      \\\"id\\\": \\\"mnt_9x8y\\\",\\n      \\\"name\\\": \\\"Database upgrade\\\",\\n      \\\"status\\\": \\\"scheduled\\\",\\n      \\\"impact\\\": \\\"maintenance\\\",\\n      \\\"scheduled_for\\\": \\\"2026-08-28T22:00:00.000Z\\\",\\n      \\\"scheduled_until\\\": \\\"2026-08-29T00:00:00.000Z\\\",\\n      \\\"incident_updates\\\": []\\n    }\\n  ]\\n}\\n\")), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"components[].status\"), \" is one of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"operational\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"degraded_performance\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"partial_outage\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"major_outage\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"under_maintenance\"), \".\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"incidents\"), \" contains only \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"unresolved\"), \" incidents, and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"scheduled_maintenances\"), \" only windows that have not finished. Both mirror Statuspage behaviour. For resolved history, use the feeds below.\"), mdx(\"h3\", null, \"Error behaviour\"), mdx(\"p\", null, \"Both JSON endpoints answer \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"HTTP 200 with an empty shape\"), \" if something goes wrong internally, rather than a 5xx. A consumer should therefore treat an empty \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"components\"), \" array as \\\"no data available\\\", not as \\\"no components configured\\\".\"), mdx(\"h2\", null, \"Incident feeds\"), mdx(\"p\", null, \"For readers and bots that follow feeds rather than poll JSON:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"GET /history.rss\"), \" - incident history as RSS\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"GET /history.atom\"), \" - the same as Atom\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"GET /feed.rss\"), \" - an alias of \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"history.rss\"))), mdx(\"p\", null, \"These carry resolved incidents too, so they are the right source for history.\"), mdx(\"h2\", null, \"Status badge\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"GET /badge.svg\"), \" returns an SVG badge reflecting current overall status. It is designed to be embedded in a README or a docs page:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-markdown\"\n  }, \"[![Status](https://acme.loadfoc.us/badge.svg)](https://acme.loadfoc.us)\\n\")), mdx(\"h2\", null, \"Search visibility\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Status pages are indexable by default.\"), \" A page created in the app stores \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"hideFromSearch: false\"), \", so it serves no \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"noindex\"), \", its \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"robots.txt\"), \" returns \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Allow: /\"), \" with a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Sitemap:\"), \" line, and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/sitemap.xml\"), \" lists the page, its incidents and its maintenance history.\"), mdx(\"p\", null, \"To hide a page from search, set \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"hideFromSearch\"), \" to \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"true\"), \" on it. The page then serves \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"<meta name=\\\"robots\\\" content=\\\"noindex,follow\\\">\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"robots.txt\"), \" returns \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Disallow: /\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/sitemap.xml\"), \" returns 404, and the canonical and Open Graph tags are suppressed so the page does not advertise itself. There is no control for this in the editor: set it through the API.\"), mdx(\"h2\", null, \"Related\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/docs/guides/api-monitoring/status-pages\"\n  }, \"Create a Public Status Page for Your Monitors\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/docs/guides/api-monitoring/custom-domain-status-page\"\n  }, \"Add a Custom Domain to Your Status Page\"))));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#what-your-status-page-exposes","title":"What your status page exposes"},{"url":"#get-apiv2statusjson","title":"GET /api/v2/status.json"},{"url":"#get-apiv2summaryjson","title":"GET /api/v2/summary.json","items":[{"url":"#error-behaviour","title":"Error behaviour"}]},{"url":"#incident-feeds","title":"Incident feeds"},{"url":"#status-badge","title":"Status badge"},{"url":"#search-visibility","title":"Search visibility"},{"url":"#related","title":"Related"}]},"parent":{"__typename":"File","relativePath":"en/guides/api-monitoring/status-page-api.md"},"frontmatter":{"metaTitle":"Status Page API | How-To | LoadFocus","metaDescription":"Read your status page programmatically. Statuspage-compatible /api/v2 JSON, RSS and Atom incident feeds, and an embeddable SVG status badge.","order":6,"noindex":null}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/","title":"Welcome to the LoadFocus Documentation"}}},{"node":{"fields":{"slug":"/guides","title":"How-To Guides"}}},{"node":{"fields":{"slug":"/pricing","title":"Pricing FAQs"}}},{"node":{"fields":{"slug":"/knowledge-base","title":"Knowledge Base"}}},{"node":{"fields":{"slug":"/knowledge-base/understanding-declined-card-payments","title":"Why has my card payment been declined?"}}},{"node":{"fields":{"slug":"/knowledge-base/how-to-update-card-details","title":"How to Update Card Details for Failed Payments"}}},{"node":{"fields":{"slug":"/guides/api-monitoring","title":"API Monitoring"}}},{"node":{"fields":{"slug":"/knowledge-base/understanding-differences-between-http-and-https","title":"Differences between HTTP and HTTPS"}}},{"node":{"fields":{"slug":"/knowledge-base/using-3rd-party-tools-to-load-test-website-locally","title":"How to load testing locally hosted website or API"}}},{"node":{"fields":{"slug":"/guides/external-reports","title":"External Reporting"}}},{"node":{"fields":{"slug":"/knowledge-base/using-google-analytics-and-no-requests-while-load-testing","title":"No traffic in Google Analytics while load testing"}}},{"node":{"fields":{"slug":"/knowledge-base/using-query-parameters","title":"How to Use URL Query Parameters"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing","title":"Load Testing with Apache JMeter"}}},{"node":{"fields":{"slug":"/knowledge-base/using-valid-url-endpoints","title":"What is a Valid URL for a Load Test"}}},{"node":{"fields":{"slug":"/knowledge-base/what-is-an-http-method","title":"What is an HTTP request method"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing","title":"k6 Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing","title":"Load Testing"}}},{"node":{"fields":{"slug":"/guides/mcp","title":"AI Assistants (MCP)"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance","title":"Monitor Website Performance"}}},{"node":{"fields":{"slug":"/guides/monitoring-as-code","title":"Monitoring as Code"}}},{"node":{"fields":{"slug":"/guides/onboarding","title":"LoadFocus Onboarding"}}},{"node":{"fields":{"slug":"/guides/openapi-import","title":"Import from OpenAPI / Swagger"}}},{"node":{"fields":{"slug":"/guides/reusable-snippets","title":"Reusable snippets"}}},{"node":{"fields":{"slug":"/guides/setup-teardown-scripts","title":"Setup and teardown scripts"}}},{"node":{"fields":{"slug":"/guides/teams","title":"Teams Management"}}},{"node":{"fields":{"slug":"/guides/external-reports/azure-app-insights-integration","title":"Azure App Insights Integration"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/downloading-jmx-csv-files","title":"Downloading .JMX and .CSV Files in LoadFocus"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/analyzing-k6-test-results","title":"Analyzing k6 Load Test Results"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels","title":"Alert Channels"}}},{"node":{"fields":{"slug":"/guides/external-reports/datadog-integration","title":"Datadog Integration"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/how-to-run-k6-load-test","title":"How to Run a New k6 Load Test"}}},{"node":{"fields":{"slug":"/guides/external-reports/opentelemetry-integration","title":"OpenTelemetry (OTLP) Integration"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/how-to-run-new-apache-jmeter-load-test","title":"How to Run a New Apache JMeter Load Test"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/import-to-jmeter-from-curl-har-postman-openapi","title":"Import cURL, HAR, Postman or OpenAPI to a JMeter Test"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/import-to-k6-from-curl-har-postman-openapi","title":"Import cURL, HAR, Postman or OpenAPI to a k6 Test"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/api-check-results","title":"Understanding API Check Results"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/uploading-k6-scripts","title":"Uploading k6 Scripts and Data Files"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/browser-checks","title":"Browser Checks"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd","title":"Load Testing API Integration"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/check-groups","title":"Check Groups"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-generators-hardware-infrastructure-jmeter","title":"What are the hardware resources allocated to my account for load generators?"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/check-retries-and-alert-thresholds","title":"Check Retries and Alert Thresholds"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/custom-domain-status-page","title":"How to Add a Custom Domain to Your Status Page"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-anomalies","title":"Load Testing Anomalies"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/dashboards","title":"Dashboards"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-engine-health-monitoring","title":"Engine Health Monitoring"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-error-analysis","title":"Error Analysis"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/dns-monitors","title":"DNS Monitors"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-insights","title":"Load Testing Insights"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/heartbeat-monitors","title":"Heartbeat (Cron Job) Monitors"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/incident-management","title":"Incident Management"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-file-analysis","title":"Logs & JTL File Analysis"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/maintenance-windows","title":"Maintenance Windows"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-jmeter-log-file-analysis","title":"JMeter Log File Analysis"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/multistep-api-checks","title":"Multistep API Checks"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-timeline-analysis","title":"Timeline View"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/uploading-jmeter-files-step-by-step-guide","title":"Uploading JMeter Files to LoadFocus: A Step-by-Step Guide"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/using-multiple-csv-files-with-jmeter-engines","title":"Using Multiple CSV Files with JMeter Engines in LoadFocus"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check","title":"How to Create a New API Check"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/snippets","title":"Snippets"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/sla-slo-reports","title":"SLA & SLO Uptime Reports"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/ssl-certificate-monitoring","title":"SSL Certificate Monitoring"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/status-page-api","title":"Status Page API, RSS Feeds and Status Badge"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/status-pages","title":"Create a Public Status Page for Your Monitors"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/synthetic-monitoring","title":"Synthetic Monitoring"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/tcp-monitors","title":"TCP Port Monitors"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/uptime-monitoring","title":"Uptime Monitoring"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/variables","title":"Variables"}}},{"node":{"fields":{"slug":"/guides/load-testing/adding-notes-to-results","title":"Adding Notes to Test Results"}}},{"node":{"fields":{"slug":"/guides/load-testing/ai-credits","title":"AI Credits"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-configuration","title":"Alert Configuration"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-metrics","title":"Alert Metrics"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-competitor-comparison","title":"Core Web Vitals Competitor Comparison"}}},{"node":{"fields":{"slug":"/guides/load-testing/analyzing-load-test-results","title":"How to Check Load Test Results"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-metrics","title":"What are the Core Web Vitals?"}}},{"node":{"fields":{"slug":"/guides/load-testing/authorization-code-grant-type-oauth-2-0","title":"Authorization Code Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/load-testing/baseline-comparison-between-load-tests","title":"Baseline Comparison Between Load Tests"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/getting-started","title":"Getting Started"}}},{"node":{"fields":{"slug":"/guides/load-testing/client-credentials-grant-type-oauth-2-0","title":"Client Credentials Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-create-new-alert","title":"Create a New Alert"}}},{"node":{"fields":{"slug":"/guides/load-testing/common-http-error-codes","title":"Common HTTP Error status codes"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-run-new-website-performance-test","title":"Create New Website Performance Test"}}},{"node":{"fields":{"slug":"/guides/load-testing/crafting-perfect-test-names","title":"Crafting Perfect Test Names"}}},{"node":{"fields":{"slug":"/guides/load-testing/decoding-average-response-times","title":"Decoding Average Response Time"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/http-authentication","title":"HTTP Authentication"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/largest-contentful-paint","title":"Largest Contentful Paint (LCP)"}}},{"node":{"fields":{"slug":"/guides/load-testing/deep-dive-samples-in-load-testing","title":"What are Samples in Load Testing?"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/lighthouse-opportunities","title":"Lighthouse Opportunities"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/pdf-report-branding","title":"Branded PDF Reports"}}},{"node":{"fields":{"slug":"/guides/load-testing/end-time-in-load-testing","title":"Understanding the Significance of 'End Time' in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/demo","title":"Demo"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/performance-budgets","title":"Performance Budgets & Alerts"}}},{"node":{"fields":{"slug":"/guides/load-testing/erros-and-reponse-codes","title":"Errors and Response Codes"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/real-user-field-data","title":"Real-User Field Data (CrUX)"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/sitemap-import","title":"Sitemap Import"}}},{"node":{"fields":{"slug":"/guides/load-testing/getting-started","title":"Getting Started"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/visual-regression-testing","title":"Visual Regression Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/granularity-in-load-test-results-and-charts","title":"Granularity in Load Test Results and Chart Display"}}},{"node":{"fields":{"slug":"/guides/load-testing/group-filter-load-test-results-by-url","title":"Group and Filter Load Test Results by URL"}}},{"node":{"fields":{"slug":"/guides/load-testing/headers-and-manage-presets","title":"Headers and Header Presets"}}},{"node":{"fields":{"slug":"/guides/load-testing/how-to-run-new-load-test","title":"How to Run a New Load Test"}}},{"node":{"fields":{"slug":"/guides/load-testing/geographical-test-location-in-load-testing","title":"Geographical Test Location in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/http-methods-overview-load-testing","title":"HTTP Methods: An Overview"}}},{"node":{"fields":{"slug":"/guides/load-testing/implicit-grant-type-oauth-2-0","title":"Implicit Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/load-testing/load-generators-hardware-infrastructure","title":"What are the hardware resources allocated to my account for load generators?"}}},{"node":{"fields":{"slug":"/guides/load-testing/load-test-result-ai-analysis","title":"Load Testing Results AI Analysis"}}},{"node":{"fields":{"slug":"/guides/load-testing/page-speed-under-load","title":"Page Speed Under Load"}}},{"node":{"fields":{"slug":"/guides/load-testing/password-credentials-grant-type-oauth-2-0","title":"Password Credentials Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/load-testing/page-speed-under-load-trends","title":"Page Speed Under Load Trends"}}},{"node":{"fields":{"slug":"/guides/load-testing/pass-fail-thresholds","title":"Pass/Fail Thresholds"}}},{"node":{"fields":{"slug":"/guides/load-testing/reading-the-capacity-panel","title":"Reading the Capacity Panel"}}},{"node":{"fields":{"slug":"/guides/load-testing/refresh-token-grant-type-oauth-2-0","title":"Refresh Token Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/load-testing/release-tags-and-run-annotations","title":"Release Tags and Run Annotations"}}},{"node":{"fields":{"slug":"/guides/load-testing/how-to-url-query-parameters","title":"Query Parameters"}}},{"node":{"fields":{"slug":"/guides/load-testing/share-load-test-reports","title":"Share Load Test Reports"}}},{"node":{"fields":{"slug":"/guides/load-testing/performance-trend-load-test-results","title":"Performance Trend"}}},{"node":{"fields":{"slug":"/guides/load-testing/scheduled-load-tests","title":"Scheduled Load Tests"}}},{"node":{"fields":{"slug":"/guides/load-testing/start-time-in-load-testing","title":"Understanding the Significance of Start Time in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/using-cookies","title":"Using Cookies"}}},{"node":{"fields":{"slug":"/guides/load-testing/use-cases","title":"Use Cases"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-are-iterations-load-testing","title":"Mastering Iterations in Load Testing: A Deep Dive"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-are-virtual-users-load-testing","title":"What are Virtual Users in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-delay-when-running-a-load-test","title":"What is Delay when running a Load Test?"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-duration-in-load-testing","title":"What is Duration in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-oauth-2-0-authorization","title":"OAuth 2.0 Authorization"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-ramp-up-steps-in-load-testing","title":"What is Ramp Up Steps in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-grant-type","title":"What is a Grant Type?"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-test-run-id","title":"What is a Test Run Id?"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-ramp-up-time-in-load-testing","title":"What is Ramp Up Time in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/white-label-report-branding","title":"Branded PDF Reports"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/discord","title":"Discord Alerts"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/email","title":"Email Alerts"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/microsoft-teams","title":"Microsoft Teams Alerts"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/opsgenie","title":"Opsgenie Alerts"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/pagerduty","title":"PagerDuty Alerts"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/slack","title":"Slack Alerts"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/webhook","title":"Webhook Alerts"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/activate-deactivate","title":"Activate/Deactivate"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/alert-channels","title":"Alert Channels"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/azure-devops","title":"Azure DevOps"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/assertions","title":"Assertions"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/frequency","title":"Frequency"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/github-actions","title":"GitHub Actions"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/circleci","title":"CircleCI"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/friendly-check-name","title":"Friendly Check Name"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/gitlab-ci-cd","title":"GitLab CI/CD"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/locations","title":"Locations"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/mute-unmute","title":"Mute/Unmute"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/overview","title":"Integrating JMeter API Client with CI/CD Pipelines"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/jenkins","title":"Jenkins"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/request-configuration","title":"Request Configuration"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/request-preview","title":"Request Preview"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/retries","title":"Retries Before Alerting"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/response-time-limits","title":"Response Time Limits"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/save-run","title":"Save and Run"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/webhook-channels","title":"Webhook Channel"}}}]}},"pageContext":{"id":"75bb804d-bd37-5ec3-a4e2-1cecae2d9b55","locale":"en-GB"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}