Fasten Health · OAuth Scopes

Fasten Health OAuth Scopes

OAuth 2.0 searched

Fasten Health publishes 5 OAuth 2.0 scopes. Scopes are the fine-grained permissions an application requests at authorization time to act against the Fasten Health API on a user’s behalf.

This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.

HealthcareFHIRPersonal Health RecordElectronic Medical RecordHealth Data InteroperabilityTEFCAEHI ExportPatient ConsentSelf-HostedOpen-SourceHL7Healthcare Connectivity
Scopes: 5 Flows: Method: searched

Scopes (5)

ScopeDescriptionFlows
openid Required OIDC scope for the Fasten Identity PAR request.
profile Required in the fixed `openid profile email` scope string for the PAR request.
email Required in the fixed `openid profile email` scope string for the PAR request.
patient/*.read SMART on FHIR patient-level read scope. Always granted in TEFCA mode; required for a successful EHI export.
patient/Patient.read SMART on FHIR demographics read scope. Named in the `scope_patient_missing` failure reason as an acceptable alternative to patient/*.read; its absence (patient unchecked "Demographics" during consent) causes EHI export to fail.

Source

OAuth Scopes

Raw ↑
generated: '2026-08-14'
method: searched
source: >-
  https://docs.connect.fastenhealth.com/identity-proofing/bring-your-own-identity,
  https://docs.connect.fastenhealth.com/webhooks/events
docs: https://docs.connect.fastenhealth.com/identity-proofing/bring-your-own-identity
note: >-
  The Fasten Connect REST API itself is NOT OAuth-protected — it uses HTTP Basic auth with
  public/private key pairs, and derive-oauth-scopes.py correctly found zero oauth2 security schemes
  in the published OpenAPI. Two genuine OAuth scope surfaces exist alongside it, and both are
  documented rather than specified: the OAuth 2.0 Pushed Authorization Request flow on Fasten's
  identity service, and the SMART on FHIR scopes that the patient's own EHR grants and that Fasten
  reports back on connection events. Neither appears in any machine-readable artifact.
spec_derived: false
spec_derived_note: >-
  derive-oauth-scopes.py over openapi/fasten-health-connect-openapi-original.yml returned
  "providers with oauth2: 0" — there is no oauth2 securityScheme to derive from.

schemes:
  - name: Fasten Identity (Pushed Authorization Request)
    type: oauth2
    source: docs
    status: documented-host-unreachable
    endpoint: POST https://identity.fastenhealth.com/oauth2/par
    client_authentication: HTTP Basic with the Fasten public ID and private key
    request_content_type: application/x-www-form-urlencoded
    applies_to: Bring Your Own Identity (BYOI) TEFCA IAS flow
    standards: [RFC 9126 Pushed Authorization Requests, RFC 8693 Token Exchange, RFC 7523, OpenID Connect Core 1.0]
    parameters:
      - {name: scope, required: true, value: "openid profile email", note: "Documented as a fixed value — must be exactly this."}
      - {name: response_type, required: true, value: code}
      - {name: prompt, required: true, value: consent}
      - {name: redirect_uri, required: true, note: must exactly match a redirect URI registered for your Fasten client}
      - {name: patient_id, required: true, note: your stable, opaque patient identifier}
    response:
      status: 201
      fields: {request_uri: "urn:ietf:params:oauth:request_uri:<uuid>", expires_in: 90}
      note: The request_uri is single-use and expires after 90 seconds.
    jwks: https://identity.fastenhealth.com/jwks.json
    probe:
      checked: '2026-08-14'
      result: >-
        identity.fastenhealth.com does not resolve in public DNS (NXDOMAIN); no anonymous discovery
        document could be fetched from it. Scopes below are taken from the documentation, not from
        a live authorization-server metadata document.

  - name: SMART on FHIR (granted by the patient's EHR)
    type: oauth2
    source: docs
    applies_to: >-
      The downstream authorization between the patient and their healthcare provider's EHR, brokered
      by Fasten. Reported back to the integrator on the patient.connection_success webhook `scope`
      field.
    spec: https://hl7.org/fhir/smart-app-launch/scopes-and-launch-context.html
    note: >-
      Only some EHRs report the granted scope; for those that do not, the field is omitted. In TEFCA
      mode the scope is always present and always `patient/*.read`.

scopes:
  - scope: openid
    description: Required OIDC scope for the Fasten Identity PAR request.
    scheme: Fasten Identity (Pushed Authorization Request)
    required: true
    sources: [https://docs.connect.fastenhealth.com/identity-proofing/bring-your-own-identity]
  - scope: profile
    description: Required in the fixed `openid profile email` scope string for the PAR request.
    scheme: Fasten Identity (Pushed Authorization Request)
    required: true
    sources: [https://docs.connect.fastenhealth.com/identity-proofing/bring-your-own-identity]
  - scope: email
    description: Required in the fixed `openid profile email` scope string for the PAR request.
    scheme: Fasten Identity (Pushed Authorization Request)
    required: true
    sources: [https://docs.connect.fastenhealth.com/identity-proofing/bring-your-own-identity]
  - scope: patient/*.read
    description: >-
      SMART on FHIR patient-level read scope. Always granted in TEFCA mode; required for a
      successful EHI export.
    scheme: SMART on FHIR (granted by the patient's EHR)
    sources: [https://docs.connect.fastenhealth.com/webhooks/events]
  - scope: patient/Patient.read
    description: >-
      SMART on FHIR demographics read scope. Named in the `scope_patient_missing` failure reason as
      an acceptable alternative to patient/*.read; its absence (patient unchecked "Demographics"
      during consent) causes EHI export to fail.
    scheme: SMART on FHIR (granted by the patient's EHR)
    sources: [https://docs.connect.fastenhealth.com/webhooks/events]

gaps:
  - No OAuth authorization-server metadata document is reachable (identity host does not resolve).
  - No scopes or permissions reference page exists; scopes are scattered across guides.
  - The Fasten Connect REST API has no per-scope authorization model — a private key is all-or-nothing.

Work with this as data

Every scope set here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for oauth scopes

4 MCP tools reach this
  • find_scopesBrowse and filter every scope set in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This scope set
curl "https://apis.io/api/v1/scopes/fasten-health-scopes"
All oauth scopes
curl "https://apis.io/api/v1/scopes?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.