Authentication

Every external read endpoint requires:

Authorization: Bearer whale_consumer_xxx

The key belongs to an application, not a person, and cannot be used to sign in to Portal. Whale derives the application identity from the key; clients must not submit or trust a consumer_id.

Key Practices

  • Use separate keys for each environment and integration.
  • Store keys in Key Vault, a secret manager, or protected environment variables.
  • Never place a key in source code, browser code, images, or URL parameters.
  • Rotate by issuing a new key, switching traffic, and then revoking the old key.
  • Logs may contain the key prefix, never the full value.
HTTPcodeMeaningAction
401unauthorizedMissing, invalid, expired, or revoked keyStop retrying and inspect credentials
403entitlement_deniedThe application lacks the requested scopeNarrow the query or request a subscription change
429rate_limit_exceededRPS, burst, or concurrency exceededHonor Retry-After and reduce concurrency
429quota_exceededDaily quota exhaustedWait for the UTC reset or request a quota change