Dust Identity · OAuth Scopes

Dust Identity OAuth Scopes

OAuth 2.0 probed

Dust Identity publishes 6 OAuth 2.0 scopes via the authorizationCode, refreshToken, and clientCredentials flows. Scopes are the fine-grained permissions an application requests at authorization time to act against the Dust Identity API on a user’s behalf.

Tokens are issued from https://authd.dustid.io/api/auth/oauth2/token.

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.

AuthenticationIdentitySupply ChainTraceabilityProvenanceAnti-CounterfeitingAsset TrackingAerospace and DefenseManufacturingSecurity
Scopes: 6 Flows: authorizationCode, refreshToken, clientCredentials Method: probed

OAuth endpoints

Authorization URL
https://authd.dustid.io/api/auth/oauth2/authorize
Token URL
https://authd.dustid.io/api/auth/oauth2/token https://authd.dustid.io/api/auth/dust/service-accounts/token
Flows
authorizationCoderefreshTokenclientCredentials

Scopes (6)

ScopeDescriptionFlows
openid Standard OpenID Connect scope — request an ID token. authorizationCode
email Release the `email` and `email_verified` claims. authorizationCode
profile Release the `name`, `picture`, `given_name` and `family_name` claims. authorizationCode
offline_access Issue a refresh token so the client can renew without user interaction. authorizationCode, refreshToken
read:widgets authorizationCode
write:widgets authorizationCode

Source

OAuth Scopes

Raw ↑
generated: '2026-08-12'
method: probed
source: https://authd.dustid.io/.well-known/openid-configuration
docs: https://docs.dustid.io/api/authentication/
note: >-
  The DUST API's own OpenAPI declares a single `Bearer` http/JWT scheme with no oauth2
  block, so the mechanical derivation from the spec found zero scopes. The scope surface
  is instead published by AuthD, the account service, in its OpenID Connect discovery
  document — which is anonymous and was fetched directly. Two facts a consumer needs:
  (1) the DUST API does not perform per-scope authorization on /api/v1/* — authorization
  is evaluated from the Service Account's team memberships and grants, named by the
  Dust-Ctx-Org-Id / Dust-Ctx-Team-Id context headers, not from token scopes; (2) the
  non-OIDC entries in scopes_supported below, `read:widgets` and `write:widgets`, are
  the stock placeholder scopes shipped by the underlying auth library and do not
  correspond to any documented DUST capability. They are recorded verbatim because the
  provider serves them, and flagged because an integrator should not build against them.
schemes:
- name: DUST AuthD OpenID Connect
  source: well-known/dust-identity-openid-configuration.json
  issuer: https://authd.dustid.io/api/auth
  flows:
  - flow: authorizationCode
    authorizationUrl: https://authd.dustid.io/api/auth/oauth2/authorize
    tokenUrl: https://authd.dustid.io/api/auth/oauth2/token
    pkce: [S256]
    response_types: [code]
    response_modes: [query]
  - flow: refreshToken
    tokenUrl: https://authd.dustid.io/api/auth/oauth2/token
  - flow: clientCredentials
    tokenUrl: https://authd.dustid.io/api/auth/dust/service-accounts/token
    source: https://docs.dustid.io/api/authentication/
    note: >-
      The Service Account client_credentials endpoint is documented on the authentication
      page but is not listed in the OIDC discovery document, which advertises only
      authorization_code and refresh_token. This is the grant enterprise middleware
      (SAP Integration Suite, MuleSoft, Boomi) is directed to use.
  token_endpoint_auth_methods: [client_secret_basic, client_secret_post]
  introspection_endpoint: https://authd.dustid.io/api/auth/oauth2/introspect
  revocation_endpoint: https://authd.dustid.io/api/auth/oauth2/revoke
  userinfo_endpoint: https://authd.dustid.io/api/auth/oauth2/userinfo
  jwks_uri: https://authd.dustid.io/api/auth/jwks
  end_session_endpoint: https://authd.dustid.io/api/auth/oauth2/end-session
  id_token_signing_alg: [EdDSA]
scopes:
- scope: openid
  description: Standard OpenID Connect scope — request an ID token.
  flows: [authorizationCode]
  standard: oidc
  sources: [well-known/dust-identity-openid-configuration.json]
- scope: email
  description: Release the `email` and `email_verified` claims.
  flows: [authorizationCode]
  standard: oidc
  sources: [well-known/dust-identity-openid-configuration.json]
- scope: profile
  description: Release the `name`, `picture`, `given_name` and `family_name` claims.
  flows: [authorizationCode]
  standard: oidc
  sources: [well-known/dust-identity-openid-configuration.json]
- scope: offline_access
  description: Issue a refresh token so the client can renew without user interaction.
  flows: [authorizationCode, refreshToken]
  standard: oidc
  sources: [well-known/dust-identity-openid-configuration.json]
- scope: read:widgets
  description: null
  flows: [authorizationCode]
  standard: null
  status: placeholder
  sources: [well-known/dust-identity-openid-configuration.json]
  note: >-
    Advertised in scopes_supported but undocumented and unmapped to any DUST resource.
    "Widgets" is the stock example scope of the auth library; DUST has no widget
    resource. Do not build against it.
- scope: write:widgets
  description: null
  flows: [authorizationCode]
  standard: null
  status: placeholder
  sources: [well-known/dust-identity-openid-configuration.json]
  note: See read:widgets — placeholder scope, not a DUST capability.
claims_supported: [sub, iss, aud, exp, iat, sid, scope, azp, email, email_verified,
  name, picture, family_name, given_name]
acr_values_supported: [urn:mace:incommon:iap:bronze]
prompt_values_supported: [login, consent, create, select_account, none]
authorization_model:
  api_authorization: team-membership
  detail: >-
    /api/v1/* authorization is evaluated for the caller acting in the team named by the
    Dust-Ctx-Team-Id header — what it can list, read and write is that team's own records
    plus whatever has been shared with it. OAuth scopes do not gate DUST API operations.
  see: conventions/dust-identity-conventions.yml
summary:
  scope_count: 6
  oidc_standard_scopes: 4
  dust_specific_scopes: 0
  placeholder_scopes: 2
  api_gated_by_scopes: false