Commerce CensusContactRequest access

Authentication

Every request carries a bearer token. Keys are environment-scoped and permission-scoped, and they are rotatable without downtime because two keys can be live at once.

Headers
Authorization: Bearer cc_live_7f2a…

Environments

PrefixEnvironmentBehaviour
cc_test_TestFixed fixture data. Deterministic, free, safe in CI.
cc_live_LiveReal index. Metered.

Scopes

A key carries only the scopes you grant it. A repricing worker that reads offers should not hold a key that can delete memory namespaces.

ScopeGrants
read:catalogsearch, resolve, products, offers
read:historyhistory, context, forecast
write:watchescreate and delete watches
write:memorywrite, recall and forget memory
read:exportbulk exports

Rotation

Create the new key, deploy it, then revoke the old one. Both are valid in between, so rotation never requires a maintenance window. Keys are shown once at creation and stored hashed.

Never ship a live key to a browser

A key in client-side JavaScript is a public key. If you need browser access, proxy through your own backend, or issue a short-lived scoped token from your server.