Authentication and Client Lifecycle
New clients
New API clients use both:
X-Batoi-Client-Idwith the public client identifier.Authorization: Bearer <credential>with the one-time revealed credential.
The credential is bound to the gateway UID, environment, audience, approved scopes, lifecycle status, and optional expiry. A credential for one sandbox gateway cannot be replayed against another gateway or production.
Onboarding lifecycle
- Request or receive a developer invitation.
- Register the application or client and accountable owner.
- Request the minimum operation scopes.
- Receive approval and sandbox access.
- Copy the one-time credential directly into a secrets manager.
- Complete a first sandbox call and retain its correlation identifier.
- Request production promotion only after validation.
- Rotate before expiry and revoke unused or suspected credentials.
Storage guidance
Never place credentials in browser storage, source control, screenshots, documentation, prompts, generated code, logs, or support bundles. Keep credentials in a server-side environment or managed secrets store.
Legacy compatibility
Some existing RAD API consumers may still use JSON-body keys. That contract is compatibility-only, is excluded from new examples, and is subject to measured deprecation. Do not build new integrations with it.