Independence Blue Cross · Authentication Profile

Independence Blue Cross Authentication

Authentication

Independence Blue Cross secures its APIs with oauth2 across 2 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

HealthcareHealth InsuranceBlue Cross Blue ShieldManaged CareMedicareMedicare AdvantageMedicaidCHIPCommercialDentalVisionBehavioral HealthPharmacy BenefitsInteroperabilityFHIRSMART on FHIRCMSPatient AccessProvider DirectoryDrug FormularyTransparency In Coverage
Methods: oauth2 Schemes: 2 OAuth flows: authorizationCode API key in:

Security Schemes

smart_on_fhir oauth2
· flows: authorizationCode
public none

Source

Authentication Profile

Raw ↑
generated: '2026-08-15'
method: probed
source: >-
  https://eapics.ibx.com/patient/v1/fhir/.well-known/smart-configuration (HTTP 200, live probe 2026-08-15),
  https://eapics.ibx.com/provider/v1/fhir/.well-known/smart-configuration (HTTP 200),
  https://eapics.ibx.com/formulary/v1/fhir/.well-known/smart-configuration (HTTP 200),
  https://www.ibx.com/scripts/custom/swagger/cmsSwagger.json (provider-published Swagger 2.0),
  openapi/_original/independence-blue-cross-patient-openapi.yml,
  https://www.ibx.com/htdocs/custom/tnc/Developer%20Portal%20TandC.pdf
docs: https://www.ibx.com/developer-resources/index.html
previous_method: derived
upgrade_note: >-
  Upgraded from derived to probed. The 2026-07-11 pass read the auth model out of the OpenAPI alone;
  this pass fetched the live SMART App Launch configuration from all three FHIR base paths and
  reconciled it against the provider's own published Swagger description. The endpoints agree, and the
  live documents add the capability set, which the spec does not carry.
summary:
  types:
    - oauth2
  oauth2_flows:
    - authorizationCode
  profile: SMART App Launch 1.0.0
  split_surface: true
  split_note: >-
    Only one of the three Independence Blue Cross APIs is authenticated. Patient Access requires SMART
    on FHIR OAuth 2.0 with member consent; the Provider Directory and Drug Formulary require nothing at
    all. The provider states this plainly in its Swagger info.description: those two APIs "do not
    require authorization to access the data on the server, because customer data is not being shared."
schemes:
  - name: smart_on_fhir
    type: oauth2
    profile: SMART App Launch 1.0.0
    applies_to: Independence Blue Cross Patient Access API
    base: https://eapics.ibx.com/patient/v1/fhir
    token_placement: 'Authorization: Bearer {access_token}'
    flows:
      - flow: authorizationCode
        authorizationUrl: https://member.ibx.com/patientaccesssvc/oauth2/v1/authorize
        tokenUrl: https://eapics.ibx.com/oauth2/v2/token
        pkce: required-for-public-clients
        scopes: 4
        scope_list:
          - launch/patient
          - patient/*.read
          - openid
          - offline_access
    sources:
      - openapi/_original/independence-blue-cross-patient-openapi.yml
      - https://eapics.ibx.com/patient/v1/fhir/.well-known/smart-configuration
    cross_link: scopes/independence-blue-cross-scopes.yml
  - name: public
    type: none
    applies_to:
      - Independence Blue Cross Provider Directory API
      - Independence Blue Cross Drug Formulary API
    bases:
      - https://eapics.ibx.com/provider/v1/fhir
      - https://eapics.ibx.com/formulary/v1/fhir
    evidence: >-
      Provider Swagger info.description; confirmed by openapi/_original/independence-blue-cross-provider-openapi.yml
      and openapi/_original/independence-blue-cross-formulary-openapi.yml declaring no securitySchemes.
smart_configuration:
  discovery_pattern: '{base}/.well-known/smart-configuration'
  probed: '2026-08-15'
  documents:
    - base: https://eapics.ibx.com/patient/v1/fhir
      status: 200
      authorization_endpoint: https://member.ibx.com/patientaccesssvc/oauth2/v1/authorize
      token_endpoint: https://eapics.ibx.com/oauth2/v2/token
      file: well-known/independence-blue-cross-patient-smart-configuration.json
    - base: https://eapics.ibx.com/provider/v1/fhir
      status: 200
      authorization_endpoint: https://member.ibx.com/patientaccesssvc/oauth2/v1/authorize
      token_endpoint: https://eapics.ibx.com/oauth2/v2/token
      file: well-known/independence-blue-cross-provider-smart-configuration.json
    - base: https://eapics.ibx.com/formulary/v1/fhir
      status: 200
      authorization_endpoint: https://member.amerihealth.com/patientaccesssvc/oauth2/v1/authorize
      token_endpoint: https://eapics.amerihealth.com/oauth2/v1/token
      file: well-known/independence-blue-cross-formulary-smart-configuration.json
      deviation: >-
        Cross-brand. This document is served from an ibx.com host but names AmeriHealth authorization
        and token endpoints. AmeriHealth is a sibling payer under the same parent, Independence Health
        Group, Inc., and the two evidently share one FHIR platform. Recorded verbatim as served. It has
        no practical effect because the formulary API is unauthenticated, but a client that blindly
        followed SMART discovery from this base would authenticate against the wrong brand.
  capabilities:
    - client-public
    - sso-openid-connect
    - launch-standalone
    - client-confidential-symmetric
    - context-standalone-patient
    - permission-offline
    - permission-patient
  capability_reading: >-
    client-public plus client-confidential-symmetric means both public (PKCE-protected) and
    confidential (shared-secret) clients are supported. launch-standalone plus
    context-standalone-patient means standalone launch with a single patient context — there is no EHR
    launch. permission-offline confirms refresh tokens via offline_access. permission-patient confirms
    patient/*.* scopes. There is no permission-user and no permission-system, so there is no
    provider-facing or backend-services (SMART Backend Services / client_credentials) surface.
  absent:
    - registration_endpoint      # no dynamic client registration
    - introspection_endpoint
    - revocation_endpoint
    - grant_types_supported
    - scopes_supported
    - code_challenge_methods_supported
  absent_note: >-
    The three documents carry only authorization_endpoint, token_endpoint and capabilities. SMART App
    Launch treats several of the missing fields as recommended, so this is a thin discovery document
    even by its own specification.
token_lifetime:
  published: false
  note: >-
    Neither the smart-configuration documents nor any public page states an access-token lifetime.
    Request offline_access and refresh on a 401 rather than on an assumed expiry.
registration:
  url: https://devportal.ibx.com/cmssignin/
  process: >-
    Register the company and each member-facing application in the developer portal, then activate the
    account. Credentials are issued per registered application. Developer Portal Terms section 3: IBC
    may revoke credentials used with an application or product not registered with IBC.
  support: mailto:AppOnboardingSupport@ibx.com
  gated: true
  gated_note: >-
    devportal.ibx.com renders entirely in JavaScript and returns no readable content to a non-executing
    client, so the post-registration auth documentation could not be read by this pass.
oidc_discovery:
  served: false
  probed:
    - url: https://eapics.ibx.com/.well-known/openid-configuration
      status: 404
    - url: https://eapics.ibx.com/patient/v1/fhir/.well-known/openid-configuration
      status: 404
    - url: https://eapics.ibx.com/.well-known/oauth-authorization-server
      status: 404
    - url: https://eapics.ibx.com/patient/v1/fhir/.well-known/oauth-authorization-server
      status: 404
    - url: https://eapics.ibx.com/patient/v1/fhir/.well-known/oauth-protected-resource
      status: 404
  note: >-
    The sso-openid-connect capability is advertised but no OIDC discovery document and no RFC 8414
    authorization-server metadata is served anywhere. member.ibx.com — which hosts the authorization
    endpoint — returns 403 to every anonymous request, so its metadata could not be probed either.