Environments
Test in staging first. Every call uses TLS 1.2 or later.
Bilt offers development access case by case. The account links API sends and returns JSON, except
204 responses, which have no body. The OAuth code exchange uses form data.
Credentials
Treat every credential as a secret. Keys and clients are per environment.
What Bilt gives you
- Two OAuth clients per environment: the IdP client and the partner client.
- An API key, which is being retired.
- A signing key ID for order reports, of the form
bk_<environment>_…. It is not an account links credential. - Confirmation of the environments you use.
- Your
partnerIdslug. It is informational, and no request sends it.
What you give Bilt
- Redirect URIs for staging and production.
- The source IP ranges your account links calls come from, for Bilt’s allowlist.
- Your
whpk_signing public key, or a request for Bilt to generate the pair. - The currencies you report in, and the tender types you accept.
- A technical contact and an escalation path, by email and Slack.
- The optional endpoints you plan to use, such as create and link.
- For the Bilt app flow: your base URLs, the credential Bilt uses, how long you keep idempotency keys, and your normalization rules.
401 and order reports fail the signature check with unknown_key.
Credentials for the endpoints you host
Bilt calls the endpoints you host with a credential you issue. During onboarding, tell your Bilt contact which scheme you support, and send the credential for each environment.- Static bearer token: you issue one token per environment, and Bilt sends it as is.
- OAuth 2.0 client credentials: you give Bilt a client ID, a client secret, and your token URL. Bilt requests a token with the
client_credentialsgrant and sends that token.
Authorization: Bearer <token> on every /bilt/* call. Each environment has its own credential, so a staging credential fails in production.
To rotate a credential, issue a new one and send it to Bilt. Once Bilt confirms the switch, revoke the old one.