Test and live separation
An application's environment is a disclosure, never a discount.
Every application is registered as either test or live, and every API
key inherits the environment of the application it is bound to (a
reporting-scope key, which is not bound to one application, carries its own
environment instead — see API keys).
environment is disclosure, never a pricing input
This is the one fact to internalize before building anything environment-aware:
A
testapplication charges the authorizing user's standard credit and the owning business's premium money exactly as aliveone does. The marker warns the user that the application is unpublished, not that its calls are free.
There is no simulated mode, no discounted rate, and no separate credit pool
for test. A call made under a test application is billed identically to
one made under a live application. environment exists so the
authorization consent screen can show the user a
visible marker before they grant access to an application that has not been
published — never so your own code can branch on it to skip a charge or use
a cheaper model.
What this means for your integration
- Never gate
providerOptions.enlitt.chargeonenvironment— every premium call declares its real charge regardless of which environment the authenticating key or application belongs to. - Never word a test-environment notice, in your own UI or documentation, as "free," "simulated," or "no charge." If you surface the environment to your own users at all, describe it as unpublished, not free.
- Use
testapplications and keys for integration and staging work where you want a visibly separate application identity — for example, so a mis-scoped key is obviously wrong in your own logs — not as a way to avoid being charged.
Keeping keys and applications aligned
A key created for a live application cannot be used to authenticate calls
you intend to attribute to a test application, and vice versa: the
environment is fixed at creation and is part of the key's own metadata (see
API keys). If your deployment pipeline promotes an
application from test to live, issue it a new live-scoped key rather
than reusing the test one — there is no in-place environment change on an
existing key.