Latitude 10 docs

Secrets

A saved request or a collection variable never holds a credential. Credentials go in Try it's Environment, which stays in the reader's browser. Before every save, update, variable change and import, the server checks the values, whatever the browser already checked, and refuses one that looks like a credential.

What's refused

WhereRefused when
A header or query parameterIts name is an apiKey parameter of a security scheme in your document.
A header or query parameterIts name is authorization, proxy-authorization, cookie or set-cookie, or contains token, secret, password, api-key, apikey or api_key, and it has a value.
A collection variableIts name is one of those, and it has a value.
Any value: a parameter, the body, the server, a server variable or a collection variableIt has the shape of a known secret, below.

The shapes:

Looks likeFor example
A Stripe secret or restricted keysk_live_…, rk_test_…
A GitHub tokenghp_…, gho_…, github_pat_…
A Slack tokenxoxb-…
An AWS access keyAKIA…
A private key-----BEGIN
One of our project or MCP keysl10p_…, l10m_…
A JSON Web TokeneyJ….eyJ….
A bearer or basic credentialBearer or Basic followed by a token
A user or password in a URLhttps://user@…

A plain random-looking string passes, because IDs look like that too.

The answer

A refused save answers 422 with the reason and the field:

{ "error": "X-Api-Key is the API key of the ApiKeyAuth scheme. Credentials are never saved: enter it in Environment, where it stays in your browser.", "field": "header:X-Api-Key" }

Every reason ends “Credentials are never saved: enter it in Environment, where it stays in your browser.” The reason names the field and the rule, never the value.

Where this comes from

  • app/reference/_lib/collections/secrets.ts
  • app/reference/_lib/collections/respond.ts
  • app/reference/_lib/collections/store.ts
  • tests/collections-parity.test.ts