The contribution to the variable stack happens in this order:
- Global Vault
- Project Vault
- Test’s global variables
- Test’s input set variables
- Selected environment variables (also referred to as “Overrides”)
- SET components within the test
Global Vault
Project Vault
Test Global
Test Input Set
For example, if you’re testing the /api/product/:id API, the ID is specific to a scenario, so that should be a variable in the input set. The ability to have multiple input sets in a set allows you to run a test against multiple scenarios.
Environment / Overrides
For example if, as a default, the domain variable reflects a production environment, but you occasionally want to run the test against a staging environment, this is where you redefine the variable. Being “environment” the last step prior to test execution, it will win over the default.
Note: as a general rule of thumb, we strongly advocate for not relying on environments for the test to function properly. Tests should be self-sufficient and already be able to run before the environment stage, which should be used to change the value to certain variables, not defining new ones.




You can have multiple ‘IF’ conditions for checking all the possible status codes you need to check. Very useful for creating positive and negative tests.
Headers are also a big part of the response.
Let’s say you want to check that a resource shouldn’t be cached:
Furthermore, you can have the performance of the call verified as well. Here is what it looks like in the CODE view:


In this example, most of the request remains the same, but the ID value is actually replaced with the static string “[id]”, therefore making the calls with this pattern equivalent when browsed in the project dashboard.
And this is just one of the approaches. You’re virtually free to write the footprints that best fit your needs.
Then you need to make a request and use those variables.
As you can see we’re composing the URL using global variables and we reference the variables in the query parameters.
Eventually, you will write your test. This is the simplest API Fortress test, covering the need to verify if an endpoint is up and running and working just fine.
The GET will be performed only if payload does not have a value (yet).
If the test has multiple input sets that you don’t want to run when the payload is being forwarded, invoking the
… to full booking process for multiple flights