> ## 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 Connection

> Updates an existing SAML SSO connection. Calls the `PUT /sdk/v1/b2b/sso/saml/{connection_id}` endpoint. Requires an active session.

## Returns

<ResponseField name="requestId" type="String" required />

<ResponseField name="statusCode" type="Int" required />

<ResponseField name="connection" type="ApiSsoV1SAMLConnection?">
  <Expandable title="properties">
    <ResponseField name="organizationId" type="String" required />

    <ResponseField name="connectionId" type="String" required />

    <ResponseField name="status" type="String" required />

    <ResponseField name="idpEntityId" type="String" required />

    <ResponseField name="displayName" type="String" required />

    <ResponseField name="idpSsoUrl" type="String" required />

    <ResponseField name="acsUrl" type="String" required />

    <ResponseField name="audienceUri" type="String" required />

    <ResponseField name="signingCertificates" type="List<ApiSsoV1X509Certificate>" required>
      <Expandable title="properties">
        <ResponseField name="certificateId" type="String" required />

        <ResponseField name="certificate" type="String" required />

        <ResponseField name="issuer" type="String" required />

        <ResponseField name="createdAt" type="Instant?" />

        <ResponseField name="expiresAt" type="Instant?" />

        <ResponseField name="updatedAt" type="Instant?" />
      </Expandable>
    </ResponseField>

    <ResponseField name="verificationCertificates" type="List<ApiSsoV1X509Certificate>" required>
      <Expandable title="properties">
        <ResponseField name="certificateId" type="String" required />

        <ResponseField name="certificate" type="String" required />

        <ResponseField name="issuer" type="String" required />

        <ResponseField name="createdAt" type="Instant?" />

        <ResponseField name="expiresAt" type="Instant?" />

        <ResponseField name="updatedAt" type="Instant?" />
      </Expandable>
    </ResponseField>

    <ResponseField name="encryptionPrivateKeys" type="List<ApiSsoV1EncryptionPrivateKey>" required>
      <Expandable title="properties">
        <ResponseField name="privateKeyId" type="String" required />

        <ResponseField name="privateKey" type="String" required />

        <ResponseField name="createdAt" type="Instant?" />
      </Expandable>
    </ResponseField>

    <ResponseField name="samlConnectionImplicitRoleAssignments" type="List<ApiSsoV1SAMLConnectionImplicitRoleAssignment>" required>
      <Expandable title="properties">
        <ResponseField name="roleId" type="String" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="samlGroupImplicitRoleAssignments" type="List<ApiSsoV1SAMLGroupImplicitRoleAssignment>" required>
      <Expandable title="properties">
        <ResponseField name="roleId" type="String" required />

        <ResponseField name="group" type="String" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="alternativeAudienceUri" type="String" required />

    <ResponseField name="identityProvider" type="String" required />

    <ResponseField name="nameidFormat" type="String" required />

    <ResponseField name="alternativeAcsUrl" type="String" required />

    <ResponseField name="idpInitiatedAuthDisabled" type="Boolean" required />

    <ResponseField name="allowGatewayCallback" type="Boolean" required />

    <ResponseField name="attributeMapping" type="Map<String, JsonElement>?" />
  </Expandable>
</ResponseField>

<RequestExample>
  ```swift theme={null}
  let params = B2BUpdateSAMLConnectionParameters(
      displayName: "Updated IdP",
      idpSsoUrl: "https://idp.example.com/sso"
  )
  let response = try await StytchB2B.sso.saml.updateConnection(
      connectionId: "saml-connection-test-d5a3b680-e8a3-40c0-b815-ab79986666d0",
      request: params
  )
  ```
</RequestExample>
