Skip to main content
All Bluum API requests use HTTP Basic Authentication. Your API Key is the username and your API Secret is the password.

How it works

  1. Concatenate your API Key and Secret with a colon: API_KEY:API_SECRET
  2. Base64-encode the result
  3. Send it in the Authorization header as Basic <encoded_value>
curl -X GET 'https://test-service.bluumfinance.com/v1/assets' \
  -H 'Authorization: Basic '$(echo -n 'YOUR_API_KEY:YOUR_API_SECRET' | base64)

Required headers

HeaderRequiredDescription
AuthorizationAlwaysBasic <base64(API_KEY:API_SECRET)>
Content-TypePOST/PUTapplication/json for JSON payloads, multipart/form-data for file uploads
Idempotency-KeyDeposits/WithdrawalsUnique key to prevent duplicate operations on retry

Credentials

You receive separate credentials for each environment:
EnvironmentBase URLHow to get
Sandboxhttps://test-service.bluumfinance.com/v1Dashboard → Settings → API Keys
Productionhttps://service.bluumfinance.com/v1Issued after compliance approval
The API Secret is shown only once when created. Store it immediately in a secret manager. If lost, generate a new key pair.

Security best practices

  • Store credentials in a secret manager (AWS Secrets Manager, HashiCorp Vault, Doppler) — never in code or config files
  • Rotate keys every 90 days
  • Scope credential access to service accounts, not individual developers
  • Use environment variables to switch between sandbox and production
  • Never log or transmit credentials in plaintext

Common authentication errors

Error CodeMeaningResolution
BLUM-401-001Missing Authorization headerInclude Authorization: Basic <credentials>
BLUM-401-002Malformed credentialsVerify Base64 encoding of API_KEY:API_SECRET
BLUM-401-003Invalid API key or secretCheck credentials are correct and not revoked
BLUM-401-004API key inactiveContact support to activate your key