List OAuth Providers

GET /v1/endpoints/{uuid}/oauth/providers

List the OAuth identity providers attached to this endpoint. When the endpoint's auth mode is set to sso (stored as basic with the oauth_sso method on), visitors hitting the public URL see a sign-in page with one button per enabled: true provider here.

Each endpoint can have at most one provider per provider_type (e.g. one google, one github). Use provider_type: "custom" for arbitrary OIDC IdPs that don't have a built-in preset.

Client secrets are never returned by this endpoint — only provider type, name, uuid, URLs, scopes, and the enabled flag.

Path parameters

uuid string (uuid) Req
The endpoint's uuid.

Response (200 OK)

An object with a providers array (not a bare array):

providers array<object>
The provider list ([] when the endpoint has none). Each element has the fields below.
uuid string (uuid)
The provider's public id — the {provider_uuid} of the get/update/delete/toggle routes.
endpoint_uuid string (uuid)
The endpoint the provider belongs to.
provider_type string
One of google, github, azure, okta, auth0, custom.
provider_name string
Display name shown on the login page.
client_id string
OAuth client ID issued by the IdP.
auth_url, token_url string
OAuth/OIDC endpoints. Pre-filled for known providers; required for custom.
user_info_url string?
The IdP's user-info endpoint. Omitted when empty.
issuer, jwks_url string?
OIDC id_token verification settings (see create). Each is omitted when empty.
scopes string
Comma-separated OAuth scopes (openid,email,profile).
identifier_field string
Which user-info field to use as the canonical identifier (email, sub, login).
enabled boolean
Whether this provider button shows on the login page.
has_client_secret boolean
Whether a client secret is stored. The secret itself is never returned.
created_at, updated_at datetime
RFC 3339 UTC timestamps.

Deprecated: until the sunset this response also carries the legacy integer id and *_id fields. Don't use them; read uuid and the *_uuid fields.

Errors

401 Unauthorized
Missing auth.
403 Forbidden
Caller lacks the endpoints:read permission in the active account.
404 Not Found
Endpoint doesn't exist or doesn't belong to the calling account.
Request
curl "https://api.ngris.com/v1/endpoints/<uuid>/oauth/providers" \ -H "X-API-KEY: <your_api_key>"
Python
from ngris import Ngris client = Ngris(api_key="<your_api_key>") resp = client.endpoint_oauth.list_providers("<endpoint_uuid>") for p in resp["providers"]: badge = "on" if p["enabled"] else "off" print(f"[{badge}] {p['provider_type']}: {p['provider_name']}")
Response — 200 OK
{ "providers": [ { "uuid": "019b407c-8a46-7001-897f-343e36ba8939", "endpoint_uuid": "019bb1e4-e785-77d2-9966-c3cff31d0a0e", "provider_type": "google", "provider_name": "Sign in with Google", "client_id": "1234567890-abc.apps.googleusercontent.com", "auth_url": "https://accounts.google.com/o/oauth2/v2/auth", "token_url": "https://oauth2.googleapis.com/token", "user_info_url": "https://www.googleapis.com/oauth2/v2/userinfo", "scopes": "openid,email,profile", "identifier_field": "email", "enabled": true, "has_client_secret": true, "created_at": "2026-04-01T00:00:00Z", "updated_at": "2026-04-01T00:00:00Z" } ] }
Was this helpful?
On this page
List OAuth Providers
Was this helpful?