@workos/mcp-docs-server 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/.docs/organized/changelogs/workos-platform.json +125 -125
  2. package/.docs/organized/docs/admin-portal/custom-branding.mdx +2 -4
  3. package/.docs/organized/docs/admin-portal/example-apps.mdx +11 -11
  4. package/.docs/organized/docs/admin-portal/index.mdx +39 -33
  5. package/.docs/organized/docs/audit-logs/admin-portal.mdx +1 -1
  6. package/.docs/organized/docs/audit-logs/editing-events.mdx +1 -1
  7. package/.docs/organized/docs/audit-logs/exporting-events.mdx +1 -1
  8. package/.docs/organized/docs/audit-logs/index.mdx +17 -2
  9. package/.docs/organized/docs/audit-logs/log-streams.mdx +325 -1
  10. package/.docs/organized/docs/audit-logs/metadata-schema.mdx +1 -1
  11. package/.docs/organized/docs/authkit/_navigation.mdx +108 -0
  12. package/.docs/organized/docs/{user-management → authkit}/actions.mdx +3 -4
  13. package/.docs/organized/docs/authkit/add-ons/google-analytics.mdx +79 -0
  14. package/.docs/organized/docs/authkit/add-ons/segment.mdx +77 -0
  15. package/.docs/organized/docs/authkit/add-ons/stripe.mdx +103 -0
  16. package/.docs/organized/docs/authkit/api-keys.mdx +99 -0
  17. package/.docs/organized/docs/{user-management → authkit}/branding.mdx +220 -2
  18. package/.docs/organized/docs/authkit/cli-auth.mdx +76 -0
  19. package/.docs/organized/docs/authkit/cli-installer.mdx +157 -0
  20. package/.docs/organized/docs/authkit/connect/m2m.mdx +65 -0
  21. package/.docs/organized/docs/authkit/connect/oauth.mdx +88 -0
  22. package/.docs/organized/docs/authkit/connect/standalone.mdx +179 -0
  23. package/.docs/organized/docs/authkit/connect.mdx +65 -0
  24. package/.docs/organized/docs/authkit/custom-email-providers.mdx +141 -0
  25. package/.docs/organized/docs/{user-management → authkit}/custom-emails.mdx +15 -15
  26. package/.docs/organized/docs/authkit/directory-provisioning.mdx +89 -0
  27. package/.docs/organized/docs/{user-management → authkit}/domain-verification.mdx +5 -6
  28. package/.docs/organized/docs/{user-management → authkit}/email-password.mdx +2 -2
  29. package/.docs/organized/docs/authkit/email-verification.mdx +31 -0
  30. package/.docs/organized/docs/{user-management → authkit}/example-apps.mdx +3 -3
  31. package/.docs/organized/docs/authkit/hosted-ui.mdx +165 -0
  32. package/.docs/organized/docs/{user-management → authkit}/identity-linking.mdx +9 -9
  33. package/.docs/organized/docs/{user-management → authkit}/impersonation.mdx +8 -8
  34. package/.docs/organized/docs/{user-management → authkit}/index.mdx +141 -74
  35. package/.docs/organized/docs/{user-management → authkit}/invitations.mdx +4 -4
  36. package/.docs/organized/docs/{user-management → authkit}/invite-only-signup.mdx +3 -3
  37. package/.docs/organized/docs/authkit/jit-provisioning.mdx +42 -0
  38. package/.docs/organized/docs/{user-management → authkit}/jwt-templates.mdx +37 -3
  39. package/.docs/organized/docs/authkit/landing.mdx +22 -0
  40. package/.docs/organized/docs/{user-management → authkit}/magic-auth.mdx +3 -5
  41. package/.docs/organized/docs/{user-management → authkit}/mcp.mdx +46 -9
  42. package/.docs/organized/docs/{user-management → authkit}/metadata.mdx +9 -9
  43. package/.docs/organized/docs/{user-management → authkit}/mfa.mdx +2 -2
  44. package/.docs/organized/docs/{user-management → authkit}/migrations.mdx +4 -4
  45. package/.docs/organized/docs/{user-management → authkit}/modeling-your-app.mdx +11 -11
  46. package/.docs/organized/docs/{user-management → authkit}/organization-policies.mdx +3 -4
  47. package/.docs/organized/docs/authkit/overview.mdx +46 -0
  48. package/.docs/organized/docs/{user-management → authkit}/passkeys.mdx +3 -3
  49. package/.docs/organized/docs/authkit/pipes.mdx +75 -0
  50. package/.docs/organized/docs/{user-management → authkit}/radar.mdx +39 -4
  51. package/.docs/organized/docs/authkit/roles-and-permissions.mdx +208 -0
  52. package/.docs/organized/docs/{user-management → authkit}/sessions.mdx +32 -20
  53. package/.docs/organized/docs/{user-management → authkit}/social-login.mdx +16 -2
  54. package/.docs/organized/docs/{user-management → authkit}/sso-with-contractors.mdx +3 -4
  55. package/.docs/organized/docs/{user-management → authkit}/sso.mdx +2 -2
  56. package/.docs/organized/docs/authkit/users-organizations.mdx +107 -0
  57. package/.docs/organized/docs/custom-domains/admin-portal.mdx +0 -2
  58. package/.docs/organized/docs/custom-domains/authkit.mdx +0 -2
  59. package/.docs/organized/docs/custom-domains/email.mdx +2 -2
  60. package/.docs/organized/docs/deprecations/_navigation.mdx +8 -0
  61. package/.docs/organized/docs/deprecations/raw-attributes.mdx +136 -0
  62. package/.docs/organized/docs/directory-sync/attributes.mdx +50 -31
  63. package/.docs/organized/docs/directory-sync/example-apps.mdx +11 -11
  64. package/.docs/organized/docs/directory-sync/identity-provider-role-assignment.mdx +23 -26
  65. package/.docs/organized/docs/directory-sync/index.mdx +4 -2
  66. package/.docs/organized/docs/directory-sync/quick-start.mdx +3 -3
  67. package/.docs/organized/docs/directory-sync/understanding-events.mdx +2 -2
  68. package/.docs/organized/docs/domain-verification/api.mdx +8 -8
  69. package/.docs/organized/docs/domain-verification/index.mdx +3 -3
  70. package/.docs/organized/docs/email.mdx +49 -5
  71. package/.docs/organized/docs/events/data-syncing/events-api.mdx +3 -3
  72. package/.docs/organized/docs/events/data-syncing/index.mdx +2 -3
  73. package/.docs/organized/docs/events/data-syncing/webhooks.mdx +4 -4
  74. package/.docs/organized/docs/events/index.mdx +419 -33
  75. package/.docs/organized/docs/feature-flags/_navigation.mdx +10 -0
  76. package/.docs/organized/docs/feature-flags/index.mdx +80 -0
  77. package/.docs/organized/docs/feature-flags/slack-notifications.mdx +58 -0
  78. package/.docs/organized/docs/fga/_navigation.mdx +34 -54
  79. package/.docs/organized/docs/fga/access-checks.mdx +109 -0
  80. package/.docs/organized/docs/fga/assignments.mdx +124 -0
  81. package/.docs/organized/docs/fga/authkit-integration.mdx +92 -0
  82. package/.docs/organized/docs/fga/high-cardinality-entities.mdx +172 -0
  83. package/.docs/organized/docs/fga/idp-role-assignment.mdx +66 -0
  84. package/.docs/organized/docs/fga/index.mdx +94 -29
  85. package/.docs/organized/docs/fga/migration-openfga.mdx +306 -0
  86. package/.docs/organized/docs/fga/migration-oso.mdx +372 -0
  87. package/.docs/organized/docs/fga/migration-spicedb.mdx +364 -0
  88. package/.docs/organized/docs/fga/quick-start.mdx +283 -98
  89. package/.docs/organized/docs/fga/resource-discovery.mdx +78 -0
  90. package/.docs/organized/docs/fga/resource-types.mdx +165 -0
  91. package/.docs/organized/docs/fga/resources.mdx +179 -59
  92. package/.docs/organized/docs/fga/roles-and-permissions.mdx +122 -0
  93. package/.docs/organized/docs/fga/standalone-integration.mdx +176 -0
  94. package/.docs/organized/docs/glossary.mdx +7 -3
  95. package/.docs/organized/docs/integrations/access-people-hr.mdx +1 -1
  96. package/.docs/organized/docs/integrations/adp-oidc.mdx +1 -1
  97. package/.docs/organized/docs/integrations/apple.mdx +112 -69
  98. package/.docs/organized/docs/integrations/auth0-directory-sync.mdx +3 -1
  99. package/.docs/organized/docs/integrations/auth0-enterprise-connection.mdx +3 -1
  100. package/.docs/organized/docs/integrations/auth0-saml.mdx +3 -1
  101. package/.docs/organized/docs/integrations/bamboohr.mdx +4 -4
  102. package/.docs/organized/docs/integrations/breathe-hr.mdx +1 -1
  103. package/.docs/organized/docs/integrations/bubble.mdx +1 -1
  104. package/.docs/organized/docs/integrations/cas-saml.mdx +2 -2
  105. package/.docs/organized/docs/integrations/classlink-saml.mdx +2 -2
  106. package/.docs/organized/docs/integrations/clever-oidc.mdx +94 -0
  107. package/.docs/organized/docs/integrations/cloudflare-saml.mdx +35 -2
  108. package/.docs/organized/docs/integrations/cyberark-saml.mdx +2 -2
  109. package/.docs/organized/docs/integrations/cyberark-scim.mdx +1 -1
  110. package/.docs/organized/docs/integrations/duo-saml.mdx +2 -2
  111. package/.docs/organized/docs/integrations/entra-id-oidc.mdx +198 -0
  112. package/.docs/organized/docs/integrations/entra-id-saml.mdx +3 -3
  113. package/.docs/organized/docs/integrations/entra-id-scim.mdx +5 -1
  114. package/.docs/organized/docs/integrations/fourth.mdx +2 -2
  115. package/.docs/organized/docs/integrations/github-oauth.mdx +80 -33
  116. package/.docs/organized/docs/integrations/gitlab-oauth.mdx +86 -31
  117. package/.docs/organized/docs/integrations/google-directory-sync.mdx +5 -1
  118. package/.docs/organized/docs/integrations/google-oauth.mdx +87 -70
  119. package/.docs/organized/docs/integrations/google-oidc.mdx +142 -0
  120. package/.docs/organized/docs/integrations/google-saml.mdx +3 -3
  121. package/.docs/organized/docs/integrations/hibob.mdx +17 -4
  122. package/.docs/organized/docs/integrations/intuit-oauth.mdx +128 -0
  123. package/.docs/organized/docs/integrations/jumpcloud-saml.mdx +2 -2
  124. package/.docs/organized/docs/integrations/jumpcloud-scim.mdx +5 -1
  125. package/.docs/organized/docs/integrations/keycloak-saml.mdx +2 -2
  126. package/.docs/organized/docs/integrations/lastpass-saml.mdx +2 -2
  127. package/.docs/organized/docs/integrations/linkedin-oauth.mdx +69 -30
  128. package/.docs/organized/docs/integrations/microsoft-ad-fs-saml.mdx +2 -2
  129. package/.docs/organized/docs/integrations/microsoft-oauth.mdx +95 -38
  130. package/.docs/organized/docs/integrations/miniorange-saml.mdx +2 -2
  131. package/.docs/organized/docs/integrations/net-iq-saml.mdx +2 -2
  132. package/.docs/organized/docs/integrations/next-auth.mdx +1 -1
  133. package/.docs/organized/docs/integrations/oidc.mdx +37 -24
  134. package/.docs/organized/docs/integrations/okta-oidc.mdx +149 -0
  135. package/.docs/organized/docs/integrations/okta-saml.mdx +3 -3
  136. package/.docs/organized/docs/integrations/okta-scim.mdx +6 -2
  137. package/.docs/organized/docs/integrations/onelogin-saml.mdx +2 -2
  138. package/.docs/organized/docs/integrations/onelogin-scim.mdx +1 -1
  139. package/.docs/organized/docs/integrations/oracle-saml.mdx +2 -2
  140. package/.docs/organized/docs/integrations/pingfederate-saml.mdx +2 -2
  141. package/.docs/organized/docs/integrations/pingfederate-scim.mdx +1 -1
  142. package/.docs/organized/docs/integrations/pingone-saml.mdx +2 -2
  143. package/.docs/organized/docs/integrations/rippling-saml.mdx +2 -2
  144. package/.docs/organized/docs/integrations/rippling-scim.mdx +1 -1
  145. package/.docs/organized/docs/integrations/sailpoint-scim.mdx +77 -0
  146. package/.docs/organized/docs/integrations/salesforce-oauth.mdx +116 -0
  147. package/.docs/organized/docs/integrations/salesforce-saml.mdx +4 -4
  148. package/.docs/organized/docs/integrations/saml.mdx +43 -23
  149. package/.docs/organized/docs/integrations/scim.mdx +36 -24
  150. package/.docs/organized/docs/integrations/sftp.mdx +59 -36
  151. package/.docs/organized/docs/integrations/shibboleth-generic-saml.mdx +1 -1
  152. package/.docs/organized/docs/integrations/shibboleth-unsolicited-saml.mdx +1 -1
  153. package/.docs/organized/docs/integrations/simple-saml-php.mdx +2 -2
  154. package/.docs/organized/docs/integrations/slack-oauth.mdx +53 -49
  155. package/.docs/organized/docs/integrations/supabase-authkit.mdx +46 -0
  156. package/.docs/organized/docs/integrations/{supabase.mdx → supabase-sso.mdx} +6 -4
  157. package/.docs/organized/docs/integrations/vercel-oauth.mdx +120 -0
  158. package/.docs/organized/docs/integrations/vmware-saml.mdx +2 -2
  159. package/.docs/organized/docs/integrations/workday.mdx +1 -1
  160. package/.docs/organized/docs/integrations/xero-oauth.mdx +77 -32
  161. package/.docs/organized/docs/magic-link/example-apps.mdx +11 -11
  162. package/.docs/organized/docs/magic-link/index.mdx +2 -0
  163. package/.docs/organized/docs/mfa/example-apps.mdx +2 -2
  164. package/.docs/organized/docs/mfa/index.mdx +2 -2
  165. package/.docs/organized/docs/mfa/ux/enrollment.mdx +1 -1
  166. package/.docs/organized/docs/mfa/ux/sign-in.mdx +1 -1
  167. package/.docs/organized/docs/migrate/_navigation.mdx +21 -1
  168. package/.docs/organized/docs/migrate/auth0.mdx +5 -5
  169. package/.docs/organized/docs/migrate/aws-cognito.mdx +5 -5
  170. package/.docs/organized/docs/migrate/better-auth.mdx +282 -0
  171. package/.docs/organized/docs/migrate/clerk.mdx +9 -11
  172. package/.docs/organized/docs/migrate/descope.mdx +290 -0
  173. package/.docs/organized/docs/migrate/firebase.mdx +4 -4
  174. package/.docs/organized/docs/migrate/other-services.mdx +25 -6
  175. package/.docs/organized/docs/migrate/standalone-sso.mdx +14 -14
  176. package/.docs/organized/docs/migrate/stytch.mdx +363 -0
  177. package/.docs/organized/docs/migrate/supabase.mdx +255 -0
  178. package/.docs/organized/docs/on-prem-deployment.mdx +1 -1
  179. package/.docs/organized/docs/pipes/_navigation.mdx +12 -0
  180. package/.docs/organized/docs/pipes/index.mdx +75 -0
  181. package/.docs/organized/docs/pipes/providers.mdx +9 -0
  182. package/.docs/organized/docs/rbac/_navigation.mdx +16 -0
  183. package/.docs/organized/docs/rbac/configuration.mdx +80 -0
  184. package/.docs/organized/docs/rbac/idp-role-assignment.mdx +79 -0
  185. package/.docs/organized/docs/rbac/index.mdx +24 -0
  186. package/.docs/organized/docs/rbac/integration.mdx +59 -0
  187. package/.docs/organized/docs/rbac/organization-roles.mdx +38 -0
  188. package/.docs/organized/docs/rbac/quick-start.mdx +52 -0
  189. package/.docs/organized/docs/reference/_navigation.mdx +437 -284
  190. package/.docs/organized/docs/reference/admin-portal/portal-link/index.mdx +1 -1
  191. package/.docs/organized/docs/reference/admin-portal/provider-icons/index.mdx +3 -3
  192. package/.docs/organized/docs/reference/{api-keys.mdx → api-authentication/index.mdx} +3 -3
  193. package/.docs/organized/docs/reference/audit-logs/configuration/index.mdx +97 -0
  194. package/.docs/organized/docs/reference/audit-logs/{create-event.mdx → event/create.mdx} +12 -2
  195. package/.docs/organized/docs/reference/audit-logs/event/index.mdx +92 -0
  196. package/.docs/organized/docs/reference/audit-logs/{create-export.mdx → export/create.mdx} +1 -1
  197. package/.docs/organized/docs/reference/audit-logs/{get-export.mdx → export/get.mdx} +1 -1
  198. package/.docs/organized/docs/reference/audit-logs/{audit-log-export.mdx → export/index.mdx} +11 -12
  199. package/.docs/organized/docs/reference/audit-logs/{get-retention.mdx → retention/get.mdx} +1 -1
  200. package/.docs/organized/docs/reference/audit-logs/retention/index.mdx +25 -0
  201. package/.docs/organized/docs/reference/audit-logs/{set-retention.mdx → retention/set.mdx} +1 -1
  202. package/.docs/organized/docs/reference/audit-logs/{create-schema.mdx → schema/create.mdx} +1 -1
  203. package/.docs/organized/docs/reference/audit-logs/{audit-log-schema.mdx → schema/index.mdx} +5 -6
  204. package/.docs/organized/docs/reference/audit-logs/{list-actions.mdx → schema/list-actions.mdx} +2 -1
  205. package/.docs/organized/docs/reference/audit-logs/{list-schemas.mdx → schema/list.mdx} +1 -1
  206. package/.docs/organized/docs/reference/authkit/api-keys/create-for-organization.mdx +40 -0
  207. package/.docs/organized/docs/reference/authkit/api-keys/delete.mdx +23 -0
  208. package/.docs/organized/docs/reference/authkit/api-keys/index.mdx +275 -0
  209. package/.docs/organized/docs/reference/authkit/api-keys/list-for-organization.mdx +41 -0
  210. package/.docs/organized/docs/reference/authkit/api-keys/validate.mdx +77 -0
  211. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/code.mdx +138 -18
  212. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/email-verification.mdx +10 -10
  213. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/get-authorization-url/error-codes.mdx +3 -3
  214. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/get-authorization-url/index.mdx +64 -17
  215. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/get-authorization-url/pkce.mdx +2 -2
  216. package/.docs/organized/docs/reference/authkit/authentication/get-authorization-url/redirect-uri.mdx +47 -0
  217. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/index.mdx +19 -11
  218. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/magic-auth.mdx +9 -9
  219. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/organization-selection.mdx +9 -9
  220. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/password.mdx +8 -8
  221. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/refresh-and-seal-session-data.mdx +3 -3
  222. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/refresh-token.mdx +17 -17
  223. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/session-cookie.mdx +7 -3
  224. package/.docs/organized/docs/reference/{user-management → authkit}/authentication/totp.mdx +10 -10
  225. package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/email-verification-required-error.mdx +3 -3
  226. package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/index.mdx +1 -3
  227. package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/mfa-challenge-error.mdx +3 -3
  228. package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/mfa-enrollment-error.mdx +3 -3
  229. package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/organization-authentication-required-error.mdx +3 -3
  230. package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/organization-selection-error.mdx +3 -4
  231. package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/sso-required-error.mdx +3 -3
  232. package/.docs/organized/docs/reference/authkit/cli-auth/device-authorization.mdx +61 -0
  233. package/.docs/organized/docs/reference/authkit/cli-auth/device-code.mdx +57 -0
  234. package/.docs/organized/docs/reference/authkit/cli-auth/error-codes.mdx +31 -0
  235. package/.docs/organized/docs/reference/authkit/cli-auth/index.mdx +22 -0
  236. package/.docs/organized/docs/reference/{user-management → authkit}/email-verification/get.mdx +8 -8
  237. package/.docs/organized/docs/reference/{user-management → authkit}/email-verification/index.mdx +9 -11
  238. package/.docs/organized/docs/reference/{user-management → authkit}/identity/index.mdx +6 -9
  239. package/.docs/organized/docs/reference/{user-management → authkit}/identity/list.mdx +5 -6
  240. package/.docs/organized/docs/reference/authkit/index.mdx +13 -0
  241. package/.docs/organized/docs/reference/{user-management → authkit}/invitation/accept.mdx +5 -5
  242. package/.docs/organized/docs/reference/{user-management → authkit}/invitation/find-by-token.mdx +8 -8
  243. package/.docs/organized/docs/reference/{user-management → authkit}/invitation/get.mdx +8 -9
  244. package/.docs/organized/docs/reference/{user-management → authkit}/invitation/index.mdx +10 -15
  245. package/.docs/organized/docs/reference/{user-management → authkit}/invitation/list.mdx +10 -11
  246. package/.docs/organized/docs/reference/authkit/invitation/resend.mdx +109 -0
  247. package/.docs/organized/docs/reference/{user-management → authkit}/invitation/revoke.mdx +8 -8
  248. package/.docs/organized/docs/reference/{user-management → authkit}/invitation/send.mdx +23 -13
  249. package/.docs/organized/docs/reference/{user-management → authkit}/logout/get-logout-url-from-session-cookie.mdx +2 -2
  250. package/.docs/organized/docs/reference/{user-management → authkit}/logout/get-logout-url.mdx +8 -8
  251. package/.docs/organized/docs/reference/{user-management → authkit}/logout/index.mdx +4 -5
  252. package/.docs/organized/docs/reference/{user-management → authkit}/magic-auth/create.mdx +10 -10
  253. package/.docs/organized/docs/reference/{user-management → authkit}/magic-auth/get.mdx +9 -10
  254. package/.docs/organized/docs/reference/{user-management → authkit}/magic-auth/index.mdx +10 -15
  255. package/.docs/organized/docs/reference/{user-management → authkit}/mfa/authentication-challenge.mdx +9 -10
  256. package/.docs/organized/docs/reference/{user-management → authkit}/mfa/authentication-factor.mdx +11 -11
  257. package/.docs/organized/docs/reference/{user-management → authkit}/mfa/enroll-auth-factor.mdx +19 -15
  258. package/.docs/organized/docs/reference/authkit/mfa/index.mdx +11 -0
  259. package/.docs/organized/docs/reference/{user-management → authkit}/mfa/list-auth-factors.mdx +9 -9
  260. package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/create.mdx +27 -10
  261. package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/deactivate.mdx +10 -10
  262. package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/delete.mdx +8 -8
  263. package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/get.mdx +8 -8
  264. package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/index.mdx +107 -14
  265. package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/list.mdx +10 -10
  266. package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/reactivate.mdx +11 -11
  267. package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/update.mdx +25 -9
  268. package/.docs/organized/docs/reference/{user-management → authkit}/password-reset/create.mdx +8 -8
  269. package/.docs/organized/docs/reference/{user-management → authkit}/password-reset/get.mdx +8 -8
  270. package/.docs/organized/docs/reference/{user-management → authkit}/password-reset/index.mdx +10 -12
  271. package/.docs/organized/docs/reference/{user-management → authkit}/password-reset/reset-password.mdx +8 -8
  272. package/.docs/organized/docs/reference/authkit/session/index.mdx +128 -0
  273. package/.docs/organized/docs/reference/authkit/session/list.mdx +110 -0
  274. package/.docs/organized/docs/reference/authkit/session/revoke.mdx +73 -0
  275. package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/authenticate.mdx +22 -6
  276. package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/get-logout-url.mdx +5 -5
  277. package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/index.mdx +2 -2
  278. package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/load-sealed-session.mdx +4 -4
  279. package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/refresh.mdx +18 -6
  280. package/.docs/organized/docs/reference/{user-management → authkit}/session-tokens/access-token.mdx +16 -8
  281. package/.docs/organized/docs/reference/authkit/session-tokens/index.mdx +5 -0
  282. package/.docs/organized/docs/reference/{user-management → authkit}/session-tokens/jwks.mdx +8 -8
  283. package/.docs/organized/docs/reference/authkit/session-tokens/refresh-token.mdx +8 -0
  284. package/.docs/organized/docs/reference/{user-management → authkit}/user/create.mdx +36 -17
  285. package/.docs/organized/docs/reference/{user-management → authkit}/user/delete.mdx +8 -9
  286. package/.docs/organized/docs/reference/{user-management → authkit}/user/get-by-external-id.mdx +16 -4
  287. package/.docs/organized/docs/reference/{user-management → authkit}/user/get.mdx +8 -8
  288. package/.docs/organized/docs/reference/{user-management → authkit}/user/index.mdx +25 -15
  289. package/.docs/organized/docs/reference/{user-management → authkit}/user/list.mdx +9 -12
  290. package/.docs/organized/docs/reference/{user-management → authkit}/user/update.mdx +43 -20
  291. package/.docs/organized/docs/reference/{client-libraries.mdx → client-libraries/index.mdx} +2 -2
  292. package/.docs/organized/docs/reference/directory-sync/directory/index.mdx +1 -1
  293. package/.docs/organized/docs/reference/directory-sync/directory-group/index.mdx +1 -24
  294. package/.docs/organized/docs/reference/directory-sync/directory-user/index.mdx +1 -29
  295. package/.docs/organized/docs/reference/directory-sync/directory-user/list.mdx +1 -1
  296. package/.docs/organized/docs/reference/directory-sync/index.mdx +1 -1
  297. package/.docs/organized/docs/reference/domain-verification/create.mdx +35 -0
  298. package/.docs/organized/docs/reference/domain-verification/delete.mdx +55 -0
  299. package/.docs/organized/docs/reference/domain-verification/get.mdx +29 -0
  300. package/.docs/organized/docs/reference/domain-verification/index.mdx +57 -1
  301. package/.docs/organized/docs/reference/domain-verification/verify.mdx +29 -0
  302. package/.docs/organized/docs/reference/{errors.mdx → errors/index.mdx} +1 -1
  303. package/.docs/organized/docs/reference/events/list.mdx +5 -4
  304. package/.docs/organized/docs/reference/feature-flags/flag/disable.mdx +33 -0
  305. package/.docs/organized/docs/reference/feature-flags/flag/enable.mdx +33 -0
  306. package/.docs/organized/docs/reference/feature-flags/flag/get.mdx +32 -0
  307. package/.docs/organized/docs/reference/feature-flags/flag/index.mdx +116 -0
  308. package/.docs/organized/docs/reference/feature-flags/flag/list.mdx +67 -0
  309. package/.docs/organized/docs/reference/feature-flags/index.mdx +123 -0
  310. package/.docs/organized/docs/reference/feature-flags/targeting/add.mdx +43 -0
  311. package/.docs/organized/docs/reference/feature-flags/targeting/index.mdx +23 -0
  312. package/.docs/organized/docs/reference/feature-flags/targeting/list-for-organization.mdx +132 -0
  313. package/.docs/organized/docs/reference/feature-flags/targeting/list-for-user.mdx +94 -0
  314. package/.docs/organized/docs/reference/feature-flags/targeting/remove.mdx +43 -0
  315. package/.docs/organized/docs/reference/fga/access-check/check.mdx +102 -0
  316. package/.docs/organized/docs/reference/fga/access-check/index.mdx +6 -0
  317. package/.docs/organized/docs/reference/fga/access-check/list-memberships-by-external-id.mdx +143 -0
  318. package/.docs/organized/docs/reference/fga/access-check/list-memberships.mdx +127 -0
  319. package/.docs/organized/docs/reference/fga/access-check/list-resources.mdx +152 -0
  320. package/.docs/organized/docs/reference/fga/index.mdx +14 -2
  321. package/.docs/organized/docs/reference/fga/resource/create.mdx +74 -88
  322. package/.docs/organized/docs/reference/fga/resource/delete-by-external-id.mdx +78 -0
  323. package/.docs/organized/docs/reference/fga/resource/delete.mdx +38 -62
  324. package/.docs/organized/docs/reference/fga/resource/get-by-external-id.mdx +60 -0
  325. package/.docs/organized/docs/reference/fga/resource/get.mdx +15 -63
  326. package/.docs/organized/docs/reference/fga/resource/index.mdx +74 -73
  327. package/.docs/organized/docs/reference/fga/resource/list.mdx +90 -131
  328. package/.docs/organized/docs/reference/fga/resource/update-by-external-id.mdx +81 -0
  329. package/.docs/organized/docs/reference/fga/resource/update.mdx +29 -85
  330. package/.docs/organized/docs/reference/fga/role-assignment/create.mdx +89 -0
  331. package/.docs/organized/docs/reference/fga/role-assignment/delete-by-id.mdx +59 -0
  332. package/.docs/organized/docs/reference/fga/role-assignment/delete.mdx +90 -0
  333. package/.docs/organized/docs/reference/fga/role-assignment/index.mdx +106 -0
  334. package/.docs/organized/docs/reference/fga/role-assignment/list.mdx +86 -0
  335. package/.docs/organized/docs/reference/index.mdx +21 -12
  336. package/.docs/organized/docs/reference/magic-link/passwordless-session/index.mdx +1 -1
  337. package/.docs/organized/docs/reference/mfa/{challenge-factor.mdx → challenge/create.mdx} +1 -1
  338. package/.docs/organized/docs/reference/mfa/{authentication-challenge.mdx → challenge/index.mdx} +11 -14
  339. package/.docs/organized/docs/reference/mfa/{verify-challenge.mdx → challenge/verify.mdx} +10 -12
  340. package/.docs/organized/docs/reference/mfa/{delete-factor.mdx → factor/delete.mdx} +1 -1
  341. package/.docs/organized/docs/reference/mfa/{enroll-factor.mdx → factor/enroll.mdx} +1 -1
  342. package/.docs/organized/docs/reference/mfa/{get-factor.mdx → factor/get.mdx} +1 -1
  343. package/.docs/organized/docs/reference/mfa/{authentication-factor.mdx → factor/index.mdx} +11 -12
  344. package/.docs/organized/docs/reference/organization/create.mdx +1 -6
  345. package/.docs/organized/docs/reference/organization/get-by-external-id.mdx +1 -1
  346. package/.docs/organized/docs/reference/organization/index.mdx +5 -5
  347. package/.docs/organized/docs/reference/organization/update.mdx +1 -1
  348. package/.docs/organized/docs/reference/{pagination.mdx → pagination/index.mdx} +1 -3
  349. package/.docs/organized/docs/reference/pipes/access-token/get.mdx +174 -0
  350. package/.docs/organized/docs/reference/pipes/access-token/index.mdx +44 -0
  351. package/.docs/organized/docs/reference/pipes/connected-account/delete.mdx +42 -0
  352. package/.docs/organized/docs/reference/pipes/connected-account/get-authorize-url.mdx +49 -0
  353. package/.docs/organized/docs/reference/pipes/connected-account/get.mdx +42 -0
  354. package/.docs/organized/docs/reference/pipes/connected-account/index.mdx +69 -0
  355. package/.docs/organized/docs/reference/pipes/index.mdx +8 -0
  356. package/.docs/organized/docs/reference/pipes/provider/index.mdx +70 -0
  357. package/.docs/organized/docs/reference/pipes/provider/list.mdx +47 -0
  358. package/.docs/organized/docs/reference/radar/attempts/index.mdx +1 -1
  359. package/.docs/organized/docs/reference/radar/lists/index.mdx +1 -1
  360. package/.docs/organized/docs/reference/rate-limits/index.mdx +56 -0
  361. package/.docs/organized/docs/reference/roles/index.mdx +12 -262
  362. package/.docs/organized/docs/reference/roles/organization-role/add-permission.mdx +75 -0
  363. package/.docs/organized/docs/reference/roles/organization-role/create.mdx +95 -0
  364. package/.docs/organized/docs/reference/roles/organization-role/delete.mdx +47 -0
  365. package/.docs/organized/docs/reference/roles/organization-role/get.mdx +55 -0
  366. package/.docs/organized/docs/reference/roles/organization-role/index.mdx +148 -0
  367. package/.docs/organized/docs/reference/roles/organization-role/list.mdx +68 -0
  368. package/.docs/organized/docs/reference/roles/organization-role/remove-permission.mdx +68 -0
  369. package/.docs/organized/docs/reference/roles/organization-role/set-permissions.mdx +79 -0
  370. package/.docs/organized/docs/reference/roles/organization-role/update.mdx +85 -0
  371. package/.docs/organized/docs/reference/roles/permission/create.mdx +101 -0
  372. package/.docs/organized/docs/reference/roles/permission/delete.mdx +38 -0
  373. package/.docs/organized/docs/reference/roles/permission/get.mdx +45 -0
  374. package/.docs/organized/docs/reference/roles/permission/index.mdx +128 -0
  375. package/.docs/organized/docs/reference/roles/permission/list.mdx +91 -0
  376. package/.docs/organized/docs/reference/roles/permission/update.mdx +80 -0
  377. package/.docs/organized/docs/reference/roles/role/add-permission.mdx +63 -0
  378. package/.docs/organized/docs/reference/roles/role/create.mdx +103 -0
  379. package/.docs/organized/docs/reference/roles/role/get.mdx +52 -0
  380. package/.docs/organized/docs/reference/roles/role/index.mdx +135 -0
  381. package/.docs/organized/docs/reference/roles/role/list.mdx +56 -0
  382. package/.docs/organized/docs/reference/roles/role/set-permissions.mdx +67 -0
  383. package/.docs/organized/docs/reference/roles/role/update.mdx +78 -0
  384. package/.docs/organized/docs/reference/sso/connection/index.mdx +2 -2
  385. package/.docs/organized/docs/reference/sso/get-authorization-url/error-codes.mdx +5 -3
  386. package/.docs/organized/docs/reference/sso/get-authorization-url/index.mdx +24 -2
  387. package/.docs/organized/docs/reference/sso/get-authorization-url/redirect-uri.mdx +25 -1
  388. package/.docs/organized/docs/reference/sso/index.mdx +1 -1
  389. package/.docs/organized/docs/reference/sso/logout/authorize.mdx +0 -1
  390. package/.docs/organized/docs/reference/sso/logout/index.mdx +1 -2
  391. package/.docs/organized/docs/reference/sso/logout/redirect.mdx +0 -1
  392. package/.docs/organized/docs/reference/sso/profile/get-profile-and-token.mdx +13 -1
  393. package/.docs/organized/docs/reference/sso/profile/index.mdx +25 -24
  394. package/.docs/organized/docs/reference/{testing.mdx → testing/index.mdx} +1 -1
  395. package/.docs/organized/docs/reference/vault/key/create-data-key.mdx +29 -0
  396. package/.docs/organized/docs/reference/vault/key/decrypt-data-key.mdx +20 -0
  397. package/.docs/organized/docs/reference/vault/key/decrypt-data.mdx +24 -0
  398. package/.docs/organized/docs/reference/vault/key/encrypt-data.mdx +20 -0
  399. package/.docs/organized/docs/reference/vault/object/create.mdx +17 -0
  400. package/.docs/organized/docs/reference/vault/object/delete.mdx +12 -0
  401. package/.docs/organized/docs/reference/vault/object/get-by-name.mdx +61 -0
  402. package/.docs/organized/docs/reference/vault/object/get.mdx +11 -0
  403. package/.docs/organized/docs/reference/vault/object/index.mdx +50 -4
  404. package/.docs/organized/docs/reference/vault/object/list.mdx +40 -1
  405. package/.docs/organized/docs/reference/vault/object/update.mdx +18 -0
  406. package/.docs/organized/docs/reference/vault/object/version.mdx +15 -2
  407. package/.docs/organized/docs/reference/vault/object/versions.mdx +13 -0
  408. package/.docs/organized/docs/reference/widgets/get-token.mdx +8 -5
  409. package/.docs/organized/docs/reference/workos-connect/applications/client-secrets/create.mdx +55 -0
  410. package/.docs/organized/docs/reference/workos-connect/applications/client-secrets/delete.mdx +28 -0
  411. package/.docs/organized/docs/reference/workos-connect/applications/client-secrets/index.mdx +60 -0
  412. package/.docs/organized/docs/reference/workos-connect/applications/client-secrets/list.mdx +52 -0
  413. package/.docs/organized/docs/reference/workos-connect/applications/create.mdx +79 -0
  414. package/.docs/organized/docs/reference/workos-connect/applications/delete.mdx +28 -0
  415. package/.docs/organized/docs/reference/workos-connect/applications/get.mdx +59 -0
  416. package/.docs/organized/docs/reference/workos-connect/applications/index.mdx +40 -0
  417. package/.docs/organized/docs/reference/workos-connect/applications/list.mdx +49 -0
  418. package/.docs/organized/docs/reference/workos-connect/applications/m2m.mdx +52 -0
  419. package/.docs/organized/docs/reference/workos-connect/applications/oauth.mdx +85 -0
  420. package/.docs/organized/docs/reference/workos-connect/applications/update.mdx +59 -0
  421. package/.docs/organized/docs/reference/workos-connect/authorize/index.mdx +29 -1
  422. package/.docs/organized/docs/reference/workos-connect/cli-auth/authorize-device/index.mdx +81 -0
  423. package/.docs/organized/docs/reference/workos-connect/cli-auth/device-code-grant.mdx +74 -0
  424. package/.docs/organized/docs/reference/workos-connect/cli-auth/index.mdx +23 -0
  425. package/.docs/organized/docs/reference/workos-connect/index.mdx +1 -1
  426. package/.docs/organized/docs/reference/workos-connect/introspection/index.mdx +8 -3
  427. package/.docs/organized/docs/reference/workos-connect/metadata/index.mdx +1 -1
  428. package/.docs/organized/docs/reference/workos-connect/metadata/oauth-authorization-server/index.mdx +1 -1
  429. package/.docs/organized/docs/reference/workos-connect/standalone/complete.mdx +68 -0
  430. package/.docs/organized/docs/reference/workos-connect/standalone/index.mdx +9 -0
  431. package/.docs/organized/docs/reference/workos-connect/standalone/user-consent-options.mdx +41 -0
  432. package/.docs/organized/docs/reference/workos-connect/token/authorization-code-grant/access-token.mdx +6 -0
  433. package/.docs/organized/docs/reference/workos-connect/token/authorization-code-grant/id-token.mdx +1 -1
  434. package/.docs/organized/docs/reference/workos-connect/token/{authorization-code-grant/index.mdx → authorization-code-grant.mdx} +23 -2
  435. package/.docs/organized/docs/reference/workos-connect/token/client-credentials-grant/access-token.mdx +1 -1
  436. package/.docs/organized/docs/reference/workos-connect/token/{client-credentials-grant/index.mdx → client-credentials-grant.mdx} +2 -2
  437. package/.docs/organized/docs/reference/workos-connect/token/index.mdx +5 -4
  438. package/.docs/organized/docs/reference/workos-connect/token/refresh-token-grant.mdx +1 -1
  439. package/.docs/organized/docs/reference/workos-connect/userinfo/index.mdx +2 -2
  440. package/.docs/organized/docs/sdks/authkit-js.mdx +14 -0
  441. package/.docs/organized/docs/sdks/authkit-nextjs.mdx +14 -0
  442. package/.docs/organized/docs/sdks/authkit-react-router.mdx +14 -0
  443. package/.docs/organized/docs/sdks/authkit-react.mdx +14 -0
  444. package/.docs/organized/docs/sdks/authkit-remix.mdx +14 -0
  445. package/.docs/organized/docs/sdks/authkit-tanstack-start.mdx +14 -0
  446. package/.docs/organized/docs/sso/_navigation.mdx +8 -2
  447. package/.docs/organized/docs/sso/attributes.mdx +15 -3
  448. package/.docs/organized/docs/sso/domains.mdx +8 -6
  449. package/.docs/organized/docs/sso/example-apps.mdx +2 -2
  450. package/.docs/organized/docs/sso/identity-provider-role-assignment.mdx +30 -30
  451. package/.docs/organized/docs/sso/index.mdx +7 -6
  452. package/.docs/organized/docs/sso/it-team-faq.mdx +1 -1
  453. package/.docs/organized/docs/sso/jit-provisioning.mdx +2 -3
  454. package/.docs/organized/docs/sso/launch-checklist.mdx +2 -2
  455. package/.docs/organized/docs/sso/login-flows.mdx +3 -3
  456. package/.docs/organized/docs/sso/redirect-uris.mdx +22 -11
  457. package/.docs/organized/docs/sso/saml-security.mdx +1 -1
  458. package/.docs/organized/docs/sso/sign-in-consent.mdx +59 -0
  459. package/.docs/organized/docs/sso/signing-certificates.mdx +7 -7
  460. package/.docs/organized/docs/sso/single-logout.mdx +0 -1
  461. package/.docs/organized/docs/sso/ux/sessions.mdx +99 -0
  462. package/.docs/organized/docs/sso/ux/sign-in.mdx +1 -1
  463. package/.docs/organized/docs/vault/_navigation.mdx +2 -0
  464. package/.docs/organized/docs/vault/byok.mdx +140 -0
  465. package/.docs/organized/docs/vault/index.mdx +1 -1
  466. package/.docs/organized/docs/widgets/_navigation.mdx +48 -0
  467. package/.docs/organized/docs/widgets/admin-portal-domain-verification.mdx +24 -0
  468. package/.docs/organized/docs/widgets/admin-portal-sso-connection.mdx +20 -0
  469. package/.docs/organized/docs/widgets/api-keys.mdx +28 -0
  470. package/.docs/organized/docs/widgets/audit-log-streaming.mdx +25 -0
  471. package/.docs/organized/docs/widgets/directory-sync.mdx +23 -0
  472. package/.docs/organized/docs/widgets/index.mdx +12 -0
  473. package/.docs/organized/docs/widgets/localization.mdx +111 -0
  474. package/.docs/organized/docs/widgets/organization-switcher.mdx +47 -0
  475. package/.docs/organized/docs/widgets/pipes.mdx +27 -0
  476. package/.docs/organized/docs/widgets/quick-start.mdx +38 -0
  477. package/.docs/organized/docs/widgets/styling/css-customization.mdx +100 -0
  478. package/.docs/organized/docs/widgets/styling/index.mdx +29 -0
  479. package/.docs/organized/docs/widgets/styling/theme-customization.mdx +51 -0
  480. package/.docs/organized/docs/widgets/tokens.mdx +17 -0
  481. package/.docs/organized/docs/widgets/user-management.mdx +28 -0
  482. package/.docs/organized/docs/widgets/user-profile.mdx +30 -0
  483. package/.docs/organized/docs/widgets/user-security.mdx +31 -0
  484. package/.docs/organized/docs/widgets/user-sessions.mdx +26 -0
  485. package/LICENSE +21 -0
  486. package/README.md +14 -1
  487. package/dist/prepare.js +1 -1
  488. package/dist/prepare.js.map +1 -1
  489. package/package.json +2 -1
  490. package/.docs/organized/docs/dashboard.mdx +0 -244
  491. package/.docs/organized/docs/demo/_navigation.mdx +0 -26
  492. package/.docs/organized/docs/demo/accordion.mdx +0 -34
  493. package/.docs/organized/docs/demo/checklist.mdx +0 -33
  494. package/.docs/organized/docs/demo/code-block.mdx +0 -185
  495. package/.docs/organized/docs/demo/definition-list.mdx +0 -35
  496. package/.docs/organized/docs/demo/index.mdx +0 -7
  497. package/.docs/organized/docs/demo/punctuation.mdx +0 -37
  498. package/.docs/organized/docs/demo/replacements.mdx +0 -26
  499. package/.docs/organized/docs/demo/table.mdx +0 -26
  500. package/.docs/organized/docs/demo/tabs.mdx +0 -17
  501. package/.docs/organized/docs/fga/identity-provider-sessions.mdx +0 -68
  502. package/.docs/organized/docs/fga/local-development.mdx +0 -155
  503. package/.docs/organized/docs/fga/modeling/abac.mdx +0 -107
  504. package/.docs/organized/docs/fga/modeling/blocklist.mdx +0 -84
  505. package/.docs/organized/docs/fga/modeling/conditional-roles.mdx +0 -99
  506. package/.docs/organized/docs/fga/modeling/custom-roles.mdx +0 -90
  507. package/.docs/organized/docs/fga/modeling/entitlements.mdx +0 -127
  508. package/.docs/organized/docs/fga/modeling/managed-service-provider.mdx +0 -131
  509. package/.docs/organized/docs/fga/modeling/org-roles-and-permissions.mdx +0 -95
  510. package/.docs/organized/docs/fga/modeling/policy-context.mdx +0 -231
  511. package/.docs/organized/docs/fga/modeling/public-access.mdx +0 -61
  512. package/.docs/organized/docs/fga/modeling/shareable-content.mdx +0 -106
  513. package/.docs/organized/docs/fga/modeling/superusers.mdx +0 -74
  514. package/.docs/organized/docs/fga/modeling/user-groups.mdx +0 -92
  515. package/.docs/organized/docs/fga/operations-usage.mdx +0 -104
  516. package/.docs/organized/docs/fga/playground.mdx +0 -12
  517. package/.docs/organized/docs/fga/policies.mdx +0 -462
  518. package/.docs/organized/docs/fga/query-language.mdx +0 -112
  519. package/.docs/organized/docs/fga/schema-management.mdx +0 -224
  520. package/.docs/organized/docs/fga/schema.mdx +0 -388
  521. package/.docs/organized/docs/fga/warrant-tokens.mdx +0 -44
  522. package/.docs/organized/docs/fga/warrants.mdx +0 -92
  523. package/.docs/organized/docs/reference/fga/batch-check.mdx +0 -277
  524. package/.docs/organized/docs/reference/fga/check.mdx +0 -563
  525. package/.docs/organized/docs/reference/fga/policy/create.mdx +0 -27
  526. package/.docs/organized/docs/reference/fga/policy/delete.mdx +0 -18
  527. package/.docs/organized/docs/reference/fga/policy/get.mdx +0 -23
  528. package/.docs/organized/docs/reference/fga/policy/index.mdx +0 -52
  529. package/.docs/organized/docs/reference/fga/policy/list.mdx +0 -41
  530. package/.docs/organized/docs/reference/fga/policy/update.mdx +0 -26
  531. package/.docs/organized/docs/reference/fga/query.mdx +0 -375
  532. package/.docs/organized/docs/reference/fga/resource/batch-write.mdx +0 -175
  533. package/.docs/organized/docs/reference/fga/resource-type/apply.mdx +0 -35
  534. package/.docs/organized/docs/reference/fga/resource-type/create.mdx +0 -24
  535. package/.docs/organized/docs/reference/fga/resource-type/delete.mdx +0 -22
  536. package/.docs/organized/docs/reference/fga/resource-type/get.mdx +0 -23
  537. package/.docs/organized/docs/reference/fga/resource-type/index.mdx +0 -68
  538. package/.docs/organized/docs/reference/fga/resource-type/list.mdx +0 -36
  539. package/.docs/organized/docs/reference/fga/resource-type/update.mdx +0 -23
  540. package/.docs/organized/docs/reference/fga/schema/apply.mdx +0 -42
  541. package/.docs/organized/docs/reference/fga/schema/get.mdx +0 -24
  542. package/.docs/organized/docs/reference/fga/schema/index.mdx +0 -39
  543. package/.docs/organized/docs/reference/fga/warrant/batch-write.mdx +0 -226
  544. package/.docs/organized/docs/reference/fga/warrant/create.mdx +0 -215
  545. package/.docs/organized/docs/reference/fga/warrant/delete.mdx +0 -212
  546. package/.docs/organized/docs/reference/fga/warrant/index.mdx +0 -186
  547. package/.docs/organized/docs/reference/fga/warrant/list.mdx +0 -282
  548. package/.docs/organized/docs/reference/idempotency.mdx +0 -21
  549. package/.docs/organized/docs/reference/organization-domain.mdx +0 -189
  550. package/.docs/organized/docs/reference/rate-limits.mdx +0 -50
  551. package/.docs/organized/docs/reference/roles/list-for-organization.mdx +0 -152
  552. package/.docs/organized/docs/reference/user-management/access-token/index.mdx +0 -13
  553. package/.docs/organized/docs/reference/user-management/authentication/get-authorization-url/redirect-uri.mdx +0 -23
  554. package/.docs/organized/docs/reference/user-management/index.mdx +0 -13
  555. package/.docs/organized/docs/reference/user-management/mfa/index.mdx +0 -5
  556. package/.docs/organized/docs/reference/user-management/session-tokens/index.mdx +0 -5
  557. package/.docs/organized/docs/reference/user-management/session-tokens/refresh-token.mdx +0 -8
  558. package/.docs/organized/docs/user-management/_navigation.mdx +0 -87
  559. package/.docs/organized/docs/user-management/authkit.mdx +0 -69
  560. package/.docs/organized/docs/user-management/connect.mdx +0 -110
  561. package/.docs/organized/docs/user-management/directory-provisioning.mdx +0 -78
  562. package/.docs/organized/docs/user-management/email-verification.mdx +0 -29
  563. package/.docs/organized/docs/user-management/entitlements.mdx +0 -46
  564. package/.docs/organized/docs/user-management/jit-provisioning.mdx +0 -36
  565. package/.docs/organized/docs/user-management/overview.mdx +0 -46
  566. package/.docs/organized/docs/user-management/roles-and-permissions.mdx +0 -155
  567. package/.docs/organized/docs/user-management/users-organizations.mdx +0 -91
  568. package/.docs/organized/docs/user-management/widgets.mdx +0 -190
@@ -0,0 +1,363 @@
1
+ ---
2
+ title: Migrate from Stytch
3
+ description: Learn how to migrate users and organizations from Stytch.
4
+ icon: stytch
5
+ breadcrumb:
6
+ title: Migrations
7
+ url: /migrate
8
+ originalPath: .tmp-workos-clone/packages/docs/content/migrate/stytch.mdx
9
+ ---
10
+
11
+ ## Introduction
12
+
13
+ The WorkOS API allows you to migrate your existing user data from a variety of existing sources. In this guide, we will walk through the steps to export and import your B2B users, organizations, and enterprise configurations from Stytch.
14
+
15
+ ---
16
+
17
+ ## (1) Export data from Stytch
18
+
19
+ Stytch allows customers to export organization and member data using their API endpoints. You can [export most data programmatically](https://stytch.com/docs/b2b/guides/migrations/exporting-from-stytch), though password hashes and complete SSO/SCIM connection configurations require contacting Stytch support.
20
+
21
+ ### Exporting organizations and members
22
+
23
+ Use the [Stytch Search Organizations API](https://stytch.com/docs/b2b/api/search-organizations) to retrieve all organizations in your Stytch project, then use the [Stytch Search Members API](https://stytch.com/docs/b2b/api/search-members) to export members for each organization. Both endpoints support pagination for projects with more than 1000 records and have a rate limit of 100 requests per minute.
24
+
25
+ > The following exports B2B Users. To export Consumer Users, consult [this utility from Stytch](https://github.com/stytchauth/stytch-node-export-users).
26
+
27
+ ```typescript title="Export organizations and members from Stytch"
28
+ import { B2BClient } from 'stytch';
29
+ import { writeFile } from 'fs/promises';
30
+
31
+ const client = new B2BClient({
32
+ project_id: process.env.STYTCH_PROJECT_ID,
33
+ secret: process.env.STYTCH_SECRET,
34
+ });
35
+
36
+ async function exportOrganizations() {
37
+ const allOrganizations: any[] = [];
38
+ let cursor = '';
39
+
40
+ do {
41
+ const response = await client.organizations.search({
42
+ cursor,
43
+ limit: 1000,
44
+ });
45
+
46
+ allOrganizations.push(...response.organizations);
47
+ cursor = response.results_metadata.next_cursor;
48
+ } while (cursor);
49
+
50
+ return allOrganizations;
51
+ }
52
+
53
+ async function exportMembers(organizationIds: string[]) {
54
+ const allMembers: any[] = [];
55
+ let cursor = '';
56
+
57
+ do {
58
+ const response = await client.organizations.members.search({
59
+ organization_ids: organizationIds,
60
+ cursor,
61
+ limit: 1000,
62
+ });
63
+
64
+ allMembers.push(...response.members);
65
+ cursor = response.results_metadata.next_cursor;
66
+ } while (cursor);
67
+
68
+ return allMembers;
69
+ }
70
+
71
+ (async () => {
72
+ const organizations = await exportOrganizations();
73
+ const organizationIds = organizations.map((org) => org.organization_id);
74
+ console.log(`Found ${organizations.length} organizations`);
75
+ const members = await exportMembers(organizationIds);
76
+ console.log(`Found ${members.length} members`);
77
+
78
+ // Export all data to a JSON file
79
+ await writeFile(
80
+ 'stytch-b2b-export.json',
81
+ JSON.stringify({ organizations, members }, null, 2),
82
+ );
83
+ })();
84
+ ```
85
+
86
+ The Organization object includes `organization_id`, `organization_name`, `email_allowed_domains`, `sso_active_connections`, and `scim_active_connection` fields. The Member object includes `member_id`, `email_address`, `name`, `status`, `oauth_registrations`, `sso_registrations`, and `roles` fields.
87
+
88
+ ### Exporting passwords
89
+
90
+ If your Stytch members sign in using password-based authentication, you will need to [contact Stytch support](mailto:support@stytch.com) to export password hashes. After opening a request, they will provide an export of your hashed password data. The timeline for this process can vary.
91
+
92
+ Stytch uses the `scrypt` password hashing algorithm for password storage. When you export passwords through Stytch support, verify the hash format they provide, as WorkOS supports multiple algorithms including `scrypt`, `bcrypt`, and `argon2`.
93
+
94
+ ---
95
+
96
+ ## (2) Import data into WorkOS
97
+
98
+ Once you've obtained the necessary export data from Stytch, you can import it into WorkOS via the API. We recommend importing organizations first, then users with their organization memberships.
99
+
100
+ ### Creating organizations
101
+
102
+ Use the [Create Organization API](/reference/organization/create) to import each Stytch organization. Map `organization_name` to `name` and `email_allowed_domains` to `domainData` (with appropriate `state` values).
103
+
104
+ ```typescript title="Import organizations into WorkOS"
105
+ import { WorkOS } from '@workos-inc/node';
106
+
107
+ const workos = new WorkOS(process.env.WORKOS_API_KEY);
108
+
109
+ async function importOrganization(stytchOrg: any) {
110
+ const domainData =
111
+ stytchOrg.email_allowed_domains?.map((domain: string) => ({
112
+ domain,
113
+ state: 'pending', // or 'verified' if domains are pre-verified
114
+ })) || [];
115
+
116
+ const org = await workos.organizations.createOrganization({
117
+ name: stytchOrg.organization_name,
118
+ domainData,
119
+ });
120
+
121
+ return org;
122
+ }
123
+
124
+ // Import all organizations
125
+ const orgIdMapping = new Map();
126
+ for (const stytchOrg of stytchOrganizations) {
127
+ try {
128
+ const workosOrg = await importOrganization(stytchOrg);
129
+ orgIdMapping.set(stytchOrg.organization_id, workosOrg.id);
130
+ } catch (error: any) {
131
+ console.error(`[FAILED] ${stytchOrg.organization_name}`, error.message);
132
+ }
133
+ }
134
+ ```
135
+
136
+ ### Creating users and memberships
137
+
138
+ Use the [Create User API](/reference/authkit/user/create) to import each Stytch member, then use the [Organization Membership API](/reference/authkit/organization-membership/create) to link users to their organizations. You should filter members by status—typically only importing `active` members and potentially re-inviting `invited` or `pending` members.
139
+
140
+ ```typescript title="Import users and create memberships"
141
+ async function importUser(stytchMember: any) {
142
+ // Parse name into first and last name
143
+ const nameParts = stytchMember.name?.split(' ') || [];
144
+ const firstName = nameParts[0] || '';
145
+ const lastName = nameParts.slice(1).join(' ') || '';
146
+
147
+ const user = await workos.userManagement.createUser({
148
+ email: stytchMember.email_address,
149
+ emailVerified: stytchMember.email_address_verified,
150
+ firstName,
151
+ lastName,
152
+ });
153
+
154
+ return user;
155
+ }
156
+
157
+ async function createMembership(
158
+ workosUserId: string,
159
+ workosOrgId: string,
160
+ roleSlug: string = 'member',
161
+ ) {
162
+ return await workos.userManagement.createOrganizationMembership({
163
+ userId: workosUserId,
164
+ organizationId: workosOrgId,
165
+ roleSlug,
166
+ });
167
+ }
168
+
169
+ const userIdMapping = new Map();
170
+ for (const stytchMember of stytchMembers) {
171
+ try {
172
+ const workosUser = await importUser(stytchMember);
173
+ userIdMapping.set(stytchMember.member_id, workosUser.id);
174
+
175
+ const workosOrgId = orgIdMapping.get(stytchMember.organization_id);
176
+ if (workosOrgId) {
177
+ await createMembership(workosUser.id, workosOrgId);
178
+ } else {
179
+ console.warn(`No WorkOS org found for ${stytchMember.email_address}`);
180
+ }
181
+ } catch (error: any) {
182
+ console.error(`[FAILED] ${stytchMember.email_address}`, error.message);
183
+ }
184
+ }
185
+ ```
186
+
187
+ > User creation is rate-limited. See the [rate limits documentation](/reference/rate-limits) for details. Consider implementing retry logic and batching for large imports, or reach out to [support@workos.com](mailto:support@workos.com) to process large datasets in the background.
188
+
189
+ ### Importing passwords
190
+
191
+ If you exported password hashes from Stytch, you can import them during user creation or later using the [Update User API](/reference/authkit/user/update). Pass the `passwordHashType` parameter (e.g., `'scrypt'`, `'bcrypt'`) and the `passwordHash` value from your Stytch export. Once imported, users can sign in with their existing passwords without performing a password reset.
192
+
193
+ ```typescript title="Import user with password hash"
194
+ const user = await workos.userManagement.createUser({
195
+ email: stytchMember.email_address,
196
+ emailVerified: stytchMember.email_address_verified,
197
+ firstName,
198
+ lastName,
199
+ passwordHash: stytchPasswordHash, // From Stytch support export
200
+ passwordHashType: 'scrypt', // Verify the actual format with Stytch support
201
+ });
202
+ ```
203
+
204
+ ---
205
+
206
+ ## (3) SSO connections
207
+
208
+ Enterprise SSO connections cannot be exported from Stytch, but you can manually reconfigure connections. You have two options: configure each connection through the dashboard, or use the [Admin Portal](/admin-portal) to let customers self-service their SSO setup. The Admin Portal approach is recommended for larger migrations, as it reduces manual work and provides a familiar self-service experience for IT administrators.
209
+
210
+ To manually configure a SAML connection, create the organization (if not already created), then set up a new SAML connection in the dashboard.
211
+
212
+ ```typescript title="Create SSO connection programmatically"
213
+ import { WorkOS } from '@workos-inc/node';
214
+
215
+ const workos = new WorkOS(process.env.WORKOS_API_KEY);
216
+
217
+ // Generate Admin Portal link for customer to self-configure SSO
218
+ const { link } = await workos.portal.generateLink({
219
+ organization: 'org_12345',
220
+ intent: 'sso',
221
+ returnUrl: 'https://yourapp.com/admin',
222
+ });
223
+
224
+ // Send this link to the customer's IT administrator
225
+ console.log('Admin Portal link:', link);
226
+ ```
227
+
228
+ The OIDC process is similar: create the organization, configure a new OIDC connection, obtain the callback URL, and work with the customer's IT team to update their OIDC application configuration. See the [OIDC integration guide](/integrations/oidc) for detailed instructions. For provider-specific guidance, consult the integration guides for [Okta SAML](/integrations/okta-saml), [Microsoft Entra ID SAML](/integrations/entra-id-saml), [Google Workspace SAML](/integrations/google-saml), or [Generic SAML](/integrations/saml).
229
+
230
+ ---
231
+
232
+ ## (4) Directory Sync
233
+
234
+ Like SSO connections, SCIM directory sync connections must be reconfigured. [Directory Sync](/directory-sync) provides real-time user and group provisioning, automatic deprovisioning, custom attribute mapping, and support for 20+ identity providers including [Okta SCIM](/integrations/okta-scim), [Microsoft Entra ID SCIM](/integrations/entra-id-scim), [Google Workspace Directory](/integrations/google-saml), and [Custom SCIM v2.0](/integrations/scim) providers.
235
+
236
+ For each Stytch SCIM connection, create a corresponding Directory Sync connection in the dashboard or using the [Admin Portal](/admin-portal) for self-service setup.
237
+
238
+ ```typescript title="Generate Admin Portal link for Directory Sync"
239
+ const { link } = await workos.portal.generateLink({
240
+ organization: 'org_12345',
241
+ intent: 'dsync',
242
+ returnUrl: 'https://yourapp.com/admin',
243
+ });
244
+ ```
245
+
246
+ WorkOS sends webhooks for directory sync events like `dsync.user.created`, `dsync.user.updated`, `dsync.user.deleted`, and `dsync.group.updated`. Configure webhooks in the dashboard to receive these events and keep your application in sync with directory changes.
247
+
248
+ ```typescript title="Handle directory sync events"
249
+ app.post('/webhooks/workos', async (req, res) => {
250
+ const event = req.body;
251
+
252
+ switch (event.event) {
253
+ case 'dsync.user.created':
254
+ await createUserFromDirectory(event.data);
255
+ break;
256
+ case 'dsync.user.deleted':
257
+ await deactivateUser(event.data.id);
258
+ break;
259
+ case 'dsync.group.updated':
260
+ await syncGroupMemberships(event.data);
261
+ break;
262
+ }
263
+
264
+ res.status(200).send();
265
+ });
266
+ ```
267
+
268
+ See the [Directory Sync guide](/directory-sync) for complete implementation details.
269
+
270
+ ---
271
+
272
+ ## (5) Authentication and access control
273
+
274
+ Stytch B2B supports several authentication methods and access control features that have equivalent capabilities in AuthKit, though some migration adjustments are necessary.
275
+
276
+ ### Authentication methods
277
+
278
+ Both Stytch and WorkOS support traditional email and password authentication. After importing your users with their password hashes, users can sign in immediately with their existing credentials. Enable password authentication in the dashboard under the _Authentication_ tab and configure password strength requirements as needed.
279
+
280
+ Stytch's magic link authentication can be replaced with [Magic Auth](/authkit/magic-auth). While Stytch sends clickable magic links via email, Magic Auth sends a six-digit one-time code that users enter manually. Magic Auth codes expire after 10 minutes and are automatically validated by AuthKit. Stytch's email OTP authentication is functionally identical to Magic Auth, so no application logic changes are needed.
281
+
282
+ If your Stytch users sign in through OAuth providers like Google, Microsoft, or GitHub, they can continue using the same providers. After configuring OAuth providers in the dashboard, users can sign in with their social credentials and will be automatically linked to their user account based on email address matching.
283
+
284
+ In the dashboard:
285
+
286
+ 1. Navigate to Authentication > OAuth providers
287
+ 2. Select the provider (Google, Microsoft, GitHub, etc.)
288
+ 3. Add OAuth client credentials (Client ID and Secret)
289
+ 4. Copy the redirect URI and add to your OAuth app configuration
290
+
291
+ Users authenticate through AuthKit, which handles the OAuth flow.
292
+
293
+ ```typescript title="Configure OAuth providers"
294
+ const { user } = await workos.userManagement.authenticateWithCode({
295
+ code: authorizationCode,
296
+ clientId: process.env.WORKOS_CLIENT_ID,
297
+ });
298
+ ```
299
+
300
+ Check the [integrations page](/integrations) for the complete list of supported OAuth providers, including [Google OAuth](/integrations/google-oauth), [Microsoft OAuth](/integrations/microsoft-oauth), and [GitHub OAuth](/integrations/github-oauth).
301
+
302
+ ### Multi-factor authentication
303
+
304
+ Both Stytch and WorkOS support TOTP authenticators like Google Authenticator, Authy, and 1Password. WorkOS supports importing existing TOTP secrets during migration through the [developer-provided TOTP secrets](https://workos.com/changelog/developer-provided-totp-secrets) feature, which allows users to keep their existing authenticator app configurations without re-enrollment.
305
+
306
+ However, [Stytch cannot export TOTP secrets](https://stytch.com/docs/guides/migrations/migrating-user-data-statically#adding-totp-or-biometrics-for-mfa). Users who have TOTP MFA enrolled in Stytch will need to re-enroll their authenticator apps with WorkOS during their next sign-in. Enable MFA in the dashboard under the _Authentication_ tab and configure whether MFA is optional or required. Communicate this change to your users before migration so they're prepared to scan a new QR code or enter a new secret key.
307
+
308
+ While Stytch supports SMS-based MFA, WorkOS does not due to known security vulnerabilities with SMS (SIM swapping, interception, etc.). Users who currently have SMS-based MFA will need to switch to TOTP authenticators, email-based Magic Auth, or modern biometric [Passkeys](/authkit/passkeys). See the [MFA guide](/authkit/mfa) for enrollment flows and implementation details.
309
+
310
+ ### Roles and sessions
311
+
312
+ Stytch B2B provides RBAC with custom resources, roles, and actions. WorkOS offers similar capabilities through [roles and permissions](/authkit/roles-and-permissions). When migrating, identify your roles defined in Stytch, create equivalent roles in the dashboard, and assign roles during migration by specifying the `roleSlug` parameter when creating organization memberships. If your Stytch implementation uses complex RBAC policies with custom resources and actions, you may need to simplify to standard roles or implement custom authorization in your application logic.
313
+
314
+ ```typescript title="Assign roles during migration"
315
+ const roleMapping = {
316
+ stytch_admin: 'admin',
317
+ stytch_member: 'member',
318
+ custom_role_123: 'manager',
319
+ };
320
+
321
+ await workos.userManagement.createOrganizationMembership({
322
+ userId: workosUserId,
323
+ organizationId: workosOrgId,
324
+ roleSlug: roleMapping[stytchMember.roles[0].role_id] || 'member',
325
+ });
326
+ ```
327
+
328
+ JWT-based session tokens are used for authentication state. Your application will need to handle these session tokens. Use [an SDK](/sdks) to verify, extract user context (user ID, organization ID, role), and implement token refresh logic if using long-lived sessions.
329
+
330
+ ```typescript title="Handle WorkOS sessions"
331
+ import { WorkOS } from '@workos-inc/node';
332
+
333
+ const workos = new WorkOS(process.env.WORKOS_API_KEY);
334
+
335
+ const { user, organizationId, role } =
336
+ await workos.userManagement.authenticateWithCode({
337
+ code: authorizationCode,
338
+ clientId: process.env.WORKOS_CLIENT_ID,
339
+ });
340
+
341
+ // Store session in your application
342
+ req.session.userId = user.id;
343
+ req.session.organizationId = organizationId;
344
+ req.session.role = role;
345
+ ```
346
+
347
+ See the [AuthKit guide](/authkit) for complete session management implementation.
348
+
349
+ ---
350
+
351
+ ## Next steps
352
+
353
+ Be sure to understand how to [handle interim new users](/migrate/other-services/3-handling-interim-new-users) for managing users who sign up during your migration process.
354
+
355
+ After completing your migration to WorkOS, you can take advantage of additional features:
356
+
357
+ - **[Audit Logs](/audit-logs)**: Track security-relevant events across your application
358
+ - **[Radar](/authkit/radar)**: Protect against bots, fraud, and abuse
359
+ - **[Vault](/vault)**: Encrypt, store, and control access to sensitive data
360
+
361
+ If you haven't already, check out the [AuthKit Quick Start guide](/authkit) to learn how to integrate WorkOS into your application.
362
+
363
+ For questions or assistance with your migration, contact [support@workos.com](mailto:support@workos.com).
@@ -0,0 +1,255 @@
1
+ ---
2
+ title: Migrate from Supabase Auth
3
+ description: Learn how to migrate users from Supabase Auth.
4
+ icon: supabase
5
+ breadcrumb:
6
+ title: Migrations
7
+ url: /migrate
8
+ originalPath: .tmp-workos-clone/packages/docs/content/migrate/supabase.mdx
9
+ ---
10
+
11
+ ## Introduction
12
+
13
+ The AuthKit API allows you to migrate your existing user data from a variety of existing sources. In this guide, we will walk through the steps to export, and then import your users from Supabase Auth.
14
+
15
+ ---
16
+
17
+ ## (1) Export Supabase data
18
+
19
+ Supabase stores authentication data directly in your PostgreSQL database under the `auth` schema. This gives you full access to export user data, including password hashes, through direct database queries.
20
+
21
+ ### Export users via SQL
22
+
23
+ You can export users by querying the `auth.users` table directly in the [Supabase SQL Editor](https://supabase.com/docs/guides/database/overview#the-sql-editor) or by using a database client connected to your Supabase project.
24
+
25
+ ```sql title="Export users from Supabase"
26
+ SELECT
27
+ id,
28
+ email,
29
+ encrypted_password,
30
+ email_confirmed_at,
31
+ phone,
32
+ phone_confirmed_at,
33
+ raw_user_meta_data,
34
+ created_at
35
+ FROM auth.users;
36
+ ```
37
+
38
+ For a complete export that includes social login identities, join with the `auth.identities` table.
39
+
40
+ ```sql title="Export users with social logins"
41
+ SELECT
42
+ u.id,
43
+ u.email,
44
+ u.encrypted_password,
45
+ u.email_confirmed_at IS NOT NULL as email_verified,
46
+ u.raw_user_meta_data->>'full_name' as full_name,
47
+ u.raw_user_meta_data->>'name' as name,
48
+ i.provider,
49
+ i.provider_id
50
+ FROM auth.users u
51
+ LEFT JOIN auth.identities i ON u.id = i.user_id;
52
+ ```
53
+
54
+ You can also export this data using `pg_dump` with your Supabase connection string, which will include the entire `auth` schema.
55
+
56
+ ### Export passwords
57
+
58
+ Supabase stores password hashes in the `encrypted_password` column of the `auth.users` table using the [bcrypt algorithm](https://en.wikipedia.org/wiki/Bcrypt). Unlike some other providers, Supabase gives you direct database access, so you can export password hashes without needing to contact support.
59
+
60
+ ---
61
+
62
+ ## (2) Import users into WorkOS
63
+
64
+ With the data from your Supabase export, you can use the [Create User API](/reference/authkit/user/create) to import each user. The API is rate-limited, so for large migrations implement batching with appropriate delays. See the [rate limits documentation](/reference/rate-limits) for more information.
65
+
66
+ Use the following mapping from Supabase fields to WorkOS API parameters:
67
+
68
+ | Supabase | | WorkOS API |
69
+ | ---------------------------------- | --- | --------------------------------- |
70
+ | `email` | → | `email` |
71
+ | `email_confirmed_at IS NOT NULL` | → | `email_verified` |
72
+ | `raw_user_meta_data->>'full_name'` | → | `first_name`, `last_name` (split) |
73
+
74
+ Here’s an example migration script:
75
+
76
+ ```typescript
77
+ import { WorkOS } from '@workos-inc/node';
78
+
79
+ const workos = new WorkOS(process.env.WORKOS_API_KEY);
80
+
81
+ interface SupabaseUser {
82
+ email: string;
83
+ email_verified: boolean;
84
+ full_name?: string;
85
+ // Omit this field if you are not importing passwords
86
+ encrypted_password?: string;
87
+ }
88
+
89
+ function splitName(fullName?: string): {
90
+ firstName?: string;
91
+ lastName?: string;
92
+ } {
93
+ fullName = fullName?.trim();
94
+ if (!fullName) return {};
95
+ const parts = fullName.split(/\s+/);
96
+ if (parts.length === 1) return { firstName: parts[0] };
97
+ return {
98
+ firstName: parts[0],
99
+ lastName: parts.slice(1).join(' '),
100
+ };
101
+ }
102
+
103
+ async function migrateUsers(supabaseUsers: SupabaseUser[]) {
104
+ for (const user of supabaseUsers) {
105
+ try {
106
+ const { firstName, lastName } = splitName(user.full_name);
107
+
108
+ const workosUser = await workos.userManagement.createUser({
109
+ email: user.email,
110
+ emailVerified: user.email_verified,
111
+ firstName,
112
+ lastName,
113
+ // Import the bcrypt password hash directly
114
+ // Omit these fields if you are not importing passwords
115
+ passwordHash: user.encrypted_password,
116
+ passwordHashType: 'bcrypt',
117
+ });
118
+
119
+ console.log(`Migrated user: ${user.email} -> ${workosUser.id}`);
120
+ } catch (error) {
121
+ console.error(`Failed to migrate user ${user.email}:`, error);
122
+ }
123
+ }
124
+ }
125
+ ```
126
+
127
+ ### Import passwords
128
+
129
+ Supabase uses the bcrypt password hashing algorithm, which WorkOS supports. You can import password hashes during [user creation](/reference/authkit/user/create) or later using the [Update User API](/reference/authkit/user/update).
130
+
131
+ Pass the following parameters to the API:
132
+
133
+ - The `password_hash_type` set to `'bcrypt'`
134
+ - The `password_hash` set to the `encrypted_password` value from your Supabase export
135
+
136
+ Once imported, users can continue to sign in with their existing password without needing to reset it.
137
+
138
+ ### Migrate social auth users
139
+
140
+ If you have users who signed in through Supabase using social auth providers like [Google](/integrations/google-oauth) or [Microsoft](/integrations/microsoft-oauth), those users can continue to sign in with those providers after migration.
141
+
142
+ Check out the [integrations](/integrations) page for guidance on configuring the relevant provider’s client credentials.
143
+
144
+ After your provider is configured, users can sign in with their provider credentials and will be automatically linked to a WorkOS user. WorkOS uses the **email address** from the social auth provider to determine this match.
145
+
146
+ > Some users may need to verify their email address if email verification is enabled in your environment’s authentication settings.
147
+
148
+ Email verification behavior varies depending on whether the provider is known to verify email addresses. For example, users signing in using Google OAuth with a `gmail.com` email domain will not need to perform the extra verification step.
149
+
150
+ ---
151
+
152
+ ## (3) Special considerations
153
+
154
+ There are several differences between Supabase Auth and WorkOS that you should consider when planning your migration.
155
+
156
+ ### Organizations and multi-tenancy
157
+
158
+ Supabase Auth does not have native support for organizations or multi-tenancy. Many Supabase applications implement multi-tenancy using Row Level Security (RLS) policies with a `tenant_id` column or by storing tenant information in `app_metadata`.
159
+
160
+ WorkOS provides native [Organizations](/reference/organization) designed specifically for B2B applications. When migrating, you can:
161
+
162
+ 1. Create Organizations using the [Create Organization API](/reference/organization/create)
163
+ 2. Add users to their organizations using the [Organization Membership API](/reference/authkit/organization-membership/create)
164
+ 3. Assign roles using the `roleSlug` parameter if you’re using [roles and permissions](/authkit/roles-and-permissions)
165
+
166
+ If you stored tenant IDs in Supabase’s `app_metadata`, you can use those values to map users to their respective organizations:
167
+
168
+ ```typescript
169
+ import { WorkOS } from '@workos-inc/node';
170
+
171
+ const workos = new WorkOS(process.env.WORKOS_API_KEY);
172
+
173
+ interface TenantMapping {
174
+ supabaseTenantId: string;
175
+ workosOrgId: string;
176
+ }
177
+
178
+ async function createMemberships(
179
+ userIdMap: Map<string, string>,
180
+ tenantMappings: TenantMapping[],
181
+ supabaseUsers: Array<{
182
+ id: string;
183
+ app_metadata: { tenant_id?: string };
184
+ }>,
185
+ ) {
186
+ for (const user of supabaseUsers) {
187
+ const tenantId = user.app_metadata?.tenant_id;
188
+ if (!tenantId) continue;
189
+
190
+ const workosUserId = userIdMap.get(user.id);
191
+ const orgMapping = tenantMappings.find(
192
+ (t) => t.supabaseTenantId === tenantId,
193
+ );
194
+
195
+ if (!workosUserId || !orgMapping) continue;
196
+
197
+ try {
198
+ await workos.userManagement.createOrganizationMembership({
199
+ userId: workosUserId,
200
+ organizationId: orgMapping.workosOrgId,
201
+ });
202
+ } catch (error) {
203
+ console.error(`Failed to create membership for user ${user.id}:`, error);
204
+ }
205
+ }
206
+ }
207
+ ```
208
+
209
+ ### Multi-Factor Authentication
210
+
211
+ Supabase Auth supports [TOTP-based MFA](https://supabase.com/docs/guides/auth/auth-mfa) using authenticator apps and [Phone MFA](https://supabase.com/docs/guides/auth/auth-mfa/phone) using SMS codes.
212
+
213
+ WorkOS supports TOTP-based MFA but does not support SMS-based second factors due to known security vulnerabilities with SMS, such as SIM swap attacks.
214
+
215
+ Users who have enrolled TOTP factors in Supabase will need to re-enroll in MFA after migration, as TOTP secrets cannot be exported from Supabase. Users who were using SMS-based MFA will need to switch to TOTP-based authentication or use [email-based Magic Auth](/authkit/magic-auth) as an alternative.
216
+
217
+ See the [MFA guide](/authkit/mfa) for more information on enrolling users.
218
+
219
+ ### Enterprise SSO
220
+
221
+ Both Supabase Auth and WorkOS support [SAML 2.0](https://supabase.com/docs/guides/auth/enterprise-sso/auth-sso-saml) for enterprise single sign-on. If you’re currently using Supabase’s SSO features, WorkOS offers equivalent and expanded capabilities through [Single Sign-On](/sso).
222
+
223
+ When migrating enterprise customers who use SSO, you’ll need to coordinate with them to reconfigure their Identity Provider (IdP) to point to WorkOS instead of Supabase. WorkOS provides [comprehensive documentation](/sso) for setting up SSO connections with various providers including Okta, Azure AD, and Google Workspace.
224
+
225
+ ### Passwordless authentication
226
+
227
+ Supabase supports [Magic Links](https://supabase.com/docs/guides/auth/auth-magic-link) and [OTP-based passwordless login](https://supabase.com/docs/guides/auth/passwordless-login/auth-email-otp). WorkOS provides similar functionality through [Magic Auth](/authkit/magic-auth), which delivers secure, one-click email-based authentication.
228
+
229
+ Additionally, WorkOS supports [Passkeys](/authkit/passkeys) (WebAuthn) through AuthKit’s hosted UI, offering:
230
+
231
+ - **Progressive enrollment**: Users with password-based accounts can be prompted to create passkeys
232
+ - **MFA integration**: Passkeys serve as both first and second factors when MFA is enabled
233
+ - **Secure authentication**: Using biometric or PIN verification on the user’s device
234
+
235
+ ### Handling interim new users
236
+
237
+ If your application allows users to sign up at any time, [consider the timing of your migration](/migrate/other-services/3-handling-interim-new-users). Users who sign up after you’ve exported data from Supabase but before you’ve switched to WorkOS for authentication will be omitted from the migration.
238
+
239
+ Two main strategies to handle this:
240
+
241
+ #### (A) Disable signups during migration
242
+
243
+ Schedule an appropriate time for the migration and temporarily disable signup functionality using a feature flag. After the migration is complete and your application is using WorkOS for authentication, re-enable signups.
244
+
245
+ #### (B) Use a dual-write strategy
246
+
247
+ For applications that cannot disable signups, implement a dual-write strategy. When a new user signs up, create records in both Supabase and WorkOS using the [Create User API](/reference/authkit/user/create). This keeps WorkOS synchronized with new users while you complete the historical migration.
248
+
249
+ Be aware that you’ll need to keep user updates (email changes, password changes) synchronized between both systems until the migration is complete.
250
+
251
+ ---
252
+
253
+ ## Next steps
254
+
255
+ With your users imported, you can start using WorkOS to manage authentication for your application. If you haven’t already, take a look at the [AuthKit Quick Start guide](/authkit) to learn how to integrate AuthKit into your application.
@@ -55,7 +55,7 @@ Events can also be ingested with the Events API, which is the preferred method f
55
55
 
56
56
  - All requests use HTTPS on port 443
57
57
  - All authentication requests originate from [Cloudflare's published IP ranges](https://www.cloudflare.com/ips/)
58
- - All outbound requests for [Actions Webhooks](/user-management/actions) and [event and log streaming](/events/observability/datadog) will originate from the following IP ranges:
58
+ - All outbound requests for [Actions Webhooks](/authkit/actions) and [event and log streaming](/events/observability/datadog) will originate from the following IP ranges:
59
59
 
60
60
  - 3.217.146.166
61
61
  - 23.21.184.92
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: Pipes
3
+ links:
4
+ - title: Getting Started
5
+ links:
6
+ - title: Overview
7
+ url: /pipes
8
+ - title: Providers
9
+ url: /pipes/providers
10
+ originalPath: .tmp-workos-clone/packages/docs/content/pipes/_navigation.mdx
11
+ ---
12
+