B2B Saas Authentication

/

Frontend SDKs

/

Headless

/

Discovery

/

Create Organization via Discovery

Create Organization via discovery

Wraps Stytch's create Organization via discovery endpoint. This method will fail if there is no intermediate session token present.

Intermediate session tokens are generated upon successful calls to primary authenticate methods in the case where MFA is required, such as email magic link authenticate, or upon successful calls to discovery authenticate methods, such as email magic link discovery authenticate.

The Member created by this endpoint will automatically be granted the stytch_admin Role. See the RBAC guide for more details on this Role.

If this method succeeds and the Member is not required to complete MFA, the Member will be logged in, granted an active session, and the session cookies will be minted and stored in the browser.

If this method succeeds and MFA is required, the intermediate session token will be stored in the browser as a cookie.

You can listen for successful login events anywhere in the codebase with the stytch.session.onChange() method or useStytchMemberSession hook if you are using React.

To call this method, Create Organizations must be enabled in the SDK Configuration page of the Stytch dashboard.


Method parameters


session_duration_minutes*int

organization_namestring

organization_slugstring

organization_logo_urlstring

email_jit_provisioningstring

email_invitesstring

email_allowed_domainsarray[strings]

sso_jit_provisioningstring

auth_methodsstring

allowed_auth_methodsarray[strings]

mfa_policystring

Response fields


request_idstring

status_codeint

member_idstring

session_jwtstring

session_tokenstring

intermediate_session_tokenstring

member_authenticatedboolean

mfa_requiredobject

primary_requiredobject

member_sessionobject

memberobject

organizationobject
import React, { useEffect } from 'react';
import { useStytchB2BClient } from '@stytch/react/b2b';

export const CreateOrganization = () => {
  const stytch = useStytchB2BClient();

  useEffect(() => {
    stytch.discovery.organizations.create({
      organization_name: 'Example Org Inc.',
      organization_slug: 'example-org',
      session_duration_minutes: 60,
    });
  });

  return <div>Create Organization</div>;
};

RESPONSE

200
{
	"request_id": "request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141",
	"status_code": 200,
	"member_id": "member-test-32fc5024-9c09-4da3-bd2e-c9ce4da9375f",
	"session_token": "mZAYn5aLEqKUlZ_Ad9U_fWr38GaAQ1oFAhT8ds245v7Q",
	"session_jwt": "eyJ...",
	"intermediate_session_token": "",
	"member_authenticated": true,
	"mfa_required": null,
	"primary_required": null,
    "member_session": {...},
    "member": {...},
    "organization": {...}
}