Variable scopes
Variables resolve in this order — later scopes override earlier ones:
- Global variables — available in all collections
- Collection variables — available within a specific collection
- Environment variables — active environment overrides collection variables
- Data file row — per-iteration in Collection Runner and rip (overrides same-named keys for that iteration)
- CLI overrides — --env-var and --global-var in rip
Environment variables
- Open Tools → Environments (Ctrl+Shift+V)
- Select or create an environment; add key/value pairs
- Initial Value — original/default; Current Value — active (may be updated by scripts)
- Reset Values restores current from initial
- Active environment applies to manual sends, Collection Runner, Request Chains, and rip --environment
Secret variables
- Toggle the lock icon when editing to mark API keys and passwords as secret
- Secret variables display as •••••••• in the UI
- Click masked values to edit temporarily
- Function normally in {{variable}} interpolation
- In team workspaces: shared env files store keys and placeholders; local overrides in .ripple/secrets.local.json
Dynamic variables
Postman-compatible dynamic variables generate fresh values on each request:
GET https://api.example.com/users/{{$guid}}
Authorization: Bearer {{apiToken}}
X-Request-ID: {{$randomUUID}}UUIDs & identifiers
- {{$guid}} / {{$randomUUID}} — UUID v4
Numbers & booleans
- {{$randomInt}} — 0–999
- {{$randomFloat}} — float with 2 decimals
- {{$randomBoolean}} — true or false
Timestamps
- {{$timestamp}} — Unix seconds
- {{$isoTimestamp}} — ISO 8601
- {{$unixTimestamp}} — Unix milliseconds
Fake data
- {{$randomFirstName}}, {{$randomLastName}}, {{$randomFullName}}
- {{$randomEmail}}, {{$randomColor}}, {{$randomWord}}, {{$randomWords}}
- {{$randomIP}}, {{$randomPhoneNumber}}
Usage in requests
- Request URLs and query params
- Header names and values
- Request bodies (JSON, form data, raw)
- Chain step configurations
- Auth fields resolved through variables
- rip CLI: same interpolation in URL, headers, params, body, auth
Nunjucks templating
When plain {{variable}} substitution is not enough — conditionals, loops, and filters — use Nunjucks syntax in URLs, headers, and bodies.
- Ripple switches to Nunjucks when a field contains {% %}, filters (|), or {# #} comments
- Plain {{host}} placeholders keep the fast substitution path
- See the Nunjucks guide for filters, {% if %}, {% for %}, and JSON body rules