Metabolon · Authentication Profile

Metabolon Authentication

Authentication

Metabolon declares 1 security scheme(s) across its OpenAPI definitions.

CompanyMetabolomicsLife SciencesBioinformaticsMultiomicsBiotechnologyDrug DiscoveryPrecision MedicineMicrobiomeBiomarkersContract ResearchLaboratory
Methods: Schemes: 1 OAuth flows: API key in:

Security Schemes

Auth0 OIDC openIdConnect

Source

Authentication Profile

Raw ↑
generated: '2026-08-25'
method: probed
source: https://auth0.metabolon.com/.well-known/openid-configuration
docs: https://www.metabolon.com/support/portal/data/
note: >-
  The publicly served PortalApi OpenAPI declares NO components.securitySchemes and no top-level security
  requirement, so nothing could be derived from the contract — derive-authentication.py returned zero
  schemes. The auth model below is read from the live OIDC discovery document on Metabolon's own Auth0
  custom domain (auth0.metabolon.com) plus the Auth0 SPA client wired into the portal.metabolon.com React
  bundle. Metabolon publishes no developer authentication documentation; there is no API key programme, no
  self-service credential issuance, and no machine/service-account path documented anywhere public.
summary:
  model: oauth2-oidc
  provider: Auth0 (Metabolon-branded custom domain)
  issuer: https://auth0.metabolon.com/
  legacy_issuer: https://metabolon.auth0.com/
  runtime_credential: Bearer JWT (RS256) presented to the *.prod.metabolon.com services
  self_service: false
  api_keys: false
  mtls: false
  declared_in_spec: false
schemes:
- name: Auth0 OIDC
  type: openIdConnect
  openIdConnectUrl: https://auth0.metabolon.com/.well-known/openid-configuration
  discovery_file: well-known/metabolon-openid-configuration.json
  endpoints:
    authorization: https://auth0.metabolon.com/authorize
    token: https://auth0.metabolon.com/oauth/token
    userinfo: https://auth0.metabolon.com/userinfo
    jwks: https://auth0.metabolon.com/.well-known/jwks.json
    revocation: https://auth0.metabolon.com/oauth/revoke
    registration: https://auth0.metabolon.com/oidc/register
    device_authorization: https://auth0.metabolon.com/oauth/device/code
    mfa_challenge: https://auth0.metabolon.com/mfa/challenge
  grant_types:
  - authorization_code
  - refresh_token
  - client_credentials
  - implicit
  - password
  - urn:ietf:params:oauth:grant-type:device_code
  - urn:ietf:params:oauth:grant-type:token-exchange
  - urn:ietf:params:oauth:grant-type:jwt-bearer
  - http://auth0.com/oauth/grant-type/password-realm
  - http://auth0.com/oauth/grant-type/passwordless/otp
  - http://auth0.com/oauth/grant-type/mfa-oob
  - http://auth0.com/oauth/grant-type/mfa-otp
  - http://auth0.com/oauth/grant-type/mfa-recovery-code
  response_types:
  - code
  - token
  - id_token
  - code token
  - code id_token
  - token id_token
  - code token id_token
  token_endpoint_auth_methods:
  - client_secret_basic
  - client_secret_post
  - private_key_jwt
  - none
  id_token_signing_algs:
  - RS256
  - HS256
  - PS256
  pkce:
    supported: true
    code_challenge_methods:
    - S256
    - plain
  mfa:
    supported: true
    evidence: mfa_challenge_endpoint present plus mfa-oob / mfa-otp / mfa-recovery-code grant types
  backchannel_logout_supported: true
  request_uri_parameter_supported: false
  scopes: scopes/metabolon-scopes.yml
identity_flows:
- name: Portal sign-in
  description: Auth0 SPA authorization-code + PKCE flow initiated from https://portal.metabolon.com/login; the resulting access token is sent as a bearer credential to portal-api.prod.metabolon.com.
  evidence: auth0-spa-js bundled in portal.metabolon.com/static/js/main.63f8c925.js
- name: Pre-user-registration hook
  description: Auth0 Action calls POST /api/v1/auth0/pre-user-registration on the Portal API to gate who may create an account.
  operation: openapi/metabolon-portal-api-openapi.yml#Auth_OnPreUserRegistration
- name: Post-login hook
  description: Auth0 Action calls POST /api/v1/auth0/post-login on the Portal API after successful authentication.
  operation: openapi/metabolon-portal-api-openapi.yml#Auth_OnPostLogin
- name: Salesforce connection verification
  description: GET /api/v1/auth0/verify-salesforce confirms the authenticating user maps to a Salesforce record; unapproved users go through an admin approval queue.
  operation: openapi/metabolon-portal-api-openapi.yml#Auth_VerifySalesforceConnection
- name: Authorized context
  description: GET /api/v1/auth/context returns the caller's resolved roles, permissions and project entitlements (IAuthorizedContext).
  operation: openapi/metabolon-portal-api-openapi.yml#Auth_GetAuthorizedContext
- name: Learning centre authorization
  description: POST /api/v1/auth0/learning-center/authorize brokers access to the TalentLMS learning centre.
  operation: openapi/metabolon-portal-api-openapi.yml#Auth_AuthorizeLearningCenterAccess
- name: Assistant token exchange
  description: POST /api/v1/assistant/token/{tenant} mints a scoped token for the in-portal assistant per tenant.
  operation: openapi/metabolon-portal-api-openapi.yml#Assistant_GetToken
authorization:
  model: role-and-project entitlement
  note: >-
    Authorization is enforced per project, not per scope. A user is granted membership of specific projects
    (UserProject) and named roles carrying permissions from a server-side catalog
    (GET /api/v1/admin/users/roles/permissions/catalog). OAuth scopes on the token are the stock Auth0 OIDC
    profile scopes and carry no API authorization meaning.
  permission_catalog_operation: openapi/metabolon-portal-api-openapi.yml#Users_GetPermissionsCatalog
  role_operations:
  - openapi/metabolon-portal-api-openapi.yml#Users_GetRoles
  - openapi/metabolon-portal-api-openapi.yml#Users_GetRolePermissions
  - openapi/metabolon-portal-api-openapi.yml#Users_AddRolePermission
  - openapi/metabolon-portal-api-openapi.yml#Users_RemoveRolePermission
transport_security:
  tls: TLSv1.3 on every probed host
  hsts: enabled on www.metabolon.com (max-age 31536000); absent on the *.prod.metabolon.com API hosts
  encryption_at_rest: stated on https://www.metabolon.com/support/portal/data/
  source: security/metabolon-domain-security.yml
gaps:
- No securitySchemes are declared in any of the four published OpenAPI documents.
- No public developer authentication documentation, no API key issuance, no documented service-account or client-credentials path for customers.
- The published OpenAPI is served unauthenticated, but every non-health operation it describes requires a portal account.

Work with this as data

Every security artifact 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 security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact 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 security artifact
curl "https://apis.io/api/v1/security/metabolon-authentication"
All security posture
curl "https://apis.io/api/v1/security?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.