{
"endpoints": [
{
"id": "oauth_authorize",
"method": "GET",
"name": "OAuth authorize",
"url": "https://id.twitch.tv/oauth2/authorize"
},
{
"id": "oauth_token",
"method": "POST",
"name": "OAuth token",
"url": "https://id.twitch.tv/oauth2/token"
},
{
"id": "oauth_device",
"method": "POST",
"name": "OAuth device authorization",
"url": "https://id.twitch.tv/oauth2/device"
},
{
"id": "oauth_validate",
"method": "GET",
"name": "OAuth validate",
"url": "https://id.twitch.tv/oauth2/validate"
},
{
"id": "oauth_revoke",
"method": "POST",
"name": "OAuth revoke",
"url": "https://id.twitch.tv/oauth2/revoke"
},
{
"id": "oidc_configuration",
"method": "GET",
"name": "OIDC discovery document",
"url": "https://id.twitch.tv/oauth2/.well-known/openid-configuration"
},
{
"id": "oidc_keys",
"method": "GET",
"name": "OIDC JWKs",
"url": "https://id.twitch.tv/oauth2/keys"
},
{
"id": "oidc_userinfo",
"method": "GET",
"name": "OIDC userinfo",
"url": "https://id.twitch.tv/oauth2/userinfo"
}
],
"flows": [
{
"authorize_endpoint": "https://id.twitch.tv/oauth2/authorize",
"id": "oauth_implicit",
"name": "OAuth implicit grant flow",
"response_type": "token",
"token_kind": "user"
},
{
"grant_type": "client_credentials",
"id": "oauth_client_credentials",
"name": "OAuth client credentials grant flow",
"token_endpoint": "https://id.twitch.tv/oauth2/token",
"token_kind": "app"
},
{
"authorize_endpoint": "https://id.twitch.tv/oauth2/authorize",
"id": "oauth_authorization_code",
"name": "OAuth authorization code grant flow",
"response_type": "code",
"token_endpoint": "https://id.twitch.tv/oauth2/token",
"token_kind": "user"
},
{
"device_endpoint": "https://id.twitch.tv/oauth2/device",
"grant_type": "urn:ietf:params:oauth:grant-type:device_code",
"id": "oauth_device_code",
"name": "OAuth device code grant flow",
"token_endpoint": "https://id.twitch.tv/oauth2/token",
"token_kind": "user"
},
{
"grant_type": "refresh_token",
"id": "oauth_refresh",
"name": "OAuth refresh token flow",
"token_endpoint": "https://id.twitch.tv/oauth2/token",
"token_kind": "user"
},
{
"authorize_endpoint": "https://id.twitch.tv/oauth2/authorize",
"id": "oidc_implicit",
"name": "OIDC implicit grant flow",
"response_type": "token id_token",
"token_kind": "user"
},
{
"authorize_endpoint": "https://id.twitch.tv/oauth2/authorize",
"id": "oidc_authorization_code",
"name": "OIDC authorization code grant flow",
"response_type": "code",
"token_endpoint": "https://id.twitch.tv/oauth2/token",
"token_kind": "user"
}
],
"generated_at": "2026-07-05T22:57:37+00:00",
"generated_from": "manual",
"rules": {
"validate_interval_seconds": 3600,
"validate_required_for_oauth_sessions": true
},
"source_urls": {
"changelog": "https://dev.twitch.tv/docs/change-log",
"eventsub_reference": "https://dev.twitch.tv/docs/eventsub/eventsub-reference/",
"eventsub_types": "https://dev.twitch.tv/docs/eventsub/eventsub-subscription-types/",
"eventsub_webhooks": "https://dev.twitch.tv/docs/eventsub/handling-webhook-events/",
"helix_reference": "https://dev.twitch.tv/docs/api/reference",
"oauth_oidc": "https://dev.twitch.tv/docs/authentication/getting-tokens-oidc",
"oauth_revoke": "https://dev.twitch.tv/docs/authentication/revoke-tokens",
"oauth_tokens": "https://dev.twitch.tv/docs/authentication/getting-tokens-oauth",
"oauth_validate": "https://dev.twitch.tv/docs/authentication/validate-tokens",
"product_lifecycle": "https://dev.twitch.tv/docs/product-lifecycle"
}
}