@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
@@ -1,224 +0,0 @@
1
- ---
2
- title: Schema Management
3
- description: >-
4
- Learn how to test, debug, and safely apply changes to your authorization
5
- schema and setup a GitOps workflow to automatically validate and apply changes
6
- to production.
7
- originalPath: .tmp-workos-clone/packages/docs/content/fga/schema-management.mdx
8
- ---
9
-
10
- ## Overview
11
-
12
- Designing a schema that meets your requirements and using it in production for the first time is only the beginning of your fine-grained authorization journey. As your product's authorization requirements change, you will need to evolve your schema to meet those requirements.
13
-
14
- To do this safely, you need a process in place to test, debug, and safely apply changes to your schema in production. In case of bugs, you also need the ability to roll back to a previous (working) schema if needed.
15
-
16
- This guide will explain how to use the [FGA Dashboard](https://fga.workos.com) and [WorkOS CLI](https://github.com/workos/workos-cli) to test and debug your schema. We will use the CLI and the [CLI GitHub Action](https://github.com/workos/cli-action) to setup a GitOps workflow that automatically tests and applies changes to your schema as part of your software development life cycle (SDLC).
17
-
18
- ## Before getting started
19
-
20
- To get the most out of this guide, you'll need:
21
-
22
- - A [WorkOS account](https://dashboard.workos.com/)
23
- - Your WorkOS [API Key](/glossary/api-key)
24
- - The [WorkOS CLI](/fga/quick-start/1-install-the-workos-cli)
25
-
26
- ---
27
-
28
- ## Test Your Schema
29
-
30
- Let's create a shell script that uses the WorkOS CLI to test the example schema below.
31
-
32
- > Note: we've decided to prefix permissions in our authorization model with `can_` (`can_invite_users`) to imply an action. This is not a required convention, so feel free to use relation names that suit your application.
33
-
34
- ```fga title="schema.txt"
35
- version 0.3
36
-
37
- type user
38
-
39
- type organization
40
- relation role_admin [user]
41
- relation role_member [user]
42
- relation can_invite_users []
43
- relation can_remove_users []
44
- relation can_view_users []
45
-
46
- inherit role_member if
47
- relation role_admin
48
-
49
- inherit can_invite_users if
50
- relation role_admin
51
-
52
- inherit can_remove_users if
53
- relation role_admin
54
-
55
- inherit can_view_users if
56
- relation role_member
57
-
58
- ```
59
-
60
- First, apply the schema
61
-
62
- ```shell title="Apply the example schema"
63
- workos fga schema apply schema.txt
64
- ```
65
-
66
- Next, use the `fga warrant create` command to setup some warrants.
67
-
68
- ```shell title="Setup test data"
69
- workos fga warrant create user:acme_admin role_admin organization:org_acme
70
- workos fga warrant create user:acme_member role_member organization:org_acme
71
- ```
72
-
73
- Then use the `fga check` command with the `--assert` flag to assert that a permission check returns the expected result.
74
-
75
- ```shell title="Make assertions"
76
- workos fga check user:acme_admin can_invite_users organization:org_acme --assert true
77
- workos fga check user:acme_admin can_remove_users organization:org_acme --assert true
78
- workos fga check user:acme_admin can_view_users organization:org_acme --assert true
79
-
80
- workos fga check user:acme_member can_invite_users organization:org_acme --assert false
81
- workos fga check user:acme_member can_remove_users organization:org_acme --assert false
82
- workos fga check user:acme_member can_view_users organization:org_acme --assert true
83
- ```
84
-
85
- Finally, use the `fga resource delete` command to clean up the test data. This makes it easy to re-run tests with a clean environment in the future.
86
-
87
- ```shell title="Clean up test data"
88
- workos fga resource delete user:acme_admin
89
- workos fga resource delete user:acme_member
90
- workos fga resource delete organization:org_acme
91
- ```
92
-
93
- ---
94
-
95
- ## Debug Your Schema
96
-
97
- The simplest way to understand (debug) why your schema is (or is not) answering a permission check as you expect it to is via the [Check page](https://fga.workos.com/check) or using the `--debug` flag via the CLI.
98
-
99
- ### Using the FGA Dashboard
100
-
101
- To debug a permission check from the FGA dashboard, navigate to the [Check page](https://fga.workos.com/check). Enter valid arguments for the permission check you want to debug and click `Check Access`. The page will display the result of the permission check and a tree visualizing all of the paths in the authorization graph that were explored to reach the result.
102
-
103
- ### Using the CLI
104
-
105
- To debug a permission check using the CLI, use the `fga check` command with the `--debug` flag:
106
-
107
- ```shell title="Debug a permission check"
108
- workos fga check user:james can_approve_purchase purchase:pur_123 --debug
109
- ```
110
-
111
- Permission checks that use the `--debug` flag will output the check result and a tree visualizing all of the paths in the authorization graph that were explored to reach the result.
112
-
113
- > Note: running the `fga check` command with the `--debug` flag will execute the check without any caching enabled.
114
-
115
- #### Tests
116
-
117
- The CLI provides a streamlined way to run multiple tests against your schema using a single `workos fga test command`. The `test` command will set up warrants, perform checks, and handle teardown.
118
-
119
- It also supports running multiple test files from a directory, allowing you to organize tests in a structure that fits your application.
120
-
121
- ```yaml title="org-roles.test.yaml"
122
- setup:
123
- warrants:
124
- - subject: user:acme_admin
125
- relation: role_admin
126
- resource: organization:org_acme
127
- - subject: user:acme_member
128
- relation: role_member
129
- resource: organization:org_acme
130
-
131
- tests:
132
- - name: acme_admin can invite users
133
- check:
134
- subject: user:acme_admin
135
- relation: can_invite_users
136
- resource: organization:org_acme
137
- expect: true
138
-
139
- - name: acme_admin can remove users
140
- check:
141
- subject: user:acme_admin
142
- relation: can_remove_users
143
- resource: organization:org_acme
144
- expect: true
145
-
146
- - name: acme_admin can view users
147
- check:
148
- subject: user:acme_admin
149
- relation: can_view_users
150
- resource: organization:org_acme
151
- expect: true
152
-
153
- - name: acme_member cannot invite users
154
- check:
155
- subject: user:acme_member
156
- relation: can_invite_users
157
- resource: organization:org_acme
158
- expect: false
159
-
160
- - name: acme_member cannot remove users
161
- check:
162
- subject: user:acme_member
163
- relation: can_remove_users
164
- resource: organization:org_acme
165
- expect: false
166
-
167
- - name: acme_member can view users
168
- check:
169
- subject: user:acme_member
170
- relation: can_view_users
171
- resource: organization:org_acme
172
- expect: true
173
-
174
- teardown:
175
- resources:
176
- - user:acme_admin
177
- - user:acme_member
178
- - organization:org_acme
179
- ```
180
-
181
- To run the tests defined in the `schema.test.yaml` file, use the following command:
182
-
183
- ```shell title="Run tests"
184
- workos fga test org-roles.test.yaml
185
- ```
186
-
187
- > The teardown section is optional and used for cleaning up specific data (resources or warrants). If you want to automatically cleanup **all resources and warrants** created during the test, you can also use the `--cleanup` flag when running the `workos fga test` command.
188
-
189
- ---
190
-
191
- ## GitOps Workflow
192
-
193
- Now that we have a script to test that our schema works as we expect, let's setup a GitHub Action to automatically test changes to the schema and apply the schema if all of the tests pass.
194
-
195
- ```yaml title=".github/workflows/fga.yaml"
196
- name: Test FGA Schema
197
-
198
- on:
199
- push:
200
- branches: [main]
201
-
202
- jobs:
203
- ci:
204
- runs-on: ubuntu-latest
205
- steps:
206
- - name: Install WorkOS CLI
207
- uses: workos/cli-action@v1
208
- with:
209
- version: latest
210
- - name: Test Schema
211
- run: |
212
- workos fga schema apply schema.txt
213
- workos fga test tests/org-roles.test.yaml
214
- env:
215
- WORKOS_ACTIVE_ENVIRONMENT: staging
216
- WORKOS_ENVIRONMENTS_HEADLESS_API_KEY: <your_workos_staging_api_key>
217
- - name: Apply Schema to Production
218
- if: github.ref == 'main' && github.event_name == 'push'
219
- run: |
220
- workos fga schema apply schema.txt
221
- env:
222
- WORKOS_ACTIVE_ENVIRONMENT: production
223
- WORKOS_ENVIRONMENTS_HEADLESS_API_KEY: <your_workos_production_api_key>
224
- ```
@@ -1,388 +0,0 @@
1
- ---
2
- title: Schema
3
- description: >-
4
- Define authorization logic independently from application code using a
5
- domain-specific language (DSL).
6
- showNextPage: true
7
- originalPath: .tmp-workos-clone/packages/docs/content/fga/schema.mdx
8
- ---
9
-
10
- ## Overview
11
-
12
- A schema is the core structure of an authorization model in FGA. It defines the types of resources, the relations between them, and the policies that govern access.
13
-
14
- A schema can be represented in two formats:
15
-
16
- - **JSON** – Accepted by [Schema API](/reference/fga/schema) endpoints when using `Content-Type: application/json`.
17
- - **FGA Schema Language** – A more developer-friendly domain-specific language (DSL) that is applied via the `apply` command with the CLI or on the [FGA Dashboard](https://fga.workos.com/schema).
18
-
19
- Schemas allow you to manage authorization logic independently from application logic. They can be versioned, stored in Git, and applied via the CLI:
20
-
21
- ```shell
22
- workos fga schema apply ./schema.txt
23
- ```
24
-
25
- Once applied, changes take effect immediately, meaning any updates to authorization logic will instantly reflect in subsequent permission checks and queries.
26
-
27
- FGA Schema Language transpiles into JSON format so that you can write your authorization model in a more readable and maintainable way, but still use JSON for API calls if you prefer.
28
-
29
- ## JSON vs Schema Language
30
-
31
- The JSON representation of a schema is the raw format that FGA uses to define resource types, relations, and inheritance rules. However, it can be verbose and difficult to read - especially for complex authorization models.
32
-
33
- Consider the following examples:
34
-
35
- ### JSON Representation
36
-
37
- ```json
38
- {
39
- "resource_types": [
40
- {
41
- "type": "user",
42
- "relations": {
43
- "manager": {
44
- "allowed_types": ["user"]
45
- }
46
- }
47
- },
48
- {
49
- "type": "store",
50
- "relations": {
51
- "owner": {
52
- "allowed_types": ["user"]
53
- },
54
- "editor": {
55
- "allowed_types": ["user"],
56
- "inherit_if": "owner"
57
- },
58
- "viewer": {
59
- "allowed_types": ["user"],
60
- "inherit_if": "editor"
61
- }
62
- }
63
- },
64
- {
65
- "type": "item",
66
- "relations": {
67
- "owner": {
68
- "allowed_types": ["user"]
69
- "inherit_if": "owner",
70
- "of_type": "store",
71
- "with_relation": "parent"
72
- },
73
- "editor": {
74
- "allowed_types": ["user"],
75
- "inherit_if": "any_of",
76
- "rules": [
77
- {
78
- "inherit_if": "owner"
79
- },
80
- {
81
- "inherit_if": "editor",
82
- "of_type": "store",
83
- "with_relation": "parent"
84
- },
85
- {
86
- "inherit_if": "manager",
87
- "of_type": "user",
88
- "with_relation": "owner"
89
- }
90
- ]
91
- },
92
- "viewer": {
93
- "allowed_types": ["user"],
94
- "inherit_if": "editor"
95
- },
96
- "parent": {
97
- "allowed_types": ["store"]
98
- }
99
- }
100
- }
101
- ]
102
- }
103
- ```
104
-
105
- ### Schema Language Representation
106
-
107
- ```fga
108
- version 0.3
109
-
110
- type user
111
- relation manager [user]
112
-
113
- type store
114
- relation owner [user]
115
-
116
- relation viewer [user]
117
- inherit viewer if
118
- relation editor // editors are also viewers
119
-
120
- relation editor [user]
121
- inherit editor if
122
- relation owner
123
-
124
- type item
125
- // An item can have a parent store
126
- relation parent [store]
127
-
128
- relation owner [user]
129
- inherit owner if
130
- relation owner on parent [store]
131
-
132
- relation editor [user]
133
- inherit editor if
134
- any_of
135
- relation owner
136
- relation editor on parent [store]
137
- relation manager on owner [user]
138
-
139
- relation viewer [user]
140
- inherit viewer if
141
- relation editor
142
- ```
143
-
144
- The FGA schema language representation is more concise, easier to read, and supports comments. These features make it simpler to define and manage complex authorization models in a more developer-friendly format.
145
-
146
- ## Schema Syntax
147
-
148
- ### Version
149
-
150
- Each schema must start with a `version` declaration. This version declaration dictates the version of the schema language the transpiler will use to convert the schema into its JSON representation. As we add support for new features and functionality to the schema language, we will release new versions of it. Versioning the language in this way allows us to ensure backwards compatibility as we roll out these enhancements. See a full changelog of schema versions [here](/fga/schema/schema-changelog).
151
-
152
- <CodeBlock file="schema-version" />
153
-
154
- ### Comments
155
-
156
- Comments are prefixed with `//`. Comments are ignored by the transpiler.
157
-
158
- <CodeBlock file="schema-comment" />
159
-
160
- ### Resource Types
161
-
162
- Resource types are the basic building blocks of an authorization model in FGA. Each resource type defines a set of relationships that can exist on a specific type of resource (e.g. store, item, etc). These relationships can be assigned to other resources (e.g. user) known as subjects.
163
-
164
- Resource types are an incredibly flexible way to define authorization models, allowing you to express complex hierarchical and inherited relationships. They can be created directly in the [FGA dashboard](https://fga.workos.com/schema), via the [Resource Types API](/reference/fga/resource-type/create) or by applying the schema with the CLI.
165
-
166
- Let's explore the various attributes of resource types by creating a schema-based authorization model for a simple e-commerce application that has three resource types: users, stores, and items.
167
-
168
- First, define a resource type using the `type` keyword. Each resource type must have a unique string as its type. Let's start defining the resource types for our e-commerce application:
169
-
170
- <CodeBlock file="schema-resource-types" />
171
-
172
- ### Relations
173
-
174
- With the basic definitions above, we've started building an authorization model for our application that will allow us to create fine grained access control rules for stores, items, and users, helping us answer questions like:
175
-
176
- ```shell
177
- Does [user:1] have the ability to [edit] [item:x]?
178
- is [user:1] the [owner] of [store:3]?
179
- ```
180
-
181
- In order to create access rules using our resource types, we first need to define the relationships available on a resource of that type. For example, if we want to specify that `[user:A] is an [owner] of [store:S]`, we must add an `owner` relation to the `store` resource type.
182
-
183
- By default, a subject can only have a relation on a resource explicitly. This means the relation must be _explicitly_ granted via a [warrant](/fga/warrants).
184
-
185
- Let's add some relations to our resource types.
186
-
187
- In our application, a store can have `owners`, `editors`, and `viewers`. `owners` and `editors` have more privileged access (like being able to modify details about a store) than `viewers` (who have read-only access).
188
-
189
- An item can have the same three relations as a store _plus_ a fourth relation called `parent`. This is because a store can be the `parent` of an item, meaning the item belongs to that store. We'll use this relation later to implement inherited relations on items.
190
-
191
- Lastly, our `user` resource type is relatively simple and has one relation: `manager`. This is because a user can be the `manager` of another user. We'll use this relation later to enable inherited relations based on user hierarchies.
192
-
193
- Let's add these relations to our resource types:
194
-
195
- <CodeBlock file="schema-relations" />
196
-
197
- With these resource types, we can now create authorization rules that specify exactly which users are `owners`, `editors`, and `viewers` of each store or item. We can also assign stores as `parents` of items, and users as `managers` of other users.
198
-
199
- Use brackets [] in the schema language after defining a relation to enforce which type(s) of subjects can be assigned the relation.
200
-
201
- Use empty type restrictions to define computed relationships with no direct subjects. This is useful for defining a relation that cannot be assigned directly to a subject but is used to make an authorization check from your application.
202
-
203
- > Version `0.1` of the schema language does not support type safety on relations.
204
-
205
- ### Inheritance Rules
206
-
207
- While only using explicitly assigned relations to build your authorization model can be powerful, creating warrants for each and every relationship in an application can become tedious or infeasible for larger, more complex use cases. That's why relations can define rules under which they can be inherited (e.g. `a user is an editor of a store if they're an owner of that store`).
208
-
209
- There are two ways in which relations can be inherited:
210
-
211
- - Relation Inheritance
212
- - Resource Inheritance
213
-
214
- #### Relation Inheritance
215
-
216
- In practice, it's common for relations to have overlap (e.g. an `owner` has the same privileges as an `editor` + additional privileges). For example, in many applications a user with write privileges inherits read privileges too.
217
-
218
- In our example application, an `owner` will inherit both the `editor` and the `viewer` relations, and an `editor` will inherit the `viewer` relation. Instead of having to explicitly assign each of the `owner`, `editor`, and `viewer` relations to a user who is an `owner`, resource types allow you to specify an inheritance hierarchy (e.g. the `editor` relation is inherited if the user is an `owner`) using the `inherit_if` property.
219
-
220
- Let's add `inherit <relation> if` rules to our `store` and `item` resource types specifying that:
221
-
222
- - `owners` are also `editors`
223
- - `editors` are also `viewers`
224
-
225
- <CodeBlock file="schema-relation-inheritance" />
226
-
227
- With our `inherit <relation> if` rules in place, we can simply grant a user the `editor` relation and they will implicitly inherit the `viewer` relation. `inherit` rules also work recursively on other inherited relations, so assigning a user the `owner` relation will implicitly grant that user _both_ the `editor` and `viewer` relations. This is because `owner` will inherit `editor` and `editor` will in turn inherit `viewer`.
228
-
229
- This will simplify our access checks and cut down on the number of warrants we need to create for each user.
230
-
231
- #### Resource Inheritance
232
-
233
- In many applications, resources themselves have a hierarchy (e.g. a document belongs to a folder, a user belongs to a team, a team belongs to an organization, etc.) and the access rules for these resources follow that hierarchy (e.g. the owner of a folder is the owner of any document in that folder).
234
-
235
- Using the following two rules:
236
-
237
- ```txt
238
- inherit <relation> if
239
- ```
240
-
241
- ```txt
242
- relation <resource_type.relation> on <relation> [<resource_type>]
243
- ```
244
-
245
- We can specify that a relation can be inherited when a user has a particular relation (`<resource_type.relation>`) on another resource (`<resource_type>`) that has a particular relation (`<relation>`) on the resource we are checking access to.
246
-
247
- For example, a user is an `editor` of a document if they are an `editor` of a `folder` that is the document's `parent`. In our example app, let's define the following three resource inheritance rules:
248
-
249
- 1. A user is an `owner` of an item if that user is an `owner` of a `store` that is the item's `parent`.
250
- 2. A user is an `editor` of an item if that user is an `editor` of a `store` that is the item's `parent`.
251
- 3. A user is an `editor` of an item if that user is the `manager` of the `user` that is the item's `owner`.
252
-
253
- > **NOTE:** Some of the relations below will be [composing multiple inheritance rules together using logical operators](/fga/schema/schema-syntax/logical-operators). We'll cover this in detail later.
254
-
255
- <CodeBlock file="schema-resource-inheritance" />
256
-
257
- These rules make it easy to define inheritance rules for complex relationships between resources so we don't have to create a large number of explicit warrants. Without them, we'd need to create a warrant for every item &harr; store &harr; user relationship in our application. This could easily be thousands, if not hundreds of thousands of rules.
258
-
259
- ### Logical Operators
260
-
261
- With both the two types of relation inheritance rules in our toolkit, we can create authorization models for a majority of use cases, but there are still some scenarios that require a combination of these inheritance rules (e.g. a user is an `editor` of an item if they are an `owner` of that item **OR** they are the `manager` of another user who is an `editor` of that item).
262
-
263
- To design authorization models that cover such scenarios, relations can compose multiple inheritance rules using _logical operators_ to form more complex conditions.
264
-
265
- The three supported logical operations are `any_of`, `all_of`, and `none_of`.
266
-
267
- #### any_of
268
-
269
- The `any_of` operation allows you to specify that a relation be inherited if _at least one of_ the rules in the set is satisfied. In other words, it works like the logical _OR_ operation.
270
-
271
- The following resource type specifies an `editor-or-viewer` relation that is inherited if the user is an `editor` **OR** if the user is a `viewer`:
272
-
273
- <CodeBlock file="schema-any-of" />
274
-
275
- #### all_of
276
-
277
- The `all_of` rule type allows you to specify that a relation be inherited if _all of_ the rules in the set are satisfied. In other words, it works like the logical _AND_ operation.
278
-
279
- The following resource type specifies an `editor-and-viewer` relation that is implicitly granted if the user is an `editor` **AND** the user is a `viewer`:
280
-
281
- <CodeBlock file="schema-all-of" />
282
-
283
- #### none_of
284
-
285
- The `none_of` rule type allows you to specify that a relation be inherited if _none of_ the rules in the set are satisfied. In other words, it works like the logical _NOR_ operation.
286
-
287
- The following resource type specifies a `not-editor-and-not-viewer` relation that is implicitly granted if the user is _not_ an `editor` **AND** the user is _not_ a `viewer`:
288
-
289
- <CodeBlock file="schema-none-of" />
290
-
291
- ### Policies
292
-
293
- Policies are a way to define custom logic that can be used in your schema. They allow you to create complex rules that go beyond simple relation inheritance. Policies can be defined using the `policy` keyword and can include parameters, expressions, and logical conditions.
294
-
295
- <CodeBlock file="schema-policies" />
296
-
297
- Read more about policies in the [Policies documentation](/fga/policies).
298
-
299
- ### Group Warrants
300
-
301
- Define type restrictions on [group warrants](/fga/warrants/group-warrants) by joining the type and expected relation with a `#`. For example, `relation editor [group#member]` means that the `editor` relation can be assigned to warrants where `group` is the subject type and `member` is the subject relation.
302
-
303
- Group warrants are a special type of warrant that allow you to define exceptions to schema relationships at runtime. See the [Group Warrant documentation](/fga/warrants/group-warrants) for more details.
304
-
305
- <CodeBlock file="schema-group-warrants" />
306
-
307
- If your relation type defines a resource type and no group warrant types, it will default to allow all group warrants.
308
-
309
- For example:
310
-
311
- ```js
312
- // Allows subject_type == "group" and subject_relation == null | <any_value>
313
- relation editor [group]
314
-
315
- // Allows subject_type == "group" and subject_relation == "member"
316
- relation editor [group#member]
317
-
318
- // Allows subject_type == "group" and subject_relation == "member" | "owner"
319
- relation editor [group#member, group#ownwer]
320
-
321
- // Allows subject_type == "group" and subject_relation == null | "member"
322
- relation editor [group, group#member]
323
- ```
324
-
325
- ## Converting Schema Language to JSON
326
-
327
- You can convert the FGA schema language to JSON using the `workos fga schema convert` command. This command transpiles the schema language into its JSON representation, which can then be used with the FGA API.
328
-
329
- ```shell
330
- workos fga schema convert schema.txt --to json --output raw > schema.json
331
- ```
332
-
333
- ## Schema Changelog
334
-
335
- ### v0.3
336
-
337
- - Add support for policy in the schema
338
-
339
- ```fga
340
- version 0.3
341
-
342
- type user
343
-
344
- type group
345
- relation member [user]
346
-
347
- type asset
348
- relation access_diagnostics []
349
- relation service_manager [group]
350
-
351
- inherit access_diagnostics if
352
- all_of
353
- relation member on service_manager [group]
354
- policy is_in_geo_fence
355
-
356
- policy is_in_geo_fence(user_location map, geofence map) {
357
- user_location.lat >= geofence.min_lat &&
358
- user_location.lat <= geofence.max_lat &&
359
- user_location.lon >= geofence.min_lon &&
360
- user_location.lon <= geofence.max_lon
361
- }
362
-
363
- ```
364
-
365
- ### v0.2
366
-
367
- - Add support for resource-type relation type safety
368
- - Add support for group warrant types
369
-
370
- ```fga
371
- version 0.2
372
-
373
- type report
374
- relation parent [organization, organization#member]
375
- relation owner [user]
376
- relation editor [user]
377
- ```
378
-
379
- ### v0.1
380
-
381
- - Initial implementation of the schema language
382
- - Supported features:
383
- - Transpiler version
384
- - Resource types
385
- - Relations
386
- - Inheritance rules
387
- - Resource inheritance
388
- - Logical operators
@@ -1,44 +0,0 @@
1
- ---
2
- title: Warrant Tokens
3
- description: >-
4
- Configure whether you favor performance or consistency on a per request basis
5
- depending on your application's consistency requirements.
6
- showNextPage: true
7
- originalPath: .tmp-workos-clone/packages/docs/content/fga/warrant-tokens.mdx
8
- ---
9
-
10
- ## Overview
11
-
12
- FGA is a distributed service deployed to multiple cloud regions. All traffic to the FGA API flows through a single endpoint (`api.workos.com/fga`). To ensure reliability, data is replicated to multiple regions behind the scenes. To maximize performance, FGA is an _eventually consistent_ service by default.
13
-
14
- In order to balance performance and consistency, FGA supports a _bounded staleness protocol_ similar to Google Zanzibar's _Zookie_ protocol. This allows client applications to specify when they prefer the fastest results (to minimize latency added by authorization checks) and when they prefer immediately consistent results (to ensure recent changes to permissions are reflected for a particular check or query).
15
-
16
- FGA generates an opaque token (known as a _Warrant Token_) for all warrant _write_ operations (i.e. creating or deleting warrants). Each Warrant Token uniquely identifies a warrant write operation. All warrant write operations return a Warrant Token in the response body.
17
-
18
- ```shell
19
- {
20
- "warrant_token": "MjM0fDM0MzQyM3wyMTM0MzM0MzY0NQ=="
21
- }
22
- ```
23
-
24
- ## `Warrant-Token` Header
25
-
26
- Unlike traditional eventually-consistent distributed systems, FGA allows clients to specify their desired consistency level via Warrant Tokens. Clients can pass a previously generated Warrant Token via the `Warrant-Token` header on check, query, and list warrants requests to instruct the server to process the request using data _no older_ than the write operation identified by the specified Warrant Token. This allows clients to ensure that a particular check, query, or list warrants request has the data necessary to give the most up-to-date result as dictated by the application's authorization requirements.
27
-
28
- ### `latest`
29
-
30
- In some cases, a client may need an up-to-date result but may not have an accompanying Warrant Token to use for the request. In this scenario, the client can pass the special value `latest` in the `Warrant-Token` header to instruct FGA to use the most up-to-date data:
31
-
32
- ```shell
33
- 'Warrant-Token: latest'
34
- ```
35
-
36
- Note that using the `latest` token effectively instructs FGA to bypass all caches in favor of hitting the database for the most up-to-date result. Therefore, it can incur additional performance overhead, so it's recommended to only use `latest` sparingly. Instead, opt to use server-provided Warrant Tokens or no token at all (the default consistency) to maximize performance in most cases.
37
-
38
- ## Storing Warrant Tokens
39
-
40
- In practice, clients can store Warrant Tokens in their system on a _per-subject_ basis, passing in the stored token to each read request for that subject to achieve optimal performance. For example, if creating a new warrant (e.g. `user:x is an editor of report:y`) generates a Warrant Token with value `45f87sdf=`, the client can store that token their db along for subject `user:x`. Subsequent checks or queries for `user:x` can then include that stored Warrant Token for the optimal balance of performance and consistency.
41
-
42
- ## Default consistency
43
-
44
- Passing a Warrant Token on check, query, and list warrants requests is optional. If a Warrant Token is not provided, FGA uses a default staleness window to fulfill check and query requests. This window is cache-optimized and is the recommended approach for the 90-95% of read requests that can tolerate short periods (on the order of seconds) of inconsistent results.