OAuth Presets

GET /v1/oauth/presets

Static catalog of canonical OAuth/OIDC configurations for popular providers — Google, GitHub, Microsoft (Azure AD / Entra), Okta, Auth0. Use this to pre-fill the auth_url, token_url, user_info_url and default scopes when adding a provider via POST /v1/endpoints/{uuid}/oauth/providers.

Read-only — these values come from the platform's hard-coded preset list and are updated when a provider rotates a URL upstream. The list has five presets: google, github, azure (Azure AD / Microsoft, using the multi-tenant common endpoints), okta and auth0. Okta and Auth0 URLs live on your own tenant's domain, so their presets carry only the name and scopes — the three URLs are empty strings and you supply them from your tenant. Custom OIDC providers (anything not in the preset list) need provider_type: "custom" with manually-supplied URLs.

Response (200 OK)

JSON object keyed by provider slug (e.g. google, github) — not an array. Each value is a preset object. NOTE: the preset struct has no JSON field tags, so its keys are PascalCase. Copy these values into the corresponding snake_case fields of the create call.

<slug> object
Top-level keys are provider slugs. Pass the slug as provider_type when creating a provider.
Type string
Provider type slug (matches the top-level key).
Name string
Suggested display label.
AuthURL, TokenURL, UserInfoURL string
OAuth/OIDC endpoints to copy into the create call (auth_url, token_url, user_info_url). Always present; empty strings for okta and auth0, whose URLs depend on your tenant.
Scopes string[]
Recommended OAuth scopes (array of strings). The create call takes them comma-separated (openid,email,profile).
Request
curl "https://api.ngris.com/v1/oauth/presets" \ -H "X-API-KEY: <your_api_key>"
Python
from ngris import Ngris client = Ngris(api_key="<your_api_key>") presets = client._get_raw("/oauth/presets") # Response is a JSON object keyed by provider slug, not a list. for slug, p in presets.items(): print(f"{slug}: {p['Name']}")
Response — 200 OK
{ "google": { "Type": "google", "Name": "Google", "AuthURL": "https://accounts.google.com/o/oauth2/v2/auth", "TokenURL": "https://oauth2.googleapis.com/token", "UserInfoURL": "https://www.googleapis.com/oauth2/v2/userinfo", "Scopes": ["openid", "email", "profile"] }, "github": { "Type": "github", "Name": "GitHub", "AuthURL": "https://github.com/login/oauth/authorize", "TokenURL": "https://github.com/login/oauth/access_token", "UserInfoURL": "https://api.github.com/user", "Scopes": ["read:user", "user:email"] }, "azure": { "Type": "azure", "Name": "Azure AD / Microsoft", "AuthURL": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", "TokenURL": "https://login.microsoftonline.com/common/oauth2/v2.0/token", "UserInfoURL": "https://graph.microsoft.com/v1.0/me", "Scopes": ["openid", "email", "profile"] }, "okta": { "Type": "okta", "Name": "Okta", "AuthURL": "", "TokenURL": "", "UserInfoURL": "", "Scopes": ["openid", "email", "profile"] }, "auth0": { "Type": "auth0", "Name": "Auth0", "AuthURL": "", "TokenURL": "", "UserInfoURL": "", "Scopes": ["openid", "email", "profile"] } }
Was this helpful?
On this page
OAuth Presets
Was this helpful?