{"version":1,"pages":[{"id":"-LQZA-l96SJAenWMhzNg","title":"Introduction","pathname":"/","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly Cloud Documentation. Learn how to use Hoverfly Cloud to create and manage virtual services for API simulation and testing"},{"id":"k86rzjzcUW8L917AYEWX","title":"Use cases for API Simulation","pathname":"/use-cases-for-api-simulation","siteSpaceId":"sitesp_xrtCU","description":"Understand how and where Hoverfly Cloud will add value to your development and testing scenarios."},{"id":"-LQZsKAlaAxFrxXp6dCo","title":"Key concepts","pathname":"/key-concepts","siteSpaceId":"sitesp_xrtCU","description":"Understand the core concepts of Hoverfly service virtualization. Learn about services and other key elements for effective API simulations."},{"id":"H2GpPI4ESODSLYRYnTmJ","title":"What's New","pathname":"/whats-new","siteSpaceId":"sitesp_xrtCU","description":"Explore what’s new with the latest Hoverfly releases and features and bug fixes in our changelog and how it impacts your service virtualization."},{"id":"q5dx5tMDpAm9bviv5ZbL","title":"Hoverfly Cloud AI (Preview)","pathname":"/hoverfly-cloud-ai","siteSpaceId":"sitesp_xrtCU","description":"Intelligent, AI‑driven API simulation. Use natural language via the Model Context Protocol (MCP) to discover, generate, and manage simulations and services—directly from your AI assistant."},{"id":"-LQcOU6-7FR9rRiw5-CO","title":"Dashboard","pathname":"/dashboard","siteSpaceId":"sitesp_xrtCU","description":"Access your Hoverfly Cloud dashboard to manage API simulations, create and deploy virtual services, and monitor testing activity."},{"id":"-LQcOVpNM1h6yETEnzyR","title":"Simulation","pathname":"/create-simulations","siteSpaceId":"sitesp_xrtCU","description":"Create API simulations in 4 convenient ways with Hoverfly Cloud and manage those simulations created by you or your team in one place."},{"id":"-Lf-kk8g4uNtcqW24drq","title":"Create simulations","pathname":"/create-simulations/create-simulations","siteSpaceId":"sitesp_xrtCU","description":"Create and manage API simulations with Hoverfly Cloud, capturing real service activity for robust testing.","breadcrumbs":[{"label":"Simulation"}]},{"id":"pmxsPyk63Xppzzi3ZfL7","title":"Configuring Request Matchers","pathname":"/create-simulations/configuring-request-matchers","siteSpaceId":"sitesp_xrtCU","description":"Request Matches are a key concept in Hoverfly. Hoverfly can look for and match on all parts of the incoming request so that it can then respond correctly. This section deals with their configuration.","breadcrumbs":[{"label":"Simulation"}]},{"id":"klBgqKjQoPNsLlxiQtlc","title":"JSON Request Matchers on the Body","pathname":"/create-simulations/configuring-request-matchers/json-request-matchers-on-the-body","siteSpaceId":"sitesp_xrtCU","description":"JSON is the most common data interchange format used for transporting data in web applications. Hoverfly can match the JSON body in incoming requests in order to respond correctly.","breadcrumbs":[{"label":"Simulation"},{"label":"Configuring Request Matchers"}]},{"id":"qkLedFl6YwlRZPHWxlgj","title":"EXACT Matcher","pathname":"/create-simulations/configuring-request-matchers/json-request-matchers-on-the-body/exact-matcher","siteSpaceId":"sitesp_xrtCU","description":"Use the exact matcher in Hoverfly Cloud to precisely match request bodies for API simulation and testing.","breadcrumbs":[{"label":"Simulation"},{"label":"Configuring Request Matchers"},{"label":"JSON Request Matchers on the Body"}]},{"id":"OdM5HqU0a7TSfgdInb3T","title":"JSON Matcher","pathname":"/create-simulations/configuring-request-matchers/json-request-matchers-on-the-body/json-matcher","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly Cloud's JSON Matcher matches exact JSON content, ignoring object order, while referencing exact JSON content - structure and values.","breadcrumbs":[{"label":"Simulation"},{"label":"Configuring Request Matchers"},{"label":"JSON Request Matchers on the Body"}]},{"id":"VN0B1UTDPuF8B0YljDP2","title":"JSON Partial Matcher","pathname":"/create-simulations/configuring-request-matchers/json-request-matchers-on-the-body/json-partial-matcher","siteSpaceId":"sitesp_xrtCU","description":"Use Hoverfly Cloud's JSON partial matcher to match snippets of JSON within request bodies for API simulation and testing.","breadcrumbs":[{"label":"Simulation"},{"label":"Configuring Request Matchers"},{"label":"JSON Request Matchers on the Body"}]},{"id":"KAYQ2Kf3guNEgJnDzKAH","title":"JSONPath Matcher","pathname":"/create-simulations/configuring-request-matchers/json-request-matchers-on-the-body/jsonpath-matcher","siteSpaceId":"sitesp_xrtCU","description":"Use Hoverfly Cloud's JSONPath matcher to test for the existence of JSON elements within request bodies using JSONPath queries.","breadcrumbs":[{"label":"Simulation"},{"label":"Configuring Request Matchers"},{"label":"JSON Request Matchers on the Body"}]},{"id":"Lhkrq8XfQYONtGEtRJIn","title":"Regular Expression Matcher","pathname":"/create-simulations/configuring-request-matchers/json-request-matchers-on-the-body/regular-expression-matcher","siteSpaceId":"sitesp_xrtCU","description":"Use Hoverfly Cloud's regular expression matcher to match JSON structures in request bodies when other matchers are insufficient.","breadcrumbs":[{"label":"Simulation"},{"label":"Configuring Request Matchers"},{"label":"JSON Request Matchers on the Body"}]},{"id":"cZqL2AYPjCZQizgJSUW8","title":"Handling the response when Hoverfly cannot match","pathname":"/create-simulations/configuring-request-matchers/handling-the-response-when-hoverfly-cannot-match","siteSpaceId":"sitesp_xrtCU","description":"Learn how Hoverfly Cloud handles unmatched requests, returning a 502 Bad Gateway with a detailed Hoverfly error in the response body.","breadcrumbs":[{"label":"Simulation"},{"label":"Configuring Request Matchers"}]},{"id":"d1dPacbXzMnE9cgzHYLf","title":"Building a JSON Response","pathname":"/create-simulations/building-a-json-response","siteSpaceId":"sitesp_xrtCU","description":"Use Hoverfly Cloud templating to dynamically build JSON responses based on incoming request data like payload, path, query parameter or headers.","breadcrumbs":[{"label":"Simulation"}]},{"id":"z2AhsiSGvJ2ofiXDhQuV","title":"Using a JSON object from the Request","pathname":"/create-simulations/building-a-json-response/using-a-json-object-from-the-request","siteSpaceId":"sitesp_xrtCU","description":"Learn how to use data from incoming JSON requests to dynamically build responses in Hoverfly Cloud using Handlebars templating.","breadcrumbs":[{"label":"Simulation"},{"label":"Building a JSON Response"}]},{"id":"EhLygYfPaigiNfeujtWH","title":"Looping over a JSON array from the Request","pathname":"/create-simulations/building-a-json-response/looping-over-a-json-array-from-the-request","siteSpaceId":"sitesp_xrtCU","description":"Learn how to use Handlebars templating in Hoverfly Cloud to loop over JSON arrays within requests and dynamically generate responses.","breadcrumbs":[{"label":"Simulation"},{"label":"Building a JSON Response"}]},{"id":"JlD9mChuuKv2dnqc8vio","title":"Simulating Webhooks and Callbacks","pathname":"/create-simulations/simulating-webhooks-and-callbacks","siteSpaceId":"sitesp_xrtCU","description":"Simulate webhooks and callbacks with Hoverfly Cloud to test your application's integration with external services.","breadcrumbs":[{"label":"Simulation"}]},{"id":"ZP2fPZ01yFsReyyIJh5e","title":"Using templating in simulations","pathname":"/create-simulations/using-templating-in-simulations","siteSpaceId":"sitesp_xrtCU","description":"Use templating in Hoverfly Cloud simulations to create dynamic responses based on request data and other variables.","breadcrumbs":[{"label":"Simulation"}]},{"id":"nNK374Pvn6lS6CbxEuW2","title":"Render back any part of the Request","pathname":"/create-simulations/using-templating-in-simulations/render-back-any-part-of-the-request","siteSpaceId":"sitesp_xrtCU","description":"The most basic thing you might want to do is render back in the response some part of the original request. This can be easily achieved using any of the following functions:","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"nn8GZ25tMCl7hjfGqPiM","title":"Render synthetic data","pathname":"/create-simulations/using-templating-in-simulations/render-synthetic-data","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly supports over Faker functions as well as a number of simple data generation functions.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"70WRisglmNVuufYlwbFE","title":"Faker functions","pathname":"/create-simulations/using-templating-in-simulations/faker-functions","siteSpaceId":"sitesp_xrtCU","description":"The following Faker functions are currently supported:","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"a7TX2GwFV34rw2a7fNBe","title":"Render dates and times with offsets","pathname":"/create-simulations/using-templating-in-simulations/render-dates-and-times-with-offsets","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly Cloud has powerful templating features to render the date and time with offsets as required based on the underlying Go programming language.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"IQQjKreVnAIQPIezYaBb","title":"Conditional logic","pathname":"/create-simulations/using-templating-in-simulations/conditional-logic","siteSpaceId":"sitesp_xrtCU","description":"You can control logic within your template using a number of conditional statements including:","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"DMhtpWqJHW69KGbdFk6W","title":"Looping over arrays","pathname":"/create-simulations/using-templating-in-simulations/looping-over-arrays","siteSpaceId":"sitesp_xrtCU","description":"Learn how to loop over arrays in Hoverfly Cloud simulations using templating to dynamically generate responses.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"XBshqKTMncMcxiAuWBa9","title":"Variables and Arrays","pathname":"/create-simulations/using-templating-in-simulations/variables-and-arrays","siteSpaceId":"sitesp_xrtCU","description":"Work with variables and arrays in Hoverfly Cloud simulations using templating to create dynamic and flexible API responses.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"o1kFfuLHf7kzAoxAOyeD","title":"Arithmetic operations","pathname":"/create-simulations/using-templating-in-simulations/arithmetic-operations","siteSpaceId":"sitesp_xrtCU","description":"You can perform simple addition, subtraction, multiplication and division between any two numbers using the following functions.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"mt0XN5IvgjRf1zXPpBMR","title":"String operations","pathname":"/create-simulations/using-templating-in-simulations/string-operations","siteSpaceId":"sitesp_xrtCU","description":"You can use the following helper methods to join, split, replace or perform substring operations on string values.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"1uSUA1R5eJGj0pZcpw7T","title":"Validation operations","pathname":"/create-simulations/using-templating-in-simulations/validation-operations","siteSpaceId":"sitesp_xrtCU","description":"You can use the following helper methods to validate various types, compare value, and perform regular expression matching on strings.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"f8wnRB6TK2SeD2H3nKqR","title":"Simulating a persistent backend","pathname":"/create-simulations/using-templating-in-simulations/simulating-a-persistent-backend","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly Cloud supports two distinct mechanisms for simulating a persistent backend. Data sources, and Journal templating. Both of them depend on templating.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"zpRh6fB79l99IzNGBFlW","title":"Transitioning state between requests","pathname":"/create-simulations/using-templating-in-simulations/transitioning-state-between-requests","siteSpaceId":"sitesp_xrtCU","description":"Manage transitioning state between requests in Hoverfly Cloud simulations using templating for realistic API testing.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"VSAPEtDo4vQZGDo1aXsC","title":"Combining and nesting templating functions","pathname":"/create-simulations/using-templating-in-simulations/combining-and-nesting-templating-functions","siteSpaceId":"sitesp_xrtCU","description":"Combine and nest templating functions in Hoverfly Cloud simulations for complex and dynamic API response generation.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"eRomF6GYVUTSwbl3yApb","title":"Useful helper functions","pathname":"/create-simulations/using-templating-in-simulations/useful-helper-functions","siteSpaceId":"sitesp_xrtCU","description":"Leverage useful helper functions within Hoverfly Cloud's templating engine to simplify and enhance your API simulations.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"h8KPwUknQV59sbeTeiC8","title":"Avoiding HTML encoding in function return values","pathname":"/create-simulations/using-templating-in-simulations/avoiding-html-encoding-in-function-return-values","siteSpaceId":"sitesp_xrtCU","description":"Prevent HTML encoding of function return values in Hoverfly Cloud templating to ensure correct formatting in your API responses.","breadcrumbs":[{"label":"Simulation"},{"label":"Using templating in simulations"}]},{"id":"2ktLVDwGrqEEkOlPcvgh","title":"Using data sources in simulations","pathname":"/create-simulations/using-data-sources-in-simulations","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly Cloud supports CSV data sources for Enterprise customers to do key value data lookups and simulate persistence within simulations.","breadcrumbs":[{"label":"Simulation"}]},{"id":"W0y0bSEI7t5Z2N6Op9yw","title":"Querying data sources","pathname":"/create-simulations/using-data-sources-in-simulations/querying-data-sources","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly Cloud supports data queries from a CSV Data Source for Enterprise customers to do key value data lookups and simulate persistence.","breadcrumbs":[{"label":"Simulation"},{"label":"Using data sources in simulations"}]},{"id":"OZQ6WeFmwE73ybaLYVQe","title":"Updating data in data sources","pathname":"/create-simulations/using-data-sources-in-simulations/updating-data-in-data-sources","siteSpaceId":"sitesp_xrtCU","description":"With Hoverfly Cloud Enterprise you can update data within a CSV data source on the fly just as if your API were updating a real data source.","breadcrumbs":[{"label":"Simulation"},{"label":"Using data sources in simulations"}]},{"id":"5JzgUSZSOVy0ANZ70f9L","title":"Deleting data from data sources","pathname":"/create-simulations/using-data-sources-in-simulations/deleting-data-from-data-sources","siteSpaceId":"sitesp_xrtCU","description":"Delete CSV data source records on-the-fly within simulations with Hoverfly Cloud Enterprise - data is removed temporarily, reverting on restart.","breadcrumbs":[{"label":"Simulation"},{"label":"Using data sources in simulations"}]},{"id":"aTpeeU4MnXm8GCel2C1O","title":"Inserting data into a data source","pathname":"/create-simulations/using-data-sources-in-simulations/inserting-data-into-a-data-source","siteSpaceId":"sitesp_xrtCU","description":"Insert new CSV data rows on-the-fly within simulations with Hoverfly Cloud Enterprise - data is added temporarily, reverting on restart.","breadcrumbs":[{"label":"Simulation"},{"label":"Using data sources in simulations"}]},{"id":"eqiEJPFD2GXWZ1vcL1Fq","title":"Guidance on using the SQL like syntax","pathname":"/create-simulations/using-data-sources-in-simulations/guidance-on-using-the-sql-like-syntax","siteSpaceId":"sitesp_xrtCU","description":"With Hoverfly Cloud Enterprise you can use SQL-like syntax for querying, updating and deleting from in-memory csv data sources.","breadcrumbs":[{"label":"Simulation"},{"label":"Using data sources in simulations"}]},{"id":"n5PQWcinTuWL06QOwyNd","title":"Working with Simulation Files","pathname":"/create-simulations/working-with-simulation-files","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly Cloud stores the configuration of its API simulations in JSON simulation files.","breadcrumbs":[{"label":"Simulation"}]},{"id":"PGkBuQlFv7GdCyLwgP4P","title":"Simulation Naming and Versioning","pathname":"/create-simulations/simulation-naming-and-versioning","siteSpaceId":"sitesp_xrtCU","description":"This guide helps you apply a consistent naming strategy to your simulations in Hoverfly Cloud","breadcrumbs":[{"label":"Simulation"}]},{"id":"-LQcOZgwmeKbRj8LgXB-","title":"Service","pathname":"/work-with-services","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly Cloud simulates HTTP services like web APIs and SOAP, providing API simulations, test doubles, and configurable HTTP stubs."},{"id":"-Lke6h3vB5Brsa6velIh","title":"Start a new service","pathname":"/work-with-services/start-a-new-service","siteSpaceId":"sitesp_xrtCU","description":"Start a new service in Hoverfly Cloud to create and manage API simulations for testing and development of reliable API interactions.","breadcrumbs":[{"label":"Service"}]},{"id":"-LkhDth3iZFHN0o6pbQN","title":"Use a service","pathname":"/work-with-services/use-a-service","siteSpaceId":"sitesp_xrtCU","description":"Use an authenticated service in Hoverfly Cloud. Requests require an API token (create one on the Account page).","breadcrumbs":[{"label":"Service"}]},{"id":"-LkhE2W7wIUy3WxjMKs1","title":"Update a service","pathname":"/work-with-services/update-a-service","siteSpaceId":"sitesp_xrtCU","description":"Update an existing service in Hoverfly Cloud to modify your API simulations, add new functionality, and adapt to evolving testing requirements.","breadcrumbs":[{"label":"Service"}]},{"id":"0QORBbI1GaNBdOd8V4Fv","title":"Configuring Journal Indexing","pathname":"/work-with-services/configuring-journal-indexing","siteSpaceId":"sitesp_xrtCU","description":"This provides the useful illusion of a persistent back-end.","breadcrumbs":[{"label":"Service"}]},{"id":"-Lf73ggnR_PMlK4oaucV","title":"Command line interface","pathname":"/hoverfly-cloud-cli","siteSpaceId":"sitesp_xrtCU","description":"Use the Hoverfly Cloud command-line interface (CLI) to manage your API simulations and virtual services from the terminal."},{"id":"-LRSNPDo7DtDWPQHwI0i","title":"Hoverfly Cloud CLI commands","pathname":"/hoverfly-cloud-cli/hoverfly-cloud-cli","siteSpaceId":"sitesp_xrtCU","description":"Explore the Hoverfly Cloud CLI commands to manage your API simulations and virtual services directly from your command line.","breadcrumbs":[{"label":"Command line interface"}]},{"id":"-LQcOQAybmU8SCAh-RAB","title":"Quickstart","pathname":"/tutorials/quickstart","siteSpaceId":"sitesp_xrtCU","description":"Quickstart guide for Hoverfly Cloud.  Learn how to quickly set up and start using Hoverfly Cloud for API simulation and testing.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"64zbBIMikglkv1HSYZln","title":"Creating simulations and services","pathname":"/tutorials/creating-simulations-and-services","siteSpaceId":"sitesp_xrtCU","description":"There are three main workflows to create new Simulations in Hoverfly Cloud. These tutorials will step you through the basics of each method, from creating the Simulation, to running the Service:","breadcrumbs":[{"label":"Tutorials"}]},{"id":"m3qH9v9E2q3emyvCCRAE","title":"Tutorial 1: Create a service and simulation manually","pathname":"/tutorials/creating-simulations-and-services/tut1","siteSpaceId":"sitesp_xrtCU","description":"In this walkthrough you will create a virtual product API using the editor that exposes two HTTP GET endpoints; one that returns a json product for a given Id, and one that returns a list of products.","breadcrumbs":[{"label":"Tutorials"},{"label":"Creating simulations and services"}]},{"id":"ThckgtntgrethiUXSnEr","title":"Tutorial 2: Create a service and simulation by importing from a Swagger specification","pathname":"/tutorials/creating-simulations-and-services/tut2","siteSpaceId":"sitesp_xrtCU","description":"In this walkthrough you will create a virtual pet store API by uploading a Swagger v2 specification document, that exposes 20 endpoints; of which we will explore 3:","breadcrumbs":[{"label":"Tutorials"},{"label":"Creating simulations and services"}]},{"id":"A5UJes4TBFPS8bj1VW2o","title":"Tutorial 3: Create a service and simulation by capturing real API traffic","pathname":"/tutorials/creating-simulations-and-services/tut3","siteSpaceId":"sitesp_xrtCU","description":"In this walkthrough you will capture then virtualize a currency exchange API which exposes one endpoint that returns currency exchange rate  information.","breadcrumbs":[{"label":"Tutorials"},{"label":"Creating simulations and services"}]},{"id":"WUfTKPrpOT29lpHTr6KF","title":"Response Templating","pathname":"/tutorials/response-templating","siteSpaceId":"sitesp_xrtCU","description":"Learn to uses the various types of response templating to modify the response.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"oqKMVrUTaD0DLKTqOi7U","title":"Tutorial 4: Response Templating","pathname":"/tutorials/response-templating/tut4","siteSpaceId":"sitesp_xrtCU","description":"In this walkthrough you will create a simple API simulation which uses various types of response templating to modify the response.","breadcrumbs":[{"label":"Tutorials"},{"label":"Response Templating"}]},{"id":"cLvxspetEV3J66D6VClz","title":"Hoverfly service modes","pathname":"/tutorials/hoverfly-service-modes","siteSpaceId":"sitesp_xrtCU","description":"Hoverfly Cloud Services can run on 4 different modes, this tutorial will describe each of the modes and when to use them.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"ywv4zGZcudyE8CcTRkKM","title":"Tutorial 5: Simulate, Capture, Spy and Passthrough modes","pathname":"/tutorials/hoverfly-service-modes/tut5","siteSpaceId":"sitesp_xrtCU","description":"In this walkthrough you will work with each of the 4 Hoverfly modes to understand what they are used for.","breadcrumbs":[{"label":"Tutorials"},{"label":"Hoverfly service modes"}]},{"id":"FTfGHh73zsEV5alEoBZm","title":"Automating with the CLI and API","pathname":"/tutorials/automating-with-the-cli-and-api","siteSpaceId":"sitesp_xrtCU","description":"Use the command line interface and the API to automate the creation and configuration of simulated APIs for use in your CI/CD pipelines.","breadcrumbs":[{"label":"Tutorials"}]},{"id":"No8ILugOcZM1hYkp9yF6","title":"Tutorial 6: Using the CLI and the Hoverfly Cloud API","pathname":"/tutorials/automating-with-the-cli-and-api/tut6","siteSpaceId":"sitesp_xrtCU","description":"In this walkthrough you will use the Hoverfly Cloud command line interface, to start a service from the command line. You will then use the Hoverfly Cloud API to modify the behavior of the service.","breadcrumbs":[{"label":"Tutorials"},{"label":"Automating with the CLI and API"}]}]}