-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.#554 feat(generated)!: regenerate from spec (11 changes)
⚠️ Breaking
AuditLogExportJSON to AuditLogExportAuditLogsRetentionJSON to AuditLogsRetentionAuditLogActionJSON to AuditLogActionAuditLogExportJSONState to AuditLogExportStateSearch parameter from AuthorizationListResourcesParamsDeviceFingerprint field from RadarCreateAttemptParamsBotScore field from RadarCreateAttemptParamsCREDENTIAL_STUFFING and IP_SIGN_UP_RATE_LIMIT from RadarStandaloneResponseControlRadarStandaloneAssessRequestAction (keep only SignUp and SignIn with updated values)UserManagementService to new OrganizationMembershipServiceListOrganizationMemberships, CreateOrganizationMembership, GetOrganizationMembership, UpdateOrganizationMembership, DeleteOrganizationMembership, DeactivateOrganizationMembership, ReactivateOrganizationMembership methods from user managementUserManagementRole, UserManagementRoleSingle, UserManagementRoleMultiple) from user management (now in organization_membership)ExpiresAt field to UserManagementCreateAPIKeyParamsUserManagementOrganizationMembershipGroups() client accessor (replaced by OrganizationMembership())UserManagementOrganizationMembershipGroupService type and ListOrganizationMembershipGroups methodKeyContext struct (replaced by map[string]string)DataKeyPair struct (replaced by CreateDataKeyResponse)DataKey struct (replaced by DecryptResponse)VaultObject, VaultObjectDigest, VaultObjectVersion, VaultListObjectsParams, VaultListObjectsResponse, VaultCreateObjectParams, VaultUpdateObjectParams, VaultDecryptDataKeyParamsListObjects→ListKv, CreateObject→CreateKv, ReadObject→GetKv, ReadObjectByName→GetName, UpdateObject→UpdateKv, DeleteObject→DeleteKv, ListObjectVersions→ListKvVersions, DescribeObject→ListKvMetadata, DecryptDataKey→CreateDecryptLocalEncrypt signature: second param from DataKeyPair to CreateDataKeyResponseLocalDecrypt signature: second param from DataKey to DecryptResponseEncrypt method: KeyContext param type to map[string]stringVaultEncryptResult.KeyContext field type from KeyContext to map[string]stringFeatures
expires_at field to APIKeysCreateOrganizationAPIKeyParamsexpires_at field to UserManagementCreateAPIKeyParamsexpires_at field to APIKey, APIKeyCreatedData, APIKeyRevokedData, OrganizationAPIKey, OrganizationAPIKeyWithValue, UserAPIKey, and UserAPIKeyWithValue modelsResourceID, ResourceExternalID, ResourceTypeSlug parameters to AuthorizationListRoleAssignmentsParamsRoleSlug parameter to AuthorizationListRoleAssignmentsForResourceByExternalIDParams and AuthorizationListRoleAssignmentsForResourceParamsOrganizationMembershipService with methods: List, Create, Get, Update, Delete, Deactivate, Reactivate, ListGroupsOrganizationMembershipRole interface with single and multiple variants for flexible role assignmentCreateRekey method for re-encrypting data keys under a new contextListKvMetadata method for retrieving object metadataCreateKv, GetKv, GetName, UpdateKv, DeleteKv, ListKv, ListKvVersionsWebhookEndpointJSON to WebhookEndpointWebhookEndpointJSONStatus to WebhookEndpointStatusPipeConnectedAccount model with state trackingPipesConnectedAccountConnected, PipesConnectedAccountDisconnected, PipesConnectedAccountReauthorizationNeeded event modelsPipeConnectedAccountState enum with connected and needs_reauthorization valuesActor model for audit log actor representationCreateDataKeyResponse, DecryptResponse, DeleteObjectResponseObject, ObjectMetadata, ObjectSummary, ObjectVersion, ObjectWithoutValueCreateDataKeyRequest, DecryptRequest, RekeyRequest, CreateObjectRequest, UpdateObjectRequestError, ListMetadata, VersionListResponsesession: Session.Refresh now returns a non-nil error alongside the result on authentication-level failures (refresh_token_revoked, refresh_failed). The RefreshSessionResult.Err field has been removed — use the second return value instead. Callers should check result.Authenticated (not err == nil) as the success signal.
Migration: replace result.Err with the err return value from Refresh:
// Before (v8)
result, _ := session.Refresh(ctx)
if !result.Authenticated {
if result.Err != nil {
var apiErr *workos.APIError
errors.As(result.Err, &apiErr)
}
}
// After (v9)
result, err := session.Refresh(ctx)
if !result.Authenticated {
if err != nil {
var apiErr *workos.APIError
errors.As(err, &apiErr)
}
}
This PR was generated with Release Please. See documentation.
workos package and a shared workos.Client, removing all legacy pkg/* imports, package-level SetAPIKey/Configure helpers, and compatibility re-exports.client.Service() accessors, many method signatures changed, and list endpoints now return auto-paginating iterators instead of List*Response wrappers with ListMetadata.workos.NewWebhookVerifier(...), pkg/workos_errors was removed in favor of new root error types, and Vault models have several incompatible shape and field-name changes.See the v7 migration guide for the full upgrade checklist and code examples.
Full Changelog: v6.3.0...v6.4.0
Full Changelog: v6.2.0...v6.3.0
Full Changelog: v6.0.0...v6.1.0
permissions to the ListOrganizationRoles response by @jyecusch in #468Full Changelog: v5.2.0...v6.0.0
Full Changelog: v5.1.0...v5.2.0
The v5 release includes the following breaking change:
UpdateUserOpts.Metadata field type changed from map[string]string to map[string]*string (introduced in PR #457)nil to remove them server-side// v4 (old)
import "github.com/workos/workos-go/v4/pkg/usermanagement"
opts := usermanagement.UpdateUserOpts{
User: "user_123",
Metadata: map[string]string{
"department": "Engineering",
},
}
// v5 (new)
import "github.com/workos/workos-go/v5/pkg/usermanagement"
dept := "Engineering"
opts := usermanagement.UpdateUserOpts{
User: "user_123",
Metadata: map[string]*string{
"department": &dept,
"old_field": nil, // Removes this field
},
}
Full Changelog: v4.46.1...v5.0.0
Full Changelog: v4.46.0...v4.46.1
Added structured authentication error handling for AuthKit User Management API
New error types for authentication scenarios:
Enhanced error parsing with user data, pending tokens, and organization info
Backwards compatible - existing error handling unchanged
Type-safe using standard Go errors.As() pattern
Full Changelog: v4.43.0...v4.44.0
Full Changelog: v4.37.0...v4.38.0
password_reset.succeeded event type (#419)Full Changelog: v4.35.0...v4.36.0