Stytch · Schema
api_b2b_oauth_v1_b2b_oauth_discovery_AuthenticateResponse
AuthenticationIdentityPasswordlessSecurityB2BConnected AppsMCPAI AgentsDeveloper Tools
Properties
| Name | Type | Description |
|---|---|---|
| request_id | string | Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug |
| intermediate_session_token | string | The Intermediate Session Token. This token does not necessarily belong to a specific instance of a Member, but represents a bag of factors that may be converted to a member session. The token can be u |
| email_address | string | The email address. |
| discovered_organizations | array | An array of `discovered_organization` objects tied to the `intermediate_session_token`, `session_token`, or `session_jwt`. See the [Discovered Organization Object](https://stytch.com/docs/b2b/api/disc |
| provider_type | string | Denotes the OAuth identity provider that the user has authenticated with, e.g. Google, Microsoft, GitHub etc. |
| provider_tenant_id | string | The tenant ID returned by the OAuth provider. This is typically used to identify an organization or group within the provider's domain. For example, in HubSpot this is a Hub ID, in Slack this is the W |
| provider_tenant_ids | array | All tenant IDs returned by the OAuth provider. These is typically used to identify organizations or groups within the provider's domain. For example, in HubSpot this is a Hub ID, in Slack this is the |
| full_name | string | The full name of the authenticated end user, if available. |
| status_code | integer | The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/api_b2b_oauth_v1_b2b_oauth_discovery_AuthenticateResponse",
"title": "api_b2b_oauth_v1_b2b_oauth_discovery_AuthenticateResponse",
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug an issue."
},
"intermediate_session_token": {
"type": "string",
"description": "The Intermediate Session Token. This token does not necessarily belong to a specific instance of a Member, but represents a bag of factors that may be converted to a member session. The token can be used with the [OTP SMS Authenticate endpoint](https://stytch.com/docs/b2b/api/authenticate-otp-sms), [TOTP Authenticate endpoint](https://stytch.com/docs/b2b/api/authenticate-totp), or [Recovery Codes Recover endpoint](https://stytch.com/docs/b2b/api/recovery-codes-recover) to complete an MFA flow and log in to the Organization. The token has a default expiry of 10 minutes. It can also be used with the [Exchange Intermediate Session endpoint](https://stytch.com/docs/b2b/api/exchange-intermediate-session) to join a specific Organization that allows the factors represented by the intermediate session token; or the [Create Organization via Discovery endpoint](https://stytch.com/docs/b2b/api/create-organization-via-discovery) to create a new Organization and Member. Intermediate Session Tokens have a default expiry of 10 minutes."
},
"email_address": {
"type": "string",
"description": "The email address."
},
"discovered_organizations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/api_discovery_v1_DiscoveredOrganization"
},
"description": "An array of `discovered_organization` objects tied to the `intermediate_session_token`, `session_token`, or `session_jwt`. See the [Discovered Organization Object](https://stytch.com/docs/b2b/api/discovered-organization-object) for complete details.\n\n Note that Organizations will only appear here under any of the following conditions:\n 1. The end user is already a Member of the Organization.\n 2. The end user is invited to the Organization.\n 3. The end user can join the Organization because:\n\n a) The Organization allows JIT provisioning.\n\n b) The Organizations' allowed domains list contains the Member's email domain.\n\n c) The Organization has at least one other Member with a verified email address with the same domain as the end user (to prevent phishing attacks)."
},
"provider_type": {
"type": "string",
"description": "Denotes the OAuth identity provider that the user has authenticated with, e.g. Google, Microsoft, GitHub etc."
},
"provider_tenant_id": {
"type": "string",
"description": "The tenant ID returned by the OAuth provider. This is typically used to identify an organization or group within the provider's domain. For example, in HubSpot this is a Hub ID, in Slack this is the Workspace ID, and in GitHub this is an organization ID. This field will only be populated if exactly one tenant ID is returned from a successful OAuth authentication and developers should prefer `provider_tenant_ids` over this since it accounts for the possibility of an OAuth provider yielding multiple tenant IDs."
},
"provider_tenant_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "All tenant IDs returned by the OAuth provider. These is typically used to identify organizations or groups within the provider's domain. For example, in HubSpot this is a Hub ID, in Slack this is the Workspace ID, and in GitHub this is an organization ID. Some OAuth providers do not return tenant IDs, some providers are guaranteed to return one, and some may return multiple. This field will always be populated if at least one tenant ID was returned from the OAuth provider and developers should prefer this field over `provider_tenant_id`."
},
"full_name": {
"type": "string",
"description": "The full name of the authenticated end user, if available."
},
"status_code": {
"type": "integer",
"format": "int32",
"description": "The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors."
}
},
"required": [
"request_id",
"intermediate_session_token",
"email_address",
"discovered_organizations",
"provider_type",
"provider_tenant_id",
"provider_tenant_ids",
"full_name",
"status_code"
]
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema 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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/stytch-api-b2b-oauth-v1-b2b-oauth-discovery-authenticateresponse"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.