{"componentChunkName":"component---src-templates-docs-js","path":"/guides/api-monitoring/new-api-check/webhook-channels","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"33206ba0-e977-5635-8543-2bac47d60049","title":"Webhook Channel","slug":"/guides/api-monitoring/new-api-check/webhook-channels","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\": \"Webhook Channel\",\n  \"date\": \"2026-06-07\",\n  \"metaTitle\": \"Webhook Alert Channel | How-To | LoadFocus\",\n  \"metaDescription\": \"How the LoadFocus webhook alert channel works: JSON payload, events, security, and integration with PagerDuty, Opsgenie, Zapier and your own endpoint.\",\n  \"order\": 12\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, \"Webhook Alert Channel\"), mdx(\"p\", null, \"The webhook channel lets LoadFocus send an HTTP POST with a JSON body to any URL you control whenever a monitored check changes state. It is the most flexible alert channel: anything that accepts an inbound JSON webhook \\u2014 PagerDuty Events API, Opsgenie, Zapier, n8n, Make, or your own service \\u2014 can receive LoadFocus alerts.\"), mdx(\"h3\", null, \"Creating a webhook channel\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Go to \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://loadfocus.com/alert-settings\"\n  }, \"Alert Settings\"), \" and click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"+ New Alert Channel\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Choose \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Webhook\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Give it a \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"name\"), \" (shown in the channel list) and paste the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"HTTPS URL\"), \" that should receive the POST.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Save Configuration\"), \", then enable the channel on any check and pick which events it should receive with the per-channel routing pills.\")), mdx(\"h3\", null, \"When LoadFocus calls your webhook\"), mdx(\"p\", null, \"LoadFocus POSTs to your URL on these events:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Event\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"event\"), \" value\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"When it fires\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Check failed\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"check.failed\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A check transitions into the failed state (assertion failed, error, or timeout).\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Check recovered\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"check.recovered\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A previously-failed check passes again.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Check degraded\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"check.degraded\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Response time crosses the degraded threshold without failing.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"SSL expiry\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"ssl.expiry\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"14, 7 and 3 days before a monitored HTTPS certificate expires, and on the expiry day.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Test\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"test\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"You click the \", mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Test\"), \" button next to the channel.\")))), mdx(\"p\", null, \"Which of these reach a given channel is controlled by the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Fail / Recover / Degraded / SSL\"), \" pills under that channel on the check's edit page. All events are enabled by default.\"), mdx(\"h3\", null, \"Payload\"), mdx(\"p\", null, \"The POST body is \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"application/json\"), \":\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n  \\\"source\\\": \\\"loadfocus\\\",\\n  \\\"event\\\": \\\"check.failed\\\",\\n  \\\"check\\\": {\\n    \\\"id\\\": \\\"75be9e45e858177eea4a18bbdc765472\\\",\\n    \\\"name\\\": \\\"Designerbox\\\",\\n    \\\"url\\\": \\\"https://designerbox.ai\\\"\\n  },\\n  \\\"status\\\": \\\"failed\\\",\\n  \\\"location\\\": \\\"us-east-1\\\",\\n  \\\"timestamp\\\": \\\"2026-06-07T12:00:00.000Z\\\"\\n}\\n\")), mdx(\"p\", null, \"Field reference:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"source\"), \" \\u2014 always \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"loadfocus\"), \". Use it to recognise the sender.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"event\"), \" \\u2014 one of \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"check.failed\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"check.recovered\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"check.degraded\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"ssl.expiry\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"test\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"check.id / check.name / check.url\"), \" \\u2014 the monitor that triggered the alert.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"status\"), \" \\u2014 the check status at send time (\", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"failed\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"passed\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"degraded\"), \", or null for SSL/test).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"location\"), \" \\u2014 the AWS region the check ran from.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"timestamp\"), \" \\u2014 ISO-8601 UTC time of the event.\")), mdx(\"p\", null, \"SSL expiry events add a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"details\"), \" object:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n  \\\"source\\\": \\\"loadfocus\\\",\\n  \\\"event\\\": \\\"ssl.expiry\\\",\\n  \\\"check\\\": { \\\"id\\\": \\\"...\\\", \\\"name\\\": \\\"...\\\", \\\"url\\\": \\\"https://...\\\" },\\n  \\\"status\\\": null,\\n  \\\"location\\\": null,\\n  \\\"timestamp\\\": \\\"2026-06-07T12:00:00.000Z\\\",\\n  \\\"details\\\": { \\\"daysRemaining\\\": 7, \\\"validTo\\\": \\\"Aug 29 23:59:59 2026 GMT\\\" }\\n}\\n\")), mdx(\"h3\", null, \"Security and requirements\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"HTTPS only.\"), \" Webhook URLs must start with \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"https://\"), \". Plain \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"http\"), \" URLs are rejected.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Private addresses are blocked.\"), \" To prevent server-side request forgery, LoadFocus resolves your hostname and refuses to call private, loopback, link-local or carrier-grade-NAT addresses (for example \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"10.0.0.0/8\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"127.0.0.1\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"169.254.0.0/16\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"192.168.0.0/16\"), \"). Your endpoint must be reachable on the public internet.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"No redirects.\"), \" LoadFocus does not follow HTTP redirects on webhook calls \\u2014 point the channel at the final URL.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Timeout.\"), \" Each call times out after 10 seconds. There is no automatic retry, so your receiver should accept and queue the payload quickly.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Verify it works.\"), \" Use the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Test\"), \" button to send a \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"test\"), \" event before relying on the channel. A free service like webhook.site is handy for inspecting the exact payload.\")), mdx(\"h3\", null, \"Integration examples\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"PagerDuty\"), \" \\u2014 point the channel at your Events API v2 integration URL and route only \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"check.failed\"), \" to it (turn off the Recover/Degraded/SSL pills) so it opens incidents on failure.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Opsgenie\"), \" \\u2014 use an inbound API integration URL; map \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"check.failed\"), \" to alert-create and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"check.recovered\"), \" to alert-close in Opsgenie.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Zapier / Make / n8n\"), \" \\u2014 start a workflow from a \\\"Catch Hook\\\" trigger and branch on the \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"event\"), \" field to post to chat, create tickets, or update a status page.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Your own service\"), \" \\u2014 accept the POST, check \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"source === \\\"loadfocus\\\"\"), \", and act on \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"event\"), \".\")), mdx(\"h3\", null, \"Related\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/docs/guides/api-monitoring/new-api-check/alert-channels\"\n  }, \"Alert Channels\"), \" \\u2014 overview of all channel types and per-channel event routing.\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#webhook-alert-channel","title":"Webhook Alert Channel","items":[{"url":"#creating-a-webhook-channel","title":"Creating a webhook channel"},{"url":"#when-loadfocus-calls-your-webhook","title":"When LoadFocus calls your webhook"},{"url":"#payload","title":"Payload"},{"url":"#security-and-requirements","title":"Security and requirements"},{"url":"#integration-examples","title":"Integration examples"},{"url":"#related","title":"Related"}]}]},"parent":{"__typename":"File","relativePath":"en/guides/api-monitoring/new-api-check/webhook-channels.md"},"frontmatter":{"metaTitle":"Webhook Alert Channel | How-To | LoadFocus","metaDescription":"How the LoadFocus webhook alert channel works: JSON payload, events, security, and integration with PagerDuty, Opsgenie, Zapier and your own endpoint.","order":12}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/","title":"Welcome to the New LoadFocus Documentation"}}},{"node":{"fields":{"slug":"/guides","title":"How-To Guides"}}},{"node":{"fields":{"slug":"/knowledge-base","title":"Knowledge Base"}}},{"node":{"fields":{"slug":"/pricing","title":"Pricing FAQs"}}},{"node":{"fields":{"slug":"/knowledge-base/how-to-update-card-details","title":"How to Update Card Details for Failed Payments"}}},{"node":{"fields":{"slug":"/knowledge-base/understanding-declined-card-payments","title":"Why has my card payment been declined?"}}},{"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":"/guides/api-monitoring","title":"API Monitoring"}}},{"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":"/knowledge-base/using-google-analytics-and-no-requests-while-load-testing","title":"No traffic in Google Analytics while load testing"}}},{"node":{"fields":{"slug":"/guides/load-testing","title":"Load Testing"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance","title":"Monitor Website Performance"}}},{"node":{"fields":{"slug":"/guides/teams","title":"Teams Management"}}},{"node":{"fields":{"slug":"/guides/onboarding","title":"LoadFocus Onboarding"}}},{"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/load-testing/ai-credits","title":"AI Credits"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-configuration","title":"Alert Configuration"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/api-check-results","title":"Understanding API Check Results"}}},{"node":{"fields":{"slug":"/guides/external-reports/datadog-integration","title":"Datadog 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/k6-load-testing/how-to-run-k6-load-test","title":"How to Run a New k6 Load Test"}}},{"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/monitor-website-performance/alert-metrics","title":"Alert Metrics"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check","title":"How to Create a New API Check"}}},{"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/jmeter-load-testing/jmeter-integration-ci-cd","title":"Load Testing API Integration"}}},{"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/monitor-website-performance/how-to-create-new-alert","title":"Create a New Alert"}}},{"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/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/jmeter-load-testing/load-testing-anomalies","title":"Load Testing Anomalies"}}},{"node":{"fields":{"slug":"/guides/load-testing/crafting-perfect-test-names","title":"Crafting Perfect Test Names"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/http-authentication","title":"HTTP Authentication"}}},{"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/monitor-website-performance/largest-contentful-paint","title":"Largest Contentful Paint (LCP)"}}},{"node":{"fields":{"slug":"/guides/load-testing/decoding-average-response-times","title":"Decoding Average Response Time"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-insights","title":"Load Testing Insights"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/sitemap-import","title":"Sitemap Import"}}},{"node":{"fields":{"slug":"/guides/load-testing/deep-dive-samples-in-load-testing","title":"What are Samples in Load Testing?"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-file-analysis","title":"Logs & JTL File Analysis"}}},{"node":{"fields":{"slug":"/guides/load-testing/demo","title":"Demo"}}},{"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/jmeter-load-testing/load-testing-jtl-jmeter-log-file-analysis","title":"JMeter Log File Analysis"}}},{"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/load-testing/erros-and-reponse-codes","title":"Errors and Response Codes"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-timeline-analysis","title":"Timeline View"}}},{"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/getting-started","title":"Getting Started"}}},{"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/load-testing/headers-and-manage-presets","title":"Headers and Header Presets"}}},{"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/how-to-run-new-load-test","title":"How to Run a New Load Test"}}},{"node":{"fields":{"slug":"/guides/load-testing/how-to-url-query-parameters","title":"Query Parameters"}}},{"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/refresh-token-grant-type-oauth-2-0","title":"Refresh Token Grant Type in OAuth 2.0"}}},{"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/start-time-in-load-testing","title":"Understanding the Significance of Start Time in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/use-cases","title":"Use Cases"}}},{"node":{"fields":{"slug":"/guides/load-testing/using-cookies","title":"Using Cookies"}}},{"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-grant-type","title":"What is a Grant Type?"}}},{"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-ramp-up-time-in-load-testing","title":"What is Ramp Up Time in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-test-run-id","title":"What is a Test Run Id?"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/activate-deactivate","title":"Activate/Deactivate"}}},{"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/alert-channels","title":"Alert Channels"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/assertions","title":"Assertions"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/circleci","title":"CircleCI"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/github-actions","title":"GitHub Actions"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/friendly-check-name","title":"Friendly Check Name"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/frequency","title":"Frequency"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/locations","title":"Locations"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/gitlab-ci-cd","title":"GitLab CI/CD"}}},{"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/api-monitoring/new-api-check/mute-unmute","title":"Mute/Unmute"}}},{"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/response-time-limits","title":"Response Time Limits"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/webhook-channels","title":"Webhook Channel"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/save-run","title":"Save and Run"}}}]}},"pageContext":{"id":"33206ba0-e977-5635-8543-2bac47d60049","locale":"en-GB"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}