Semble · Authentication Profile

Semble Authentication

Authentication

Semble's public GraphQL API is authenticated with a bearer-style token passed in a custom "x-token" request header. There is no OAuth 2.0 / OIDC surface and no SMART-on-FHIR; access control is expressed through the role assigned to the token when it is created. Two token kinds exist: long-lived API-access tokens generated in the Semble application (Settings > API Access), each bound to a named role that scopes which queries and mutations it may call; and a short-lived session JWT returned by the signIn mutation, valid for 12 hours.

Semble secures its APIs with apiKey across 1 declared security scheme, as derived from its OpenAPI definitions.

HealthcareUnited KingdomEHRPractice ManagementGraphQLPatient RecordsSchedulinge-PrescribingInteroperabilityDigital Health
Methods: apiKey Schemes: 1 OAuth flows: API key in: header

Security Schemes

xToken apiKey
· in: header ()

Source

Authentication Profile

semble-authentication.yml Raw ↑
generated: '2026-07-24'
method: searched
source: https://docs.semble.io/docs/authentication/
docs: https://docs.semble.io/docs/authentication/
description: >-
  Semble's public GraphQL API is authenticated with a bearer-style token passed
  in a custom "x-token" request header. There is no OAuth 2.0 / OIDC surface and
  no SMART-on-FHIR; access control is expressed through the role assigned to the
  token when it is created. Two token kinds exist: long-lived API-access tokens
  generated in the Semble application (Settings > API Access), each bound to a
  named role that scopes which queries and mutations it may call; and a
  short-lived session JWT returned by the signIn mutation, valid for 12 hours.
summary:
  types: [apiKey]
  api_key_in: [header]
  api_key_name: x-token
  oauth2_flows: []
schemes:
  - name: xToken
    type: apiKey
    in: header
    parameter_name: x-token
    description: >-
      Role-scoped access token. Sent on every GraphQL request as the "x-token"
      HTTP header. Value is either a long-lived API-access token minted in the
      Semble app or the 12-hour JWT returned by the signIn mutation.
    sources: [docs.semble.io/docs/authentication]
token_kinds:
  - kind: api-access-token
    obtained_via: Semble application > Settings > API Access > New (name + role)
    lifetime: long-lived until revoked
    scoping: >-
      Role assigned at creation controls which queries/mutations and which
      patient/practice data the token can reach.
  - kind: session-jwt
    obtained_via: signIn mutation (email + password) -> returns JWT
    lifetime: 12 hours
    note: Recommended to sign in at the start of each day.
notes: >-
  Keep tokens secret; they can be revoked in the Semble application. API
  availability depends on the customer's Semble package/role (contact
  support@semble.io to enable).