Innovaccer · Authentication Profile

Innovaccer Authentication

Authentication

Innovaccer declares 5 security scheme(s) across its OpenAPI definitions.

CompanyHealthcareHealth DataFHIRInteroperabilityPopulation HealthArtificial IntelligenceData PlatformDesign SystemMCP
Methods: Schemes: 5 OAuth flows: API key in:

Security Schemes

oauth2
oauth2
openIdConnect
mutualTLS
http
scheme: bearer

Source

Authentication Profile

innovaccer-authentication.yml Raw ↑
generated: '2026-08-15'
method: searched
source: https://github.com/innovaccer/Healthcare-MCP/blob/main/docs/specification/auth.md
docs:
- https://github.com/innovaccer/Healthcare-MCP/blob/main/docs/specification/auth.md
- https://github.com/innovaccer/Healthcare-MCP/blob/main/docs/specification/index.md
- https://github.com/innovaccer/Healthcare-MCP/blob/main/docs/specification/hmcp_auth_vs_mcp_auth.md
- https://github.com/innovaccer/Healthcare-MCP/blob/main/docs/specification/context.md
summary: >-
  Innovaccer publishes no OpenAPI and no anonymous auth reference for the Nucleus /
  Datashop developer platform — that portal's API catalog sits behind a session
  login. The auth profile recorded here is the one Innovaccer DOES publish openly:
  the Healthcare Model Context Protocol (HMCP), its first-party open-source
  extension of MCP, whose specification documents the OAuth 2.0 / OpenID Connect /
  SMART on FHIR authorization model that healthcare agents use to reach an HMCP
  server. Derived from the published specification text, not from a machine-readable
  contract.
applies_to:
  api: Healthcare Model Context Protocol (HMCP)
  repository: https://github.com/innovaccer/Healthcare-MCP
  note: >-
    HMCP is a protocol specification plus a Python reference implementation. There is
    no Innovaccer-hosted public HMCP endpoint to probe; a customer or partner runs an
    HMCP server (or connects to the Innovaccer HMCP Cloud Gateway under contract).
framework: SMART on FHIR (OAuth 2.0 + OpenID Connect)
schemes:
- id: oauth2-authorization-code
  type: oauth2
  flow: authorizationCode
  description: >-
    User-mediated flow. The client calls /authorize with response_type=code,
    client_id, redirect_uri, scope, state and audience/aud set to the HMCP server
    URI, then exchanges the code at /token for a bearer access token.
  parameters:
  - response_type
  - client_id
  - redirect_uri
  - scope
  - state
  - audience
  - aud
  token_response_fields:
  - access_token
  - token_type
  - expires_in
  - scope
  - id_token
  - patient
  pkce: true
  pkce_note: PKCE is named in the HMCP repository description as part of the OAuth 2.0 posture.
- id: oauth2-client-credentials
  type: oauth2
  flow: clientCredentials
  description: >-
    Service-to-service flow with no user involvement. POST /token with
    grant_type=client_credentials, client_id, client_secret and scope. The
    specification recommends pairing it with mTLS.
- id: openid-connect
  type: openIdConnect
  description: >-
    OIDC on top of the authorization-code flow — request the `openid` scope to
    receive an ID token; a UserInfo endpoint supplies additional user attributes.
    Standard claims include SMART on FHIR and healthcare-specific claims.
- id: mutual-tls
  type: mutualTLS
  description: >-
    Mutual TLS is named in the HMCP specification index as one of the two primary
    authentication mechanisms, for secure service-to-service communication.
- id: bearer-token
  type: http
  scheme: bearer
  bearer_format: JWT
  description: >-
    Every HMCP API request carries `Authorization: Bearer ACCESS_TOKEN`. Access
    tokens are JWTs.
token_claims:
  format: JWT
  standard:
  - iss
  - sub
  - aud
  - exp
  - iat
  - scope
  healthcare:
  - patient
  - encounter
  - tenant
  - acr
  - fhirUser
  validation_guidance: >-
    The specification instructs clients and servers to verify all claims including
    audience (aud) and issuer (iss).
patient_context:
  mechanisms:
  - {kind: oauth-scope, detail: "patient/ scope prefix plus launch/patient; token response carries a `patient` (and optionally `encounter`) parameter"}
  - {kind: jwt-claim, detail: "patient/encounter embedded as JWT claims; server enforces context without per-call parameters"}
  - {kind: http-header, detail: "HTTP headers supported for backwards compatibility with systems that do not fully implement SMART on FHIR"}
token_storage_guidance:
- Store access tokens in memory where possible, not in localStorage or cookies
- Use secure OS credential storage in native apps
- Prefer refresh tokens over long-lived access tokens
- Validate tokens on both client and server
gaps:
- >-
  No anonymous /.well-known/openid-configuration or /.well-known/oauth-authorization-server
  is served: nucleus.innovaccer.com 302s those paths to /login (see well-known/innovaccer-well-known.yml).
- >-
  The specification uses placeholder issuer/audience hosts
  (authorization-server.example.com, hmcp-server.example.com); no Innovaccer-operated
  authorization server host is published.
- No auth reference is published for the Nucleus / Datashop platform API itself.