Installation

Command Line
PHP

Beta Versions

Certain WorkOS features may be available only in the beta version of the SDK. Beta versions have the -beta.* suffix, for example, 3.2.0-beta.1. For more information on how to use the beta versions, refer to the README in the GitHub repository.

Releases

May 26, 2026

v7.0.0

Latest
May 26, 2026

Miscellaneous Chores

  • deps: update googleapis/release-please-action action to v5 (#389) (f973f21)

  • deps: update shivammathur/setup-php action to v2.37.0 (#388) (f9e113f)

  • use shared workos/renovate-config preset (99aad6c)

  • #392 feat(generated)!: regenerate from spec (10 changes)

    ⚠️ Breaking

    • user_management: Remove organization membership methods from UserManagement service
      • Removed listOrganizationMemberships, createOrganizationMembership, getOrganizationMembership, updateOrganizationMembership, deleteOrganizationMembership, deactivateOrganizationMembership, and reactivateOrganizationMembership methods
      • These methods have been moved to the new OrganizationMembershipService
      • Change to getAuthorizationUrl() parameter screenHint from UserManagementAuthenticationScreenHint to RadarStandaloneAssessRequestAction type
      • Removed UserManagementAuthenticationScreenHint enum
    • user_management: Remove UserManagementOrganizationMembershipGroups service
      • Removed $workos->userManagementOrganizationMembershipGroups() accessor
      • listOrganizationMembershipGroups() has been moved to the new OrganizationMembershipService
    • radar: Remove device fingerprint and bot score from RadarStandaloneAssessRequest
      • Removed deviceFingerprint parameter from Radar.createAttempt() method
      • Removed botScore parameter from Radar.createAttempt() method
      • Removed deviceFingerprint and botScore fields from RadarStandaloneAssessRequest model
      • Removed deprecated enum values from RadarStandaloneAssessRequestAction: Login, Signup, SignUp2, SignUp3, SignIn2, SignIn3
      • Changed enum values in RadarStandaloneAssessRequestAction: SignUp from 'sign up' to 'sign-up', SignIn from 'sign in' to 'sign-in'
      • Removed enum values from RadarStandaloneResponseControl: CredentialStuffing, IpSignUpRateLimit
    • radar: Rename Radar list enums
      • Renamed RadarAction to RadarListAction
      • Renamed RadarType to RadarListType
    • audit_logs: Rename audit log models for consistency
      • Renamed AuditLogActionJson to AuditLogAction
      • Renamed AuditLogExportJson to AuditLogExport
      • Renamed AuditLogExportJsonState to AuditLogExportState
      • Renamed AuditLogSchemaJson to AuditLogSchema
      • Renamed AuditLogSchemaJsonActor to AuditLogSchemaActorInput
      • Renamed AuditLogSchemaJsonTarget to AuditLogSchemaTargetInput
      • Renamed AuditLogsRetentionJson to AuditLogsRetention
      • createSchema() method parameter types changed: AuditLogSchemaActorAuditLogSchemaActorInput, AuditLogSchemaTargetAuditLogSchemaTargetInput
    • webhooks: Rename webhook endpoint models and update status field type
      • Renamed WebhookEndpointJson to WebhookEndpoint
      • Renamed WebhookEndpointJsonStatus to WebhookEndpointStatus
      • Changed UpdateWebhookEndpoint.status field type from WebhookEndpointJsonStatus to WebhookEndpointStatus
      • Updated webhook event enums: added PIPES_CONNECTED_ACCOUNT_CONNECTED, PIPES_CONNECTED_ACCOUNT_DISCONNECTED, PIPES_CONNECTED_ACCOUNT_REAUTHORIZATION_NEEDED events
    • authorization: Update Authorization API with new filters and remove search parameter
      • Added resourceId, resourceExternalId, resourceTypeSlug filter parameters to listRoleAssignments()
      • Added roleSlug filter parameter to listRoleAssignmentsForResourceByExternalId() and listRoleAssignmentsForResource()
      • Removed search parameter from listResources() method
    • vault: Replace hand-maintained WorkOS\Vault class with generated WorkOS\Service\Vault
      • The old WorkOS\Vault class (lib/Vault.php) with client-side encrypt/decrypt helpers has been removed
      • $workos->vault() now returns WorkOS\Service\Vault with a different API surface
      • New generated methods: createDataKey(), createDecrypt(), createRekey(), listKv(), createKv(), getName(), getKv(), updateKv(), deleteKv(), listKvMetadata(), listKvVersions()

    Features

    • organization_membership: Introduce OrganizationMembershipService with membership and group operations
      • New service OrganizationMembershipService with methods: listOrganizationMemberships(), createOrganizationMembership(), getOrganizationMembership(), updateOrganizationMembership(), deleteOrganizationMembership(), deactivateOrganizationMembership(), reactivateOrganizationMembership(), and listOrganizationMembershipGroups()
      • Accessible via $workos->organizationMembership()
      • Replaces functionality previously in UserManagement and UserManagementOrganizationMembershipGroups services
    • vault: Add new Vault service for encrypted key-value storage
      • New Vault service with methods: createDataKey(), createDecrypt(), createRekey(), listKv(), createKv(), getName(), getKv(), updateKv(), deleteKv(), listKvMetadata(), and listKvVersions()
      • Support for encrypted object storage and management with key rotation
      • New models: CreateDataKeyResponse, DecryptResponse, ObjectMetadata, ObjectModel, ObjectSummary, ObjectWithoutValue, ObjectVersion, VersionListResponse
      • New enum: VaultOrder for sort direction
      • Accessible via $workos->vault()
    • api_keys: Add expires_at field to API key models and creation methods
      • Added expires_at field to ApiKey, OrganizationApiKey, OrganizationApiKeyWithValue, UserApiKey, UserApiKeyWithValue models
      • Added expires_at field to ApiKeyCreatedData and ApiKeyRevokedData event data models
      • Added optional expiresAt parameter to createOrganizationApiKey() and createUserApiKey() methods
      • Support for setting API key expiration timestamps
    • applications: Update ApplicationCredentialsListItem and NewConnectApplicationSecret field types
      • Changed ApplicationCredentialsListItem.lastUsedAt field type from ?string to ?\DateTimeImmutable
      • Changed NewConnectApplicationSecret.lastUsedAt field type from ?string to ?\DateTimeImmutable
    • pipes: Add connected account event models and related types
      • New models for pipe events: PipeConnectedAccount, PipesConnectedAccountConnected, PipesConnectedAccountDisconnected, PipesConnectedAccountReauthorizationNeeded
      • New enum: PipeConnectedAccountState with values connected and needs_reauthorization
      • Support for monitoring data integration connection status changes
May 11, 2026

v6.0.2

May 11, 2026

6.0.2 (2026-05-11)

Bug Fixes

  • harden JWT signature verification and URL path encoding (#386) (aa64119)
May 7, 2026

v6.0.1

May 7, 2026

6.0.1 (2026-05-07)

Bug Fixes

  • Preserve full error response body on ApiException (#385) (57052ab)

Miscellaneous Chores

  • release: include v prefix in tags (5517b8b)
May 7, 2026

v6.0.0

May 7, 2026

6.0.0 (2026-05-06)

⚠ BREAKING CHANGES

  • user_management: Add user API keys and update ordering enum
  • api_keys: Restructure API key models and rename ordering enum
  • vault: Rename BYOK key provider enum and add vault key deleted event
  • authorization: Rename RoleAssignment to UserRoleAssignment

Features

  • Add API docs generation and llms.txt index (#382) (ae03f03)
  • api_keys: Restructure API key models and rename ordering enum (1bb2fe4)
  • authorization: Rename EventsOrder to PaginationOrder (1bb2fe4)
  • authorization: Rename RoleAssignment to UserRoleAssignment (1bb2fe4)
  • directory_sync: Add name field to directory users (1bb2fe4)
  • sso: Add full name support to user profiles (1bb2fe4)
  • user_management: Add user API keys and update ordering enum (1bb2fe4)
  • user_management: Add user context to organization memberships (1bb2fe4)
  • vault: Rename BYOK key provider enum and add vault key deleted event (1bb2fe4)

Bug Fixes

  • ci: install composer deps before building docs (8f439e3)
  • events: Add admin_portal to actor source enum (1bb2fe4)
April 28, 2026

v5.2.1

April 28, 2026

5.2.1 (2026-04-28)

Bug Fixes

  • generated: Add default values to optional object fields (#376) (1597af6)
April 27, 2026

v5.2.0

April 27, 2026

5.2.0 (2026-04-27)

Features

  • Add script/setup for pre-generation dependency installation (edc2543)
  • surface error metadata from API responses (#369) (ece118b)

Bug Fixes

  • generated: update generated SDK from spec changes (#372) (0ee912a)
April 20, 2026

v5.1.0

April 20, 2026

5.1.0 (2026-04-20)

Features

  • add group, pipes, and authorization additive API support (#367) (c90a5d6)

Bug Fixes

  • redesign authorization resource targeting and default order handling (b435ced)
  • Remove extractVersion from matchUpdateTypes rules (#365) (f4ad142)
  • type tweaks (780ee85)

Miscellaneous Chores

  • deps: update minor and patch updates (#361) (7e439f7)
April 14, 2026

v5.0.3

April 14, 2026

5.0.3 (2026-04-14)

Bug Fixes

  • build redirect endpoint URLs locally instead of making HTTP requests (#358) (eae3949)
  • docs: add [@throws](https://github.com/throws) to PHPDoc when appropriate (#360) (ed68872)
April 14, 2026

v5.0.2

April 14, 2026

5.0.2 (2026-04-14)

Bug Fixes

Miscellaneous Chores

  • mark non-spec service accessors with @oagen-ignore-start/end (#354) (084d0d1)
April 13, 2026

v5.0.1

April 13, 2026

5.0.1 (2026-04-13)

Bug Fixes

  • add default User-Agent header and optional override (#352) (8e202db)
  • one more regen (44906fd)
April 13, 2026

v5.0.0

April 13, 2026

5.0.0 (2026-04-13)

Top-Level Notices

  • v5 is a major SDK redesign centered on an instantiated WorkOS client with service accessors like $workos->sso(), $workos->userManagement(), and $workos->authorization(). Direct use of many legacy top-level service classes and transport internals has been removed or renamed.
  • The minimum runtime is now PHP 8.2. The SDK now depends on guzzlehttp/guzzle:^7, paragonie/halite:^5.1, and ext-curl:^8.2.
  • Responses and resources are now typed, generated models, pagination now uses PaginatedResponse, and named arguments are strongly recommended because many method signatures changed in v5.
  • The v5 release also expands and reorganizes the SDK surface across areas like Authorization, Audit Logs, Feature Flags, Organization Domains, Connect, Events, Pipes, Radar, API Keys, Session Manager, PKCE, Webhooks, and Vault helpers.

Migration Guide

  • For upgrade steps, renamed APIs, and side-by-side examples for moving from v4 to v5, see V5_MIGRATION_GUIDE.

Miscellaneous Chores

  • deps: update actions/create-github-app-token action to v3 (#345) (0259ffb)
  • deps: update amannn/action-semantic-pull-request action to v6 (#346) (4cf01c0)
March 9, 2026

v4.32.0

March 9, 2026

4.32.0 (2026-03-09)

Features

Bug Fixes

  • listEnvironmentRoles should not use PaginatedResource (#341) (52f0602)
March 6, 2026

v4.31.0

March 6, 2026

4.31.0 (2026-03-06)

Features

  • Add directoryManaged to OrganizationMembership (#334) (1451af1)
  • Add RBAC environment roles API support (#338) (31fb41d)
  • Add RBAC permissions API support (#337) (dd7dca2)
  • api: Return state field for directory users (#27) (250887e)
  • Introduce a dedicated PaginatedResource object (#316) (a3ccfde)
  • workos-php: Add connection to getAuthorizationUrl (#29) (ade7019)

Bug Fixes

Miscellaneous Chores

February 17, 2026

4.30.1

February 17, 2026

What's Changed

  • Add custom_attributes field to OrganizationMembership by @ajworkos in #318
  • Configure Renovate by @renovate[bot] in #319
  • Update peter-evans/create-pull-request action to v8 by @renovate[bot] in #327
  • fix revokeSession api call format by @kkoch986 in #328
  • Bump version to 4.30.1 by @workos-sdk-automation[bot] in #329

New Contributors

  • @ajworkos made their first contribution in #318
  • @renovate[bot] made their first contribution in #319
  • @kkoch986 made their first contribution in #328

Full Changelog: 4.30.0...4.30.1

January 21, 2026

4.30.0

January 21, 2026

What's Changed

  • Add context7.json to repo by @nicknisi in #314
  • Implement Authkit Sessions by @birdcar in #315
  • Bump version to 4.30.0 by @workos-sdk-automation[bot] in #317

New Contributors

  • @birdcar made their first contribution in #315
  • @workos-sdk-automation[bot] made their first contribution in #317

Full Changelog: v4.29.0...4.30.0

December 3, 2025

v4.29.0

December 3, 2025

What's Changed

  • Add Organization Feature Flags & Vault Support by @blobaugh in #299
  • Fixed deprecation notices in tests by @blobaugh in #300
  • Fix PHP 8.4 deprecation: Add explicit nullable type hints by @blobaugh in #309
  • Fix incomplete Portal intent documentation and add validation by @blobaugh in #310
  • Add roles to directory user and SSO profile by @kendallstrautman in #311
  • Fix test assertion by @kendallstrautman in #313
  • Bump version v4.29.0 by @kendallstrautman in #312

Full Changelog: v4.28.0...v4.29.0

November 21, 2025

v4.28.0

November 21, 2025

What's Changed

  • Added support for schema creation and existance checking by @blobaugh in #301
  • Add ability to resend invitation by @antn in #307

New Contributors

  • @blobaugh made their first contribution in #301
  • @antn made their first contribution in #307

Full Changelog: v4.27.0...v4.28.0

September 24, 2025

v4.27.0

September 24, 2025

What's Changed

  • Fix small bug in DirectorySync by @gcarvelli in #291
  • Add getEnvVariable utility method to fix Laravel config caching issue by @nicknisi in #293
  • Adds multiple roles support to OrganizationMembership Create and Update by @csrbarber in #302
  • Version bump to 4.27.0 by @csrbarber in #304

New Contributors

  • @csrbarber made their first contribution in #302

Full Changelog: v4.26.0...v4.27.0

June 23, 2025

v4.26.0

June 23, 2025

What's Changed

  • Added support for custom scopes (#289)

Full Changelog: v4.25.0...v4.26.0

June 17, 2025

v4.25.0

June 17, 2025

What's Changed

  • Add permissions attribute to Role by @MrCrayfish in #287

New Contributors

  • @MrCrayfish made their first contribution in #287

Full Changelog: v4.24.0...v4.25.0

May 22, 2025

v4.24.0

May 22, 2025

What's Changed

  • Fixes $roleSlug behavior on updateOrganizationMembership (no longer required) (#278)
  • Adds $roleSlug to createOrganizationMembership (#278)
  • Adds $email to updateUser (#285)
April 25, 2025

v4.23.0

April 25, 2025

What's Changed

  • Structured responses to webhook events by @bradenkeith in #265
  • IDE & Typehint improvements by @bradenkeith in #264
  • Pin third-party actions to currently used SHA by @nickcollisson-workos in #275
  • Add customAttributes field to SSO Profile by @mattgd in #276

New Contributors

  • @bradenkeith made their first contribution in #265
  • @nickcollisson-workos made their first contribution in #275

Full Changelog: v4.22.0...v4.23.0

March 21, 2025

v4.22.0

March 21, 2025

What's Changed

  • Add metadata support (#268)
  • Add external_id support for organizations (#270)
  • Add external_id support for users (#267)
  • Add email standard attribute to DirectoryUser (#261)
  • Mark emails, job_title, and username standard attributes as deprecated. Enable the equivalent auto-mapped custom attributes instead (#261)

New Contributors

  • @ericroberts made their first contribution in #268
  • @pepeloper made their first contribution in #267

Full Changelog: v4.21.0...v4.22.0

March 14, 2025

v4.21.0

March 14, 2025

What's Changed

  • Improve PHPdoc types by @GromNaN in #260
  • Make workos-php compatible with PHP 7.3 by @yottalogical in #263
  • v4.21.0 by @nicknisi in #266

New Contributors

  • @GromNaN made their first contribution in #260
  • @yottalogical made their first contribution in #263

Full Changelog: v4.20.0...v4.21.0

February 21, 2025

v4.20.0

February 21, 2025

What's Changed

  • add update organization membership by @jameslcarpino in #256

New Contributors

  • @jameslcarpino made their first contribution in #256
  • @nicknisi made their first contribution in #259

Full Changelog: v4.19.0...v4.20.0

February 20, 2025

v4.19.0

February 20, 2025

What's Changed

  • added lastSignInAt to user (#257)

Full Changelog: v4.18.0...v4.19.0

January 14, 2025

v4.18.0

January 14, 2025

Added

  • Add return_to option to getLogoutUrl (#254)

Full Changelog: v4.17.0...v4.18.0

December 27, 2024

v4.17.0

December 27, 2024

Added

  • Add GET /organization/:orgId/roles support (#252)

Full Changelog: v4.16.0...v4.17.0

December 6, 2024

v4.16.0

December 6, 2024

What's Changed

  • Add stripeCustomerId Parameter to Organization Methods by @Hannes-Kruger in #250

New Contributors

  • @Hannes-Kruger made their first contribution in #250

Full Changelog: v4.15.0...v4.16.0

November 15, 2024

v4.15.0

November 15, 2024

What's Changed

  • Add widgets get token API support (#248)

Full Changelog: v4.14.0...v4.15.0