{"componentChunkName":"component---src-templates-docs-js","path":"/guides/api-monitoring/multistep-api-checks","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"e1ee9d33-75ea-5677-affb-2c34cd90a3ef","title":"Multistep API Checks","slug":"/guides/api-monitoring/multistep-api-checks","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\": \"Multistep API Checks\",\n  \"date\": \"2026-06-14\",\n  \"metaTitle\": \"Multistep API Checks | API Monitoring | LoadFocus\",\n  \"metaDescription\": \"Run an ordered sequence of HTTP requests in a single check and pass data between steps — step-by-step LoadFocus documentation for cloud load testing, API monitoring, and performance.\",\n  \"order\": 5\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 Multistep API Check Is\"), mdx(\"p\", null, \"A \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Multistep API Check\"), \" runs an \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"ordered sequence of HTTP requests\"), \" as a single check, passing data from earlier responses into later requests. Instead of monitoring one endpoint in isolation, you can reproduce a real workflow \\u2014 for example, log in, capture an authentication token, then call an authenticated endpoint and assert on its response.\"), mdx(\"p\", null, \"This is the right check type whenever a single request can't prove that your API actually works end to end:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Authenticate, extract a token, then call a protected endpoint with it.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Create a resource, capture its \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"id\"), \", then read or delete it.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Chain a search request into a detail request.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Walk a short user journey across several endpoints in order.\")), mdx(\"h2\", null, \"Create a Multistep API Check\"), 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  }, \"Multistep API\"), \" check type.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Give the check a friendly name (used in alerts and reports).\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Add your steps in the order they should run.\")), mdx(\"p\", null, \"For the shared settings \\u2014 frequency, locations, alert channels, activate/mute \\u2014 see \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/guides/api-monitoring/new-api-check\"\n  }, \"How to Create a New API Check\"), \"; a Multistep check uses the same options.\"), mdx(\"h2\", null, \"Add Ordered Steps\"), mdx(\"p\", null, \"Each step is its own HTTP request with:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"An \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"HTTP method\"), \" (GET, POST, PUT, PATCH, DELETE).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"URL\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Headers\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A request \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"body\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"One or more \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"assertions\"), \".\")), mdx(\"p\", null, \"Steps run \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"in order, top to bottom\"), \". The first step runs, then the second, and so on. You can reorder steps as your workflow changes.\"), mdx(\"h2\", null, \"Pass Data Between Steps\"), mdx(\"p\", null, \"The power of a Multistep check is moving data from one response into the next request.\"), mdx(\"h3\", null, \"Extract a value from a step's response\"), mdx(\"p\", null, \"On a step, add an \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"extract rule\"), \" that pulls a value from that step's:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Response \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"body\"), \" (for example, a JSON field such as the access token).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Response \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"header\"), \" (for example, a \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Location\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Set-Cookie\"), \" value).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Response \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"status\"), \".\")), mdx(\"p\", null, \"Store the extracted value in a named variable.\"), mdx(\"h3\", null, \"Reference the variable in a later step\"), mdx(\"p\", null, \"Use a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"{{variable}}\"), \" placeholder anywhere in a later step's \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"URL\"), \", \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"headers\"), \", or \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"body\"), \". At run time LoadFocus substitutes the captured value.\"), mdx(\"p\", null, \"For example, capture a token from step 1 into a variable named \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"token\"), \", then send it in step 2:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"Authorization: Bearer {{token}}\\n\")), mdx(\"p\", null, \"Variables are resolved in step order, so a step can only use values that earlier steps have already extracted.\"), mdx(\"h2\", null, \"Assertions and Pass/Fail\"), mdx(\"p\", null, \"Each step has its own \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"assertions\"), \" (status code, body, headers, response time), exactly like a single API check. The steps combine into one aggregate result:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"If \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"every step passes\"), \", the check passes.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"If \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"a step fails\"), \", the chain \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"stops\"), \" at that step and the whole check is marked failed \\u2014 later steps do not run.\")), mdx(\"p\", null, \"This fail-fast behaviour mirrors a real workflow: if login fails, there's no point calling the authenticated endpoint.\"), mdx(\"h2\", null, \"Per-Step Results in the Report\"), mdx(\"p\", null, \"The check report shows \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"per-step results\"), \" so you can see exactly where a sequence broke: the method and URL of each step, its response time, which assertions passed or failed, and where the chain stopped. This makes it easy to pinpoint whether a failure was in authentication, in the downstream call, or in an assertion.\"), mdx(\"p\", null, \"You can find all your checks on the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://apimonitor.loadfocus.com/apimonitors\"\n  }, \"API Monitors page\"), \".\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#what-a-multistep-api-check-is","title":"What a Multistep API Check Is"},{"url":"#create-a-multistep-api-check","title":"Create a Multistep API Check"},{"url":"#add-ordered-steps","title":"Add Ordered Steps"},{"url":"#pass-data-between-steps","title":"Pass Data Between Steps","items":[{"url":"#extract-a-value-from-a-steps-response","title":"Extract a value from a step's response"},{"url":"#reference-the-variable-in-a-later-step","title":"Reference the variable in a later step"}]},{"url":"#assertions-and-passfail","title":"Assertions and Pass/Fail"},{"url":"#per-step-results-in-the-report","title":"Per-Step Results in the Report"}]},"parent":{"__typename":"File","relativePath":"en/guides/api-monitoring/multistep-api-checks.md"},"frontmatter":{"metaTitle":"Multistep API Checks | API Monitoring | LoadFocus","metaDescription":"Run an ordered sequence of HTTP requests in a single check and pass data between steps — step-by-step LoadFocus documentation for cloud load testing, API monitoring, and performance.","order":5}},"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":"e1ee9d33-75ea-5677-affb-2c34cd90a3ef","locale":"en-GB"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}