Graphiant · Authentication Profile
Graphiant Authentication
Authentication
Graphiant secures its APIs with apiKey across 1 declared security scheme, as derived from its OpenAPI definitions.
NetworkingNetwork as a ServiceNaaSConnectivitySD-WANCloud NetworkingZero TrustNetwork SecurityData SovereigntyObservabilityInfrastructureAutomation
Methods: apiKey
Schemes: 1
OAuth flows:
API key in: header
Security Schemes
jwtAuth apiKey
· in: header (authorization)
Source
Authentication Profile
generated: '2026-08-01'
method: searched
source: openapi/graphiant-portal-openapi-original.json
docs: https://docs.graphiant.com/docs/graphiant-portal-rest-api
summary:
types: [apiKey]
api_key_in: [header]
oauth2_flows: []
model: opaque bearer token issued by a username/password (or SAML SSO) login endpoint
oauth2: false
openid_connect: false
mutual_tls: false
schemes:
- name: jwtAuth
type: apiKey
in: header
parameter: authorization
value_format: Bearer <token>
description: Use `Bearer <token>` — the token returned by POST /v1/auth/login.
sources: [openapi/graphiant-portal-openapi-original.json]
applied: 'global root security [{jwtAuth: []}]; 512 of 525 operations also declare
an explicit Authorization header parameter'
token:
issuer_endpoint: POST https://api.graphiant.com/v1/auth/login
request_body: {username: string, password: string}
response_body: {auth: boolean, accountType: msp | enterprise | graphiant, token: string}
token_format: opaque, prefixed `gr-auth-` followed by two UUIDs
lifetime_minutes: 30
refresh_endpoint: GET https://api.graphiant.com/v1/auth/refresh
refresh_note: accepts the current OR the just-expired token and returns a new one
revocation_endpoint: POST https://api.graphiant.com/v1/auth/logout
revocation_note: logout immediately invalidates the token; subsequent calls return
errorCode 403 "Invalid Token"
header: 'authorization: Bearer <token>'
login_methods:
- method: local password
endpoint: POST /v1/auth/login
- method: SAML SSO
endpoint: GET /v1/auth/login/saml
docs: https://docs.graphiant.com/docs/sso-setup-using-okta-saml
note: Okta SAML documented as the reference identity provider
- method: MFA
endpoint: POST /v1/auth/mfa
docs: https://docs.graphiant.com/docs/multi-factor-authentification-mfa
note: SMS or Google Authenticator, configured per user in the Graphiant Portal
multi_tenancy:
model: MSP over enterprise tenants
account_types: [msp, enterprise, graphiant]
whoami_endpoint: GET /v1/auth/user
list_tenants_endpoint: GET /v1/enterprises
user_tenants_endpoint: GET /v1/users/{userId}/enterprises
impersonate_endpoint: GET /v1/auth/session?enterpriseId={id}
return_to_root_endpoint: GET /v1/auth/session/root
note: an MSP user must be explicitly associated with a tenant enterprise; MSP admin
status alone does not grant tenant context switching
permission_domains:
note: >-
Graphiant does not implement OAuth scopes. Authorization is a per-user permission
matrix returned by GET /v1/auth/user, each domain carrying a read or read_write
grade. These are the documented domains.
values: [assetManager, networkConfiguration, servicePolicies, safetyAndSecurity,
globalServices, userAndTenantManagement, insights, reports, monitoringAndTroubleshooting,
compliance, logs, developerTools, licensing, billingAndInvoicing, orderStatus,
support, gateway, b2b]
sdk_support:
environment_variable: GRAPHIANT_ACCESS_TOKEN
cli_login: graphiant login (Playwright portal capture) then `source ~/.graphiant/env.sh`
credential_store: ~/.graphiant/credentials.json (named profiles)
caveat: >-
the generated clients warn against setting both Configuration.api_key for jwtAuth
and the per-call `authorization` argument — two Authorization headers cause some
gateways (for example Azure Application Gateway) to return 400.
x-evidence:
fetched: '2026-08-01'
urls:
- https://docs.graphiant.com/docs/graphiant-portal-rest-api
- https://github.com/Graphiant-Inc/graphiant-sdk-python