Config Exclusions
By default, every .toml request file inside a folder inherits the headers, params, and variables declared in that folder's collection config (.config.toml / _collection.toml). The exclude_files key lets you opt specific request files out of that inheritance — useful when a particular request needs a completely clean slate or uses a different authentication flow.
The exclude_files Key
Add an exclude_files array to the top level of any collection config file:
# api/api.config.toml
[headers]
Authorization = "Bearer {{access_token}}"
Content-Type = "application/json"
[variables]
api_env = "production"
# These two files will NOT inherit the headers or variables above:
exclude_files = ["public_health.toml", "metrics.toml"]
Any request file whose filename (not full path) appears in exclude_files is silently skipped during config inheritance. It still runs normally — it just receives no headers, params, or variables from that particular config level.
Pattern Matching
exclude_files supports three matching modes:
| Pattern | Matches | Example |
|---|---|---|
| Exact filename | Files whose name exactly equals the pattern | "auth.toml" |
Prefix glob (prefix*) | Files whose name starts with the given prefix | "dev_*" → dev_health.toml, dev_debug.toml |
Suffix glob (*suffix) | Files whose name ends with the given suffix | "*_public.toml" → health_public.toml |
Only single-segment globs are supported (* prefix or suffix). Multi-segment globs like **/*.toml are not matched.
UI — Folder Config Tab
In the Rumour GUI, open a folder's settings panel and navigate to the Config → Exclusions tab. Use the input to add file name patterns one at a time — press Enter or click Add. Each pattern is shown as a dismissible tag.
Clicking Save Config persists the list to _collection.toml under the exclude_files key.
How It Works
When a request file is being loaded, Rumour walks up the directory tree and finds all applicable collection config files. For each config file found, it checks whether the request's file name matches any entry in exclude_files. If it matches, that config layer is skipped entirely — its headers, params, and variables are not merged into the request's inherited settings.
The exclusion is per-config-file. A config at a grandparent level can exclude a file independently of a config at the parent level.
workspace/
├── api.config.toml # exclude_files = ["metrics.toml"]
└── auth/
├── auth.config.toml # exclude_files = [] (no exclusions here)
└── metrics.toml # Skips api.config.toml but inherits auth.config.toml
Example
File Layout
exclusions_example/
├── workspace.env.toml
├── api.config.toml
├── get_users.toml # inherits everything
└── public_health.toml # excluded — gets no shared headers/vars
workspace.env.toml
base_url = "http://localhost:4000/api/v2"
api.config.toml
[headers]
Authorization = "Bearer {{access_token}}"
X-App-Version = "3.0"
[variables]
access_token = "secret_token_123"
# public_health.toml does not need auth headers
exclude_files = ["public_health.toml"]
get_users.toml (inherits normally)
name = "list_users"
[request]
method = "GET"
url = "{{base_url}}/users"
[assert]
status = 200
When run, get_users.toml receives Authorization and X-App-Version from api.config.toml.
public_health.toml (excluded)
name = "health_check"
[request]
method = "GET"
url = "{{base_url}}/health"
[assert]
status = 200
public_health.toml sends no Authorization or X-App-Version headers — it is excluded from api.config.toml's inheritance chain. It still runs and is still part of the workflow; only the config injection is skipped.
Common Use Cases
| Scenario | Exclusion Pattern |
|---|---|
| Health-check / ping endpoints that don't need auth | "health.toml", "*_ping.toml" |
| Public-facing endpoints with a different auth scheme | "*_public.toml" |
| Development/debug requests that override all headers locally | "dev_*" |
| Unauthenticated OAuth token-fetch request | "get_token.toml" |
Comparison: exclude_files vs. skip
| Feature | Purpose |
|---|---|
exclude_files | Prevents config inheritance but the request still runs |
skip = true (in request file) | Prevents the request from running altogether |
Use exclude_files when you want a request to run with its own standalone headers/variables. Use skip when you want to temporarily disable a request.