{"componentChunkName":"component---src-templates-docs-js","path":"/guides/api-monitoring/heartbeat-monitors","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"e9fd3d15-f629-5551-88a1-d7661832b0e6","title":"Heartbeat (Cron Job) Monitors","slug":"/guides/api-monitoring/heartbeat-monitors","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\": \"Heartbeat (Cron Job) Monitors\",\n  \"date\": \"2026-06-14\",\n  \"metaTitle\": \"Heartbeat (Cron Job) Monitors | API Monitoring | LoadFocus\",\n  \"metaDescription\": \"Use a passive heartbeat monitor as a dead man's switch for cron jobs, backups, and scheduled work — step-by-step LoadFocus documentation for cloud load testing, API monitoring, and performance.\",\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 a Heartbeat Monitor Is\"), mdx(\"p\", null, \"A \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Heartbeat monitor\"), \" is a passive \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"dead man's switch\"), \" for work that is supposed to run on a schedule \\u2014 cron jobs, nightly backups, ETL pipelines, queue workers, and similar background tasks. Instead of LoadFocus calling your service, \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"your job calls LoadFocus\"), \" every time it finishes successfully. If the expected ping doesn't arrive in time, the monitor goes \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"DOWN\"), \" and alerts fire.\"), mdx(\"p\", null, \"Unlike active checks, a Heartbeat monitor does \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"not\"), \" probe anything and has \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"no regions\"), \" \\u2014 it simply waits for your job to report in. That makes it ideal for verifying that scheduled work actually ran, not just that an endpoint is reachable.\"), mdx(\"h2\", null, \"How It Works\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"You create a Heartbeat monitor and set an \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"expected ping interval\"), \" and a \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"grace period\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"LoadFocus gives you a unique \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ping URL\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Your job pings that URL on each successful run.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"If a ping arrives within the expected window, the monitor stays \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"UP\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"If no ping arrives within \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"interval + grace period\"), \", the monitor goes \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"DOWN\"), \" and alerts fire.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"The next successful ping \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"recovers\"), \" the monitor back to UP.\")), mdx(\"p\", null, \"All times and intervals are expressed in \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"seconds\"), \".\"), mdx(\"h2\", null, \"Create a Heartbeat Monitor\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Open the \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://apimonitor.loadfocus.com/apimonitors?new=true\"\n  }, \"New API Check page\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Choose the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Heartbeat\"), \" type.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Set the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"expected ping interval\"), \" in seconds \\u2014 how often your job is supposed to report (for example, \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"3600\"), \" for an hourly job).\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Set a \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"grace period\"), \" in seconds \\u2014 the extra slack you allow before declaring the job late (for example, \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"300\"), \").\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Copy the unique \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ping URL\"), \" that LoadFocus generates.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Choose your alert channels and save.\")), mdx(\"h2\", null, \"Ping the URL From Your Job\"), mdx(\"p\", null, \"Have your job call the ping URL after it completes successfully. Any of \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"GET\"), \", \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"POST\"), \", or \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"HEAD\"), \" works.\"), mdx(\"p\", null, \"The simplest way is to append a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"curl\"), \" call to the end of your script or cron entry:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"curl -fsS https://apimonitor.loadfocus.com/heartbeat/<your-ping-id>\\n\")), mdx(\"p\", null, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"-f\"), \" flag makes \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"curl\"), \" fail on HTTP errors, \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"-s\"), \" keeps it quiet, and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"-S\"), \" still surfaces real errors. Run this only on success \\u2014 for example, as the last line of the job \\u2014 so a failed run does not ping and the monitor correctly catches the miss.\"), mdx(\"h2\", null, \"Alerts and Recovery\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"When \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"interval + grace\"), \" elapses with no ping, the monitor flips to \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"DOWN\"), \" and your alert channels are notified.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"When the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"next ping\"), \" arrives, the monitor \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"recovers\"), \" to UP and a recovery notification is sent.\")), mdx(\"p\", null, \"This gives you fast, reliable confirmation that your scheduled work is genuinely running \\u2014 and a clear alert the moment it silently stops.\"), mdx(\"p\", null, \"For active, region-based checks instead, see \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/guides/api-monitoring/new-api-check\"\n  }, \"How to Create a New API Check\"), \".\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#what-a-heartbeat-monitor-is","title":"What a Heartbeat Monitor Is"},{"url":"#how-it-works","title":"How It Works"},{"url":"#create-a-heartbeat-monitor","title":"Create a Heartbeat Monitor"},{"url":"#ping-the-url-from-your-job","title":"Ping the URL From Your Job"},{"url":"#alerts-and-recovery","title":"Alerts and Recovery"}]},"parent":{"__typename":"File","relativePath":"en/guides/api-monitoring/heartbeat-monitors.md"},"frontmatter":{"metaTitle":"Heartbeat (Cron Job) Monitors | API Monitoring | LoadFocus","metaDescription":"Use a passive heartbeat monitor as a dead man's switch for cron jobs, backups, and scheduled work — step-by-step LoadFocus documentation for cloud load testing, API monitoring, and performance.","order":6}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/","title":"Welcome to the New LoadFocus Documentation"}}},{"node":{"fields":{"slug":"/knowledge-base","title":"Knowledge Base"}}},{"node":{"fields":{"slug":"/guides","title":"How-To Guides"}}},{"node":{"fields":{"slug":"/pricing","title":"Pricing FAQs"}}},{"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/load-testing","title":"Load Testing"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing","title":"k6 Load Testing"}}},{"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":"/guides/monitor-website-performance","title":"Monitor Website Performance"}}},{"node":{"fields":{"slug":"/knowledge-base/what-is-an-http-method","title":"What is an HTTP request method"}}},{"node":{"fields":{"slug":"/guides/mcp","title":"AI Assistants (MCP)"}}},{"node":{"fields":{"slug":"/guides/teams","title":"Teams Management"}}},{"node":{"fields":{"slug":"/guides/onboarding","title":"LoadFocus Onboarding"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels","title":"Alert Channels: Discord, PagerDuty & Opsgenie"}}},{"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/external-reports/datadog-integration","title":"Datadog Integration"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-configuration","title":"Alert Configuration"}}},{"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/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/api-monitoring/api-check-results","title":"Understanding API Check Results"}}},{"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/monitor-website-performance/alert-metrics","title":"Alert Metrics"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/check-groups","title":"Check Groups"}}},{"node":{"fields":{"slug":"/guides/load-testing/baseline-comparison-between-load-tests","title":"Baseline Comparison Between Load Tests"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-metrics","title":"What are the Core Web Vitals?"}}},{"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/load-testing/client-credentials-grant-type-oauth-2-0","title":"Client Credentials Grant Type in OAuth 2.0"}}},{"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/api-monitoring/dashboards","title":"Dashboards"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd","title":"Load Testing API Integration"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-competitor-comparison","title":"Core Web Vitals Competitor Comparison"}}},{"node":{"fields":{"slug":"/guides/load-testing/common-http-error-codes","title":"Common HTTP Error status codes"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-anomalies","title":"Load Testing Anomalies"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-create-new-alert","title":"Create a New Alert"}}},{"node":{"fields":{"slug":"/guides/load-testing/crafting-perfect-test-names","title":"Crafting Perfect Test Names"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-run-new-website-performance-test","title":"Create New Website Performance Test"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/getting-started","title":"Getting Started"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/maintenance-windows","title":"Maintenance Windows"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/heartbeat-monitors","title":"Heartbeat (Cron Job) Monitors"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-error-analysis","title":"Error Analysis"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-engine-health-monitoring","title":"Engine Health Monitoring"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/http-authentication","title":"HTTP Authentication"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-insights","title":"Load Testing Insights"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/multistep-api-checks","title":"Multistep API Checks"}}},{"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/monitor-website-performance/lighthouse-opportunities","title":"Lighthouse Opportunities"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/largest-contentful-paint","title":"Largest Contentful Paint (LCP)"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check","title":"How to Create a New API Check"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-jmeter-log-file-analysis","title":"JMeter Log File Analysis"}}},{"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/monitor-website-performance/performance-budgets","title":"Performance Budgets & Alerts"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/status-pages","title":"Create a Public Status Page for Your Monitors"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-timeline-analysis","title":"Timeline View"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/real-user-field-data","title":"Real-User Field Data (CrUX)"}}},{"node":{"fields":{"slug":"/guides/load-testing/decoding-average-response-times","title":"Decoding Average Response Time"}}},{"node":{"fields":{"slug":"/guides/load-testing/geographical-test-location-in-load-testing","title":"Geographical Test Location in Load Testing"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/sitemap-import","title":"Sitemap Import"}}},{"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/api-monitoring/tcp-monitors","title":"TCP Port Monitors"}}},{"node":{"fields":{"slug":"/guides/load-testing/erros-and-reponse-codes","title":"Errors and Response Codes"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/variables","title":"Variables"}}},{"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/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/granularity-in-load-test-results-and-charts","title":"Granularity in Load Test Results and Chart Display"}}},{"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/password-credentials-grant-type-oauth-2-0","title":"Password Credentials Grant Type in OAuth 2.0"}}},{"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/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-is-delay-when-running-a-load-test","title":"What is Delay when running a Load Test?"}}},{"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-duration-in-load-testing","title":"What is Duration in Load Testing"}}},{"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/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-ramp-up-time-in-load-testing","title":"What is Ramp Up Time 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-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/jmeter-load-testing/jmeter-integration-ci-cd/circleci","title":"CircleCI"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/assertions","title":"Assertions"}}},{"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/github-actions","title":"GitHub Actions"}}},{"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/frequency","title":"Frequency"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/jenkins","title":"Jenkins"}}},{"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/overview","title":"Integrating JMeter API Client with CI/CD Pipelines"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/locations","title":"Locations"}}},{"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/mute-unmute","title":"Mute/Unmute"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/request-preview","title":"Request Preview"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/request-configuration","title":"Request Configuration"}}},{"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":"e9fd3d15-f629-5551-88a1-d7661832b0e6","locale":"en-GB"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}