b.well · Authentication Profile

B Well Authentication

Authentication

b.well secures its APIs with oauth2 and apiKey across 7 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the clientCredentials and tokenExchange flow(s).

CompanyHealthHealthcareDigital HealthFHIRHealth DataInteroperabilityPatient AccessHealth RecordsModel Context Protocol
Methods: oauth2, apiKey Schemes: 7 OAuth flows: clientCredentials, tokenExchange API key in: header

Security Schemes

HMACAuth apiKey
· in: header (Authorization)
HMACContentSHA512 apiKey
· in: header (x-bwell-content-sha512)
HMACHost apiKey
· in: header (Host)
HMACDate apiKey
· in: header (x-bwell-date)
HMACClientUserToken apiKey
· in: header (x-bwell-client-user-token)
HMACClientKey apiKey
· in: header (x-bwell-client-key)
BearerToken http
scheme: bearer

Source

Authentication Profile

Raw ↑
generated: '2026-08-06'
method: searched
source: openapi/b-well-user-data-operations-openapi.json
docs: https://developer.bwell.com/docs/auth-overview
notes: >-
  b.well uses OAuth 2.0 for authentication and scope-based authorization across all
  APIs and services, in two patterns: token exchange with OIDC for end-user context,
  and client credentials for system context. The published User Data Operations REST
  API additionally requires HMAC-SHA512 request signing over a canonical set of
  b.well headers, which is what the derived scheme list below captures. The FHIR
  hosts publish an anonymous SMART-on-FHIR configuration document naming the real
  authorization, token, revocation, userinfo and JWKS endpoints (AWS Cognito).
summary:
  types:
  - oauth2
  - apiKey
  api_key_in:
  - header
  oauth2_flows:
  - clientCredentials
  - tokenExchange
patterns:
- name: End-User Authentication
  model: OAuth 2.0 Token Exchange with OpenID Connect
  docs: https://developer.bwell.com/docs/end-user-auth
  description: >-
    Users authenticate through the integrating application's own Identity Provider.
    b.well exchanges that OIDC ID token for a b.well access token, preserving user
    identity across systems and enabling SSO. Used by the Web/Kotlin/Swift SDKs, the
    Application APIs (GraphQL + REST), and every MCP tool call.
  example: https://developer.bwell.com/docs/oauth-token-exchange
  refresh: https://developer.bwell.com/docs/example-token-refresh
- name: System Authentication
  model: OAuth 2.0 Client Credentials (RFC 6749 §4.4)
  docs: https://developer.bwell.com/docs/system-auth
  description: >-
    Server-to-server access without user context, for bulk FHIR operations, analytics
    and data synchronization. Client ID and secret are exchanged at POST
    {base_url}/oauth2/token for a system-scoped bearer token; typical lifetime 3600s.
  token_endpoint_pattern: '{fhir_base_url}/oauth2/token'
  bearer_header: 'Authorization: Bearer {access_token}'
- name: HMAC request signing
  model: HMAC-SHA512 over canonical b.well headers
  applies_to: openapi/b-well-user-data-operations-openapi.json
  signed_headers:
  - x-bwell-date
  - host
  - x-bwell-client-user-token
  - x-bwell-client-key
  - x-bwell-content-sha512
  authorization_header_form: 'HMAC-SHA512 SignedHeaders=x-bwell-date;host;x-bwell-client-user-token;x-bwell-client-key;x-bwell-content-sha512&Signature=<hmac-sha512-signature>'
smart_configuration:
  production:
    file: well-known/b-well-smart-configuration.json
    source: https://fhir.icanbwell.com/.well-known/smart-configuration
    issuer: https://cognito-idp.us-east-1.amazonaws.com/us-east-1_Y8fODO5Z7
    authorization_endpoint: https://fhir-bwell.auth.us-east-1.amazoncognito.com/oauth2/authorize
    token_endpoint: https://fhir-bwell.auth.us-east-1.amazoncognito.com/oauth2/token
    revocation_endpoint: https://fhir-bwell.auth.us-east-1.amazoncognito.com/oauth2/revoke
    userinfo_endpoint: https://fhir-bwell.auth.us-east-1.amazoncognito.com/oauth2/userInfo
    jwks_uri: https://cognito-idp.us-east-1.amazonaws.com/us-east-1_Y8fODO5Z7/.well-known/jwks.json
    token_endpoint_auth_methods_supported: [client_secret_basic, client_secret_post]
    id_token_signing_alg_values_supported: [RS256]
    response_types_supported: [code, token]
  sandbox:
    file: well-known/b-well-smart-configuration-sandbox.json
    source: https://fhir.client-sandbox.icanbwell.com/.well-known/smart-configuration
    issuer: https://cognito-idp.us-east-1.amazonaws.com/us-east-1_yiNhNGXZ7
schemes:
- name: HMACAuth
  type: apiKey
  in: header
  parameter: Authorization
  description: HMAC-SHA512 signature over the canonical signed-header set; the signature
    is carried in the Authorization header.
  sources:
  - openapi/b-well-user-data-operations-openapi.json
- name: HMACContentSHA512
  type: apiKey
  in: header
  parameter: x-bwell-content-sha512
  description: The Base64 encoded SHA512 hash of request content.
  sources:
  - openapi/b-well-user-data-operations-openapi.json
- name: HMACHost
  type: apiKey
  in: header
  parameter: Host
  description: The DNS Host associated with the request.
  sources:
  - openapi/b-well-user-data-operations-openapi.json
- name: HMACDate
  type: apiKey
  in: header
  parameter: x-bwell-date
  description: UTC Timestamp in RFC1123 format.
  sources:
  - openapi/b-well-user-data-operations-openapi.json
- name: HMACClientUserToken
  type: apiKey
  in: header
  parameter: x-bwell-client-user-token
  description: Client specific user authentication token.
  sources:
  - openapi/b-well-user-data-operations-openapi.json
- name: HMACClientKey
  type: apiKey
  in: header
  parameter: x-bwell-client-key
  description: Client key. Provided to the client by b.well.
  sources:
  - openapi/b-well-user-data-operations-openapi.json
- name: BearerToken
  type: http
  scheme: bearer
  description: b.well access token used on the Application APIs, the FHIR Server and
    the MCP server.
  sources:
  - https://developer.bwell.com/docs/system-auth
  - https://developer.bwell.com/docs/mcp-anthropic