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

# Rotate

> Rotates the recovery codes for the current member's account, invalidating the previous set and generating a new set. Calls the `POST /sdk/v1/b2b/recovery_codes/rotate` endpoint. Requires an active session.

## Returns

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

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

<ResponseField name="member" type="ApiOrganizationV1Member" required>
  <Expandable title="properties">
    <ResponseField name="organizationId" type="String" required />

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

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

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

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

    <ResponseField name="ssoRegistrations" type="List<ApiOrganizationV1SSORegistration>" required>
      <Expandable title="properties">
        <ResponseField name="connectionId" type="String" required />

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

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

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

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

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

    <ResponseField name="oauthRegistrations" type="List<ApiOrganizationV1OAuthRegistration>" required>
      <Expandable title="properties">
        <ResponseField name="providerType" type="String" required />

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

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

        <ResponseField name="profilePictureUrl" type="String?" />

        <ResponseField name="locale" type="String?" />
      </Expandable>
    </ResponseField>

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

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

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

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

    <ResponseField name="retiredEmailAddresses" type="List<ApiOrganizationV1RetiredEmail>" required>
      <Expandable title="properties">
        <ResponseField name="emailId" type="String" required />

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

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

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

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

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

    <ResponseField name="roles" type="List<ApiOrganizationV1MemberRole>" required>
      <Expandable title="properties">
        <ResponseField name="roleId" type="String" required />

        <ResponseField name="sources" type="List<ApiOrganizationV1MemberRoleSource>" required />
      </Expandable>
    </ResponseField>

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

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

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

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

    <ResponseField name="scimRegistration" type="ApiOrganizationV1SCIMRegistration?">
      <Expandable title="properties">
        <ResponseField name="connectionId" type="String" required />

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

        <ResponseField name="externalId" type="String?" />

        <ResponseField name="scimAttributes" type="ApiB2bScimV1SCIMAttributes?" />
      </Expandable>
    </ResponseField>

    <ResponseField name="externalId" type="String?" />

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

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

<ResponseField name="organization" type="ApiOrganizationV1Organization" required>
  <Expandable title="properties">
    <ResponseField name="organizationId" type="String" required />

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

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

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

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

    <ResponseField name="ssoJitProvisioningAllowedConnections" type="List<String>" required />

    <ResponseField name="ssoActiveConnections" type="List<ApiOrganizationV1ActiveSSOConnection>" required>
      <Expandable title="properties">
        <ResponseField name="connectionId" type="String" required />

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

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

    <ResponseField name="emailAllowedDomains" type="List<String>" required />

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

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

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

    <ResponseField name="allowedAuthMethods" type="List<String>" required />

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

    <ResponseField name="rbacEmailImplicitRoleAssignments" type="List<ApiOrganizationV1EmailImplicitRoleAssignment>" required>
      <Expandable title="properties">
        <ResponseField name="domain" type="String" required />

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

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

    <ResponseField name="allowedMfaMethods" type="List<String>" required />

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

    <ResponseField name="claimedEmailDomains" type="List<String>" required />

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

    <ResponseField name="allowedFirstPartyConnectedApps" type="List<String>" required />

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

    <ResponseField name="allowedThirdPartyConnectedApps" type="List<String>" required />

    <ResponseField name="customRoles" type="List<ApiOrganizationV1CustomRole>" required>
      <Expandable title="properties">
        <ResponseField name="roleId" type="String" required />

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

        <ResponseField name="permissions" type="List<ApiOrganizationV1CustomRolePermission>" required />
      </Expandable>
    </ResponseField>

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

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

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

    <ResponseField name="organizationExternalId" type="String?" />

    <ResponseField name="ssoDefaultConnectionId" type="String?" />

    <ResponseField name="scimActiveConnection" type="ApiOrganizationV1ActiveSCIMConnection?">
      <Expandable title="properties">
        <ResponseField name="connectionId" type="String" required />

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

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

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

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

<ResponseField name="recoveryCodes" type="List<String>" required />

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

<RequestExample>
  ```swift theme={null}
  let response = try await StytchB2B.recoveryCodes.rotate(B2BRecoveryCodesRotateParameters())
  ```
</RequestExample>
