> ## Documentation Index
> Fetch the complete documentation index at: https://stytch.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update External Connection

> Update an external SSO connection using the Stytch React SDK

export const action_0 = "update";

export const resource_0 = "stytch.sso";

export const organization = "Represents an instance or tenant in your application, typically mapping to each of your top-level customers.";

export const member = "Represents an individual end user's account within a given Organization, uniquely identified within that Organization by their email address.";

`sso.external.updateConnection` wraps the [Update External Connection](/api-reference/b2b/api/sso/external/update-external-connection) API endpoint. The `organization_id` will be automatically inferred from the logged-in <Tooltip tip={member}>Member's</Tooltip> session. This method cannot be used to update External connections in other <Tooltip tip={organization}>Organizations</Tooltip>.

<Note>
  **RBAC Enforced Method**

  This method requires a valid Session for a member with permission to perform the **{action_0} Action** on the **{resource_0} Resource**.

  Before using this method, enable **Member actions & organization modifications** in the [Frontend SDK page](https://stytch.com/dashboard/sdk-configuration). To learn more, see our [RBAC guide](/multi-tenant-auth/enterprise-ready/rbac/create-rbac-policy).
</Note>

## Parameters

<ParamField path="connection_id" type="string" required>
  Globally unique UUID that identifies a specific External SSO Connection.
</ParamField>

<ParamField path="display_name" type="string" required>
  A human-readable display name for the connection.
</ParamField>

<ParamField path="external_connection_implicit_role_assignments" type="array" required>
  All Members who log in with this External connection will implicitly receive the specified Roles. See the [RBAC guide](/multi-tenant-auth/enterprise-ready/rbac/saml) for more information about role assignment. Implicit role assignments are not supported for External connections if the underlying SSO connection is an OIDC connection.

  <Expandable title="properties">
    <ParamField path="role_id" type="string" required>
      The unique identifier of the RBAC Role, provided by the developer and intended to be human-readable.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="external_group_implicit_role_assignments" type="array" required>
  Defines the names of the groups that grant specific role assignments. For each group-Role pair, if a Member logs in with this external connection and belongs to the specified group, they will be granted the associated Role. See the [RBAC guide](/multi-tenant-auth/enterprise-ready/rbac/saml) for more information about role assignment. Before adding any group implicit role assignments to an external connection, you must add a "groups" key to the underlying SAML connection's `attribute_mapping`. Make sure that the SAML connection IdP is configured to correctly send the group information. Implicit role assignments are not supported for External connections if the underlying SSO connection is an OIDC connection.

  <Expandable title="properties">
    <ParamField path="group" type="string" required>
      The name of the group that grants the specified role assignment.
    </ParamField>

    <ParamField path="role_id" type="string" required>
      The unique identifier of the RBAC Role, provided by the developer and intended to be human-readable.
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="connection" type="object">
  The [External Connection object](/api-reference/b2b/api/sso/external-connection-object) updated by this API call.
</ResponseField>

<ResponseField name="request_id" type="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 an issue.
</ResponseField>

<ResponseField name="status_code" type="number">
  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.
</ResponseField>

<Panel>
  <RequestExample>
    ```jsx theme={null}
    import { useStytchB2BClient } from '@stytch/react/b2b';

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

      const updateConnection = async () => {
        const response = await stytch.sso.external.updateConnection({
          connection_id: 'external-connection-test-d89ff7a0-e86f-4b4d-b6a3-9a74d967528e',
          display_name: 'Updated External Connection',
        });
        console.log('Updated connection:', response.connection);
      };

      return <button onClick={updateConnection}>Update External Connection</button>;
    };
    ```
  </RequestExample>
</Panel>
