Both are scoped to a single federated graph — different graphs have their own defaults.
Configuring defaults
1
Open the Playground and select the Headers tab
Under the headers editor, click Set up your default headers.
2
Write the headers as JSON under Graph defaults, My defaults, or both
Each editor holds a JSON object of header names to values, the same shape the Playground’s own
headers tab uses.
3
Check the Effective on new tabs preview
This shows the merged result of both levels — exactly what a new tab will be seeded with.
4
Click Save
Both levels are saved together in a single request.
How the two levels combine
Your personal defaults are layered on top of the graph defaults:- A personal header replaces a graph header with the same name.
- Header names are matched case-insensitively, so a personal
Authorizationoverrides a graphauthorization. - Headers you have only at the graph level are kept as-is.
- Headers you have only in your personal set are added at the end.
When defaults are applied
Defaults are applied when a new tab is created. Tabs you already have open are never modified. This means that after changing your defaults, you need to open a new tab to see them. Your existing tabs keep whatever headers they currently have, so an in-progress request is never disturbed.The headers you type into a tab are stored locally in your browser, not on the server. Default headers are stored with your graph in Cosmo, so they are available on any machine you sign in from.
Clearing defaults
Empty a level’s editor, or set it to{}, and save to clear it. If both levels are empty, new tabs fall back to the built-in default:
Keeping credentials out of graph defaults
If your team needs the same header but each person needs their own value — anAuthorization token, for instance — add it under My defaults. A personal header replaces the graph one with the same name, so the graph level can hold a shared placeholder while each person supplies their own value privately.
Validation
- The contents must parse as JSON, and must be an object rather than an array or a bare value.
- Header names must be valid HTTP tokens.
- Values must be strings, numbers or booleans. A number or boolean is stored as its text, so
{"X-Retries": 3}is saved and redisplayed as{"X-Retries": "3"}. Objects, arrays andnullare rejected. - Within one level, two names cannot differ only by case.
{} both mean the level has no headers.