workos/workos-php
The official WorkOS PHP library gives PHP applications convenient access to the WorkOS API. Install via Composer, configure WORKOS_API_KEY and WORKOS_CLIENT_ID, and integrate SSO, Directory Sync, Admin Portal, Magic Link, and more.
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.guzzlehttp/guzzle:^7, paragonie/halite:^5.1, and ext-curl:^8.2.PaginatedResponse, and named arguments are strongly recommended because many method signatures changed in v5.#428 feat(generated)!: regenerate from spec (2 changes)
⚠️ Breaking
Events.list.eventsFeatures
Groups.list.searchclient_id to ConnectedAccountclient_secret_last_4 to ConnectedAccountconfig to ConnectedAccountclient_id to DataIntegrationsListResponseDataConnectedAccountclient_secret_last_4 to DataIntegrationsListResponseDataConnectedAccountconfig to DataIntegrationsListResponseDataConnectedAccountPOST /data-integrations/{slug}/credentialsCustomProviderDefinition.authorization_url optionalCustomProviderDefinition.token_url optionalDataIntegrationsUpsertClientCredentialsRequestclient_credentials to CreateDataIntegrationAuthMethodsPUT /data-integrations/{slug}/client-credentialsXOAuth to ConnectionTypeXOAuth to ProfileConnectionTypeXOAuth to ConnectionsConnectionTypeGrokOAuth to ConnectionTypeGrokOAuth to ProfileConnectionTypeGrokOAuth to ConnectionsConnectionTypeDELETE /user_management/users/{id}password_salt_position to CreateUserpassword_salt_position to UpdateUserRadarSmsChallengeCodeSessionAuthenticateRequest.verification_id optionalRadarSmsChallengeCodeSessionAuthenticateRequest.phone_number optionalCreateUserPasswordSaltPositionUpdateUserPasswordSaltPositionXOAuth to AuthenticateResponseAuthenticationMethodXOAuth to UserIdentitiesGetItemProviderGrokOAuth to AuthenticateResponseAuthenticationMethodGrokOAuth to UserIdentitiesGetItemProvideragent.registration.refreshed to CreateWebhookEndpointEventsagent.registration.refreshed to UpdateWebhookEndpointEventsFixes
DataIntegration.credentialsPOST /user_management/authenticatePOST /user_management/usersPUT /user_management/users/{id}pkce: Default clientId to the client's configured client ID (#423) (f65713b)
#425 fix(generated): regenerate from spec
Features
config to DataIntegrationsGetDataIntegrationAuthorizeUrlRequestclient_credentials to DataIntegrationAuthMethodsclient_credentials to DataIntegrationsListResponseDataAuthMethodsclient_credentials to DataIntegrationsListResponseDataConnectedAccountAuthMethodconfig to Pipes modelsclient_credentials to ConnectedAccountAuthMethodFixes
POST /user_management/invitationsPOST /user_management/invitations/{id}/resendPOST /user_management/magic_authPOST /user_management/authenticate#426 fix(generated): regenerate from spec
Fixes
callback_endpoint from Connectiondeps: update actions/cache action to v5.1.0 (#419) (d963179)
prevent oagen generated files from being PR'ed (26d03a0)
scope SDK bot App token permissions (293b5ef)
#420 fix(generated): regenerate from spec
Features
expired to AuditLogExportState#421 feat(generated)!: regenerate from spec (3 changes)
Features
ClaimViewResponseClaimViewResponseOrganizationAgentAdminLinkClaimAttemptToExternalUserRequestAgentAdminLinkClaimAttemptToExternalUserRequestUserClaimViewResponseStatusPATCH /agents/claims/attemptsAgentRegistrationAgentCredentialValidationAgentRegistrationAgentIdentityAgentRegistrationClaimAgentAdminValidateCredentialRequestAgentRegistrationClaimClaimCompletionAgentRegistrationStatusAgentRegistrationKindAgentAdminValidateCredentialRequestTypeAgentsagent_registration_id to ApiKeyValidationResponseApplicationsRegistrationTypesApplications.list.registration_typesDirectoryUsers.list.idp_idDirectoryUsers.list.emailOrganizationAuthorizedConnectApplicationListOrganizationAuthorizedConnectApplicationListDataOrganizationAuthorizedConnectApplicationListListMetadataOrganizationsAuthorizedApplicationsDataIntegrationInstallationauth_methods to CreateDataIntegrationapi_key to CreateDataIntegrationapi_key to UpdateDataIntegrationauth_methods to DataIntegrationinstallation to DataIntegrationCreateDataIntegrationAuthMethodsDataIntegrationAuthMethodsDataIntegrationCredentialsResponseDataIntegrationCredentialsResponseCredentialDataIntegrationsUpsertApiKeyRequestDataIntegrationsVendCredentialsRequestDataIntegrationCredentialsResponseErrorPUT /data-integrations/{slug}/api-keyPOST /data-integrations/{slug}/credentialsSSO.authorize.promptssha256 to CreateUserPasswordHashTypessha256 to UpdateUserPasswordHashTypeGET /user_management/radar_challenges/{id}agent.registration.revoked to CreateWebhookEndpointEventsagent.registration.revoked to UpdateWebhookEndpointEventsagent.registration.deleted to CreateWebhookEndpointEventsagent.registration.deleted to UpdateWebhookEndpointEventsradar.challenge_created to CreateWebhookEndpointEventsradar.challenge_created to UpdateWebhookEndpointEventsagent.registration.expired to CreateWebhookEndpointEventsagent.registration.expired to UpdateWebhookEndpointEventsWidgetSessionToken.organization_id optional#422 feat(generated)!: regenerate from spec (5 changes)
⚠️ Breaking
#416 fix(generated): regenerate from spec
Features
UserRoleAssignmentSourcesource to UserRoleAssignmentUserRoleAssignmentSourceTypeUserManagementAuthentication.authorize.max_ageGET /user_management/cors_originsGET /user_management/redirect_urisFixes
#409 fix(generated): regenerate from spec
Features
DataIntegrationCredentialsResponseDataIntegrationCredentialsResponseCredentialDataIntegrationsUpsertApiKeyRequestDataIntegrationsVendCredentialsRequestDataIntegrationCredentialsResponseErrorPUT /data-integrations/{slug}/api-keyPOST /data-integrations/{slug}/credentials#411 feat(generated)!: regenerate from spec (1 change)
⚠️ Breaking
SessionReauthenticatedSessionReauthenticatedDataSessionReauthenticatedDataImpersonatorSessionReauthenticatedDataAuthMethodSessionReauthenticatedDataStatusFeatures
agent.registration.created to CreateWebhookEndpointEventsagent.registration.claim.attempt.created to CreateWebhookEndpointEventsagent.registration.claim.completed to CreateWebhookEndpointEventsagent.registration.credential.issued to CreateWebhookEndpointEventsagent.registration.organization.switched to CreateWebhookEndpointEventsauthentication.reauthentication_succeeded to CreateWebhookEndpointEventsagent.registration.created to UpdateWebhookEndpointEventsagent.registration.claim.attempt.created to UpdateWebhookEndpointEventsagent.registration.claim.completed to UpdateWebhookEndpointEventsagent.registration.credential.issued to UpdateWebhookEndpointEventsagent.registration.organization.switched to UpdateWebhookEndpointEventsauthentication.reauthentication_succeeded to UpdateWebhookEndpointEventssession.reauthenticated to CreateWebhookEndpointEventssession.reauthenticated to UpdateWebhookEndpointEventspipes.connected_account.connection_failed to CreateWebhookEndpointEventspipes.connected_account.connection_failed to UpdateWebhookEndpointEventsUserRoleAssignmentSourcesource to UserRoleAssignmentUserRoleAssignmentSourceTypeUserManagementAuthentication.authorize.max_ageGET /user_management/cors_originsGET /user_management/redirect_urisAuditLogExportCreation.range_startAuditLogExportCreation.range_endexpired to AuditLogExportStateFixes
intent_options from GenerateLinksession.reauthenticated from CreateWebhookEndpointEventssession.reauthenticated from UpdateWebhookEndpointEvents#413 feat(generated): regenerate from spec (1 change)
Features
DataIntegrationCredentialsDtoCustomProviderDefinitionCreateDataIntegrationUpdateCustomProviderDefinitionUpdateDataIntegrationDataIntegrationDataIntegrationListDataIntegrationListListMetadataDataIntegrationCredentialDataIntegrationCustomProviderDataIntegrationCredentialsTypeCustomProviderDefinitionAuthenticateViaUpdateCustomProviderDefinitionAuthenticateViaDataIntegrationStateDataIntegrationCredentialTypeDataIntegrationCustomProviderAuthenticateViaGET /data-integrationsPOST /data-integrationsGET /data-integrations/{slug}PUT /data-integrations/{slug}DELETE /data-integrations/{slug}POST /user_management/users/{user_id}/connected_accounts/{slug}PUT /user_management/users/{user_id}/connected_accounts/{slug}#414 feat(generated): regenerate from spec (2 changes)
Features
SendRadarSmsChallengeSendRadarSmsChallengeResponseUrnWorkosOAuthGrantTypeRadarEmailChallengeCodeSessionAuthenticateRequestUrnWorkosOAuthGrantTypeRadarSmsChallengeCodeSessionAuthenticateRequestMagicAuthSendMagicAuthCodeAndReturnResponseUserCreateResponseip_address to CreateMagicCodeAndReturnuser_agent to CreateMagicCodeAndReturnradar_auth_attempt_id to CreateMagicCodeAndReturnsignals_id to CreateMagicCodeAndReturnip_address to CreateUseruser_agent to CreateUsersignals_id to CreateUsersignals_id to AuthorizationCodeSessionAuthenticateRequestsignals_id to PasswordSessionAuthenticateRequestradar_auth_attempt_id to PasswordSessionAuthenticateRequestradar_auth_attempt_id to UrnWorkosOAuthGrantTypeMagicAuthCodeSessionAuthenticateRequestPOST /user_management/radar_challengessignals_id to RadarStandaloneAssessRequestFixes
UserManagementAuthentication.authenticateUserManagementUsers.create from User to UserCreateResponseUserManagementMagicAuth.sendMagicAuthCodeAndReturn from MagicAuth to MagicAuthSendMagicAuthCodeAndReturnResponse#405 fix(generated): regenerate from spec
Fixes
roles to organization membership models#401 feat(generated)!: regenerate from spec (11 changes)
⚠️ Breaking
Pipes.createDataIntegrationToken was renamed to Pipes.getAccessTokenFeatures
ReplaceGroupRoleAssignmentEntryReplaceGroupRoleAssignmentsDeleteGroupRoleAssignmentsByCriteriaPOST /authorization/groups/{group_id}/role_assignmentsPUT /authorization/groups/{group_id}/role_assignmentsDELETE /authorization/groups/{group_id}/role_assignmentsGET /authorization/groups/{group_id}/role_assignments/{role_assignment_id}DELETE /authorization/groups/{group_id}/role_assignments/{role_assignment_id}ClientApiTokenClientApiTokenResponseClientauth_method to ConnectedAccountapi_key_last_4 to ConnectedAccountConnectedAccountAuthMethodCreateGroupRoleAssignmentGroupRoleAssignmentGroupRoleAssignmentListGroupRoleAssignmentResourceUserOrganizationMembershipListUserOrganizationMembershipListListMetadataDataIntegrationCredentialsDataIntegrationConfigurationResponseDataIntegrationConfigurationListResponseConfigureDataIntegrationBodyauth_methods to DataIntegrationsListResponseDataauth_method to DataIntegrationsListResponseDataConnectedAccountapi_key_last_4 to DataIntegrationsListResponseDataConnectedAccountDataIntegrationCredentialsCredentialsTypeDataIntegrationsListResponseDataAuthMethodsDataIntegrationsListResponseDataConnectedAccountAuthMethodPipesProviderUserInviteListUserInviteListListMetadataAuthorizationCodeSessionAuthenticateRequest.client_secret optionalRefreshTokenSessionAuthenticateRequest.client_secret optionalwidgets:pipes:manage to WidgetSessionTokenScopesFixes
UserManagementOrganizationMembership.list from UserOrganizationMembership to UserOrganizationMembershipListUserManagementInvitations.list from UserInvite to UserInviteList#397 feat(generated)!: regenerate from spec (5 changes)
⚠️ Breaking
expires_at required in API key modelsDsyncDeactivatedDsyncDeactivatedDataDsyncDeactivatedDataDomainDsyncDeactivatedDataTypeDsyncDeactivatedDataStatedomain_sign_up_rate_limit from RadarStandaloneResponseControlreturn_to from RevokeSessionFeatures
ExpireApiKeyApiKeyUpdatedApiKeyUpdatedDataApiKeyUpdatedDataOwnerUserApiKeyUpdatedDataOwnerApiKeyUpdatedDataPreviousAttributePOST /api_keys/{id}/expireSnowflake to AuditLogConfigurationLogStreamTypename to UserObjectDsyncTokenCreatedDsyncTokenCreatedDataDsyncTokenRevokedDsyncTokenRevokedDataname to user management modelsapi_key.updated to CreateWebhookEndpointEventsapi_key.updated to UpdateWebhookEndpointEventsdeps: 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
listOrganizationMemberships, createOrganizationMembership, getOrganizationMembership, updateOrganizationMembership, deleteOrganizationMembership, deactivateOrganizationMembership, and reactivateOrganizationMembership methodsOrganizationMembershipServicegetAuthorizationUrl() parameter screenHint from UserManagementAuthenticationScreenHint to RadarStandaloneAssessRequestAction typeUserManagementAuthenticationScreenHint enumUserManagementOrganizationMembershipGroups service
$workos->userManagementOrganizationMembershipGroups() accessorlistOrganizationMembershipGroups() has been moved to the new OrganizationMembershipServicedeviceFingerprint parameter from Radar.createAttempt() methodbotScore parameter from Radar.createAttempt() methoddeviceFingerprint and botScore fields from RadarStandaloneAssessRequest modelRadarStandaloneAssessRequestAction: Login, Signup, SignUp2, SignUp3, SignIn2, SignIn3RadarStandaloneAssessRequestAction: SignUp from 'sign up' to 'sign-up', SignIn from 'sign in' to 'sign-in'RadarStandaloneResponseControl: CredentialStuffing, IpSignUpRateLimitRadarAction to RadarListActionRadarType to RadarListTypeAuditLogActionJson to AuditLogActionAuditLogExportJson to AuditLogExportAuditLogExportJsonState to AuditLogExportStateAuditLogSchemaJson to AuditLogSchemaAuditLogSchemaJsonActor to AuditLogSchemaActorInputAuditLogSchemaJsonTarget to AuditLogSchemaTargetInputAuditLogsRetentionJson to AuditLogsRetentioncreateSchema() method parameter types changed: AuditLogSchemaActor → AuditLogSchemaActorInput, AuditLogSchemaTarget → AuditLogSchemaTargetInputWebhookEndpointJson to WebhookEndpointWebhookEndpointJsonStatus to WebhookEndpointStatusUpdateWebhookEndpoint.status field type from WebhookEndpointJsonStatus to WebhookEndpointStatusPIPES_CONNECTED_ACCOUNT_CONNECTED, PIPES_CONNECTED_ACCOUNT_DISCONNECTED, PIPES_CONNECTED_ACCOUNT_REAUTHORIZATION_NEEDED eventsresourceId, resourceExternalId, resourceTypeSlug filter parameters to listRoleAssignments()roleSlug filter parameter to listRoleAssignmentsForResourceByExternalId() and listRoleAssignmentsForResource()search parameter from listResources() methodWorkOS\Vault class with generated WorkOS\Service\Vault
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 surfacecreateDataKey(), createDecrypt(), createRekey(), listKv(), createKv(), getName(), getKv(), updateKv(), deleteKv(), listKvMetadata(), listKvVersions()Features
OrganizationMembershipService with methods: listOrganizationMemberships(), createOrganizationMembership(), getOrganizationMembership(), updateOrganizationMembership(), deleteOrganizationMembership(), deactivateOrganizationMembership(), reactivateOrganizationMembership(), and listOrganizationMembershipGroups()$workos->organizationMembership()UserManagement and UserManagementOrganizationMembershipGroups servicesVault service with methods: createDataKey(), createDecrypt(), createRekey(), listKv(), createKv(), getName(), getKv(), updateKv(), deleteKv(), listKvMetadata(), and listKvVersions()CreateDataKeyResponse, DecryptResponse, ObjectMetadata, ObjectModel, ObjectSummary, ObjectWithoutValue, ObjectVersion, VersionListResponseVaultOrder for sort direction$workos->vault()expires_at field to ApiKey, OrganizationApiKey, OrganizationApiKeyWithValue, UserApiKey, UserApiKeyWithValue modelsexpires_at field to ApiKeyCreatedData and ApiKeyRevokedData event data modelsexpiresAt parameter to createOrganizationApiKey() and createUserApiKey() methodsApplicationCredentialsListItem.lastUsedAt field type from ?string to ?\DateTimeImmutableNewConnectApplicationSecret.lastUsedAt field type from ?string to ?\DateTimeImmutablePipeConnectedAccount, PipesConnectedAccountConnected, PipesConnectedAccountDisconnected, PipesConnectedAccountReauthorizationNeededPipeConnectedAccountState with values connected and needs_reauthorizationconnection to getAuthorizationUrl (#29) (ade7019)How can I help you explore Laravel packages today?