Guide

Variables and dimensions

Instead of copying a set of variables per environment, describe the axes your API varies along. More specific vars blocks win.

dimension environment = local, qa, prod
dimension region = eu, us

vars {
  baseUrl = localhost(8080)
  limit = 5
}

vars environment=qa|prod, region=eu {
  baseUrl = "https://api." + environment + ".eu.example.com"
}
stamp run . environment=qa region=eu     # pick values
stamp run . environment=*                # any value
stamp env . environment=qa               # what they resolve to
stamp run . -v limit=100                 # override one variable

In the app: the dimension menus in the toolbar, or the Environment menu. Edit Dimensions… changes the axes, All Combinations… shows every variable for every combination in one table, Reset Session (⇧⌘K) clears values set during runs. The inspector on the right lists what is in effect for the selected request and where each value came from.

The inspector: a menu for each dimension, and every variable in effect with the file it came from
The inspector: a menu for each dimension, and every variable in effect with the file it came from

Back: Requests Next: Secrets