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 beta
versions, refer to the README in the GitHub repository.
Releases
v1.2.3
Latestv1.2.2...v1.2.3" rel="noreferrer" target="_blank">1.2.3 (2026-05-13)
Bug Fixes
- include custom_attributes on SSO Profile struct (https://github.com/workos/workos-elixir/issues/100" rel="noreferrer" target="_blank">#100) (https://github.com/workos/workos-elixir/commit/9806424c2d88e64bdaa5e0d5c9ab51cdc304aa13" rel="noreferrer" target="_blank">9806424)
v1.2.2
v1.2.1...v1.2.2" rel="noreferrer" target="_blank">1.2.2 (2026-05-02)
Bug Fixes
- set canonical User-Agent header format (https://github.com/workos/workos-elixir/issues/99" rel="noreferrer" target="_blank">#99) (https://github.com/workos/workos-elixir/commit/460a2fb64f15558d2087139859b2a50ed71cefd8" rel="noreferrer" target="_blank">460a2fb)
- update renovate rules (https://github.com/workos/workos-elixir/issues/94" rel="noreferrer" target="_blank">#94) (https://github.com/workos/workos-elixir/commit/336847e69dc5703eb903fa0178f2776808479e0e" rel="noreferrer" target="_blank">336847e)
v1.2.1
v1.2.0...v1.2.1" rel="noreferrer" target="_blank">1.2.1 (2026-02-11)
Bug Fixes
- add external_id support to create/update operations for Organization (https://github.com/workos/workos-elixir/issues/90" rel="noreferrer" target="_blank">#90) (https://github.com/workos/workos-elixir/commit/d6165633ba26b65e0f64082c40f871da9a0079a6" rel="noreferrer" target="_blank">d616563)
v1.2.0
v1.1.4...v1.2.0" rel="noreferrer" target="_blank">1.2.0 (2026-02-09)
Features
- Add external_id support for User and Organization entities (https://github.com/workos/workos-elixir/issues/83" rel="noreferrer" target="_blank">#83) (https://github.com/workos/workos-elixir/commit/0394535bb425b70c45c9e3cd852711395f0dead2" rel="noreferrer" target="_blank">0394535)
- Add lint-pr-title workflow (https://github.com/workos/workos-elixir/issues/88" rel="noreferrer" target="_blank">#88) (https://github.com/workos/workos-elixir/commit/4972e11fa0fbfc99c1ffa87eee9c12d014d3095d" rel="noreferrer" target="_blank">4972e11)
v1.1.4
What's Changed
- Add release workflow automation by @gjtorikian in #79
- Remove deprecated message for MFA module by @gpressutto5 in #72
- v1.1.4 by @workos-sdk-automation[bot] in #80
New Contributors
- @gjtorikian made their first contribution in #79
- @gpressutto5 made their first contribution in #72
- @workos-sdk-automation[bot] made their first contribution in #80
Full Changelog: v1.1.3...v1.1.4
v1.1.3
What's Changed
- Add all optional params to
create_user/2andupdate_user/3by @hexedpackets in #77
Full Changelog: v1.1.2...v1.1.3
v1.1.2
What's Changed
- Use looser version requirement in README by @hexedpackets in #70
- Update org actions with domain_data by @MMiller-Hairston in #73
- Fix
UserManagement.get_authorization_urlgenerated url by @csrbarber in #74 - Bump to 1.1.2 by @csrbarber in #75
New Contributors
- @MMiller-Hairston made their first contribution in #73
- @csrbarber made their first contribution in #74
Full Changelog: v1.1.1...v1.1.2
v1.1.1
What's Changed
- Update WorkOS Dependency Version in Readme by @matthew-kerle in #65
- Fix types n cast by @apoorv-2204 in #63
New Contributors
- @matthew-kerle made their first contribution in #65
- @apoorv-2204 made their first contribution in #63
Full Changelog: v1.1.0...v1.1.1
v1.1.0
What's Changed
- Add groups to directory sync user struct by @bmanifold in #59
- Remove duplicate GHA workflow by @hexedpackets in #61
- Add OAuth token to WorkOS.UserManagement.Authentication struct by @hexedpackets in #60
- Bump to 1.1.0 by @PaulAsjes in #62
New Contributors
- @bmanifold made their first contribution in #59
- @hexedpackets made their first contribution in #61
- @PaulAsjes made their first contribution in #62
Full Changelog: 1.0.0...v1.1.0
v1.0.0
Description
This is the first major release of the WorkOS Elixir SDK, it introduces all of the core APIs from WorkOS released until this moment and provides better configuration support for applications.
However, it'll remain as an experimental SDK since we don't have plans to keep it up to date across core product API changes.
Breaking changes compared to previous minor versions
Response structs
For matching clauses like this one:
case WorkOS.Organizations.get_organization(org_id) do
{:ok,
%{
"id" => id,
"name" => name
}} It might result in a similar "no clause matching" error:
!https://github.com/workos/workos-elixir/assets/48022589/8d159c27-7367-4ef4-b183-b2abfa27ecb6" rel="noreferrer" target="_blank">CleanShot 2023-12-09 at 23 43 59
Responses now have their structs that are parsed from the JSON responses. For instance, here's how to perform matching on the result of get_organization with response structs:
{:ok, %WorkOS.Organizations.Organization{id: id}} =
WorkOS.Organizations.get_organization("org_123")You may also encounter errors regarding Access Behaviour on Structs.
Configuration
Introducing a new configuration option: :client, by default, this library uses Tesla but it can be replaced according to the WorkOS.Client module behavior.
However, as previously, the only required config options are :api_key and :client_id.
You can also create a client struct separately, and pass it to each method.
client = WorkOS.client(api_key: System.fetch_env!("WORKOS_API_KEY"), client_id: System.fetch_env!("WORKOS_CLIENT_ID"))
WorkOS.Organizations.get_organization(client, "org_123")Note that if you choose to configure WorkOS in your app config, passing a client struct is always optional.
config :workos, WorkOS.Client,
api_key: "sk_12345",
client_id: "project_12345"Removed
- Removed deprecated
domainoption fromWorkOS.SSO.get_authorization_url,organizationshould be used instead.
Added
We're introducing new API modules according to our latest features:
WorkOS.OrganizationDomains: https://workos.com/docs/reference/domain-verificationWorkOS.UserManagement: https://workos.com/docs/reference/user-managementWorkOS.Events: https://workos.com/docs/reference/events
v0.4.0
Fixed
- Fixed a bug in
create_sessioncausing theexpires_into not be passed in properly #35
v0.3.0
Added
- Added Webhooks module to validate webhook requests #28
Fixed
- Fixed a bug in
get_profilecausing theaccess_tokento not be passed in properly #29
v0.2.0
Added
- Added Audit Logs module (https://github.com/workos/workos-elixir/pull/18" rel="noreferrer" target="_blank">#18)
- Added MFA module (https://github.com/workos/workos-elixir/pull/22" rel="noreferrer" target="_blank">#22)
- Added CI Pipeline (https://github.com/workos/workos-elixir/pull/23" rel="noreferrer" target="_blank">#23 and https://github.com/workos/workos-elixir/pull/24" rel="noreferrer" target="_blank">#24)
Updated
- Minor code improvements (https://github.com/workos/workos-elixir/pull/14" rel="noreferrer" target="_blank">#14)
- Refactored Portal module and added Organizations module (https://github.com/workos/workos-elixir/pull/17" rel="noreferrer" target="_blank">#17)
- Updated SSO module (https://github.com/workos/workos-elixir/pull/19" rel="noreferrer" target="_blank">#19)
- Updated Directory Sync module (https://github.com/workos/workos-elixir/pull/25" rel="noreferrer" target="_blank">#25)
Fixed
- Converted
organizationtoorganization_idin Audit Logs module (https://github.com/workos/workos-elixir/pull/20" rel="noreferrer" target="_blank">#20) - Fixed usage of
optsin API and SSO modules (https://github.com/workos/workos-elixir/pull/21" rel="noreferrer" target="_blank">#21)
v0.1.1
Pre-release- Updated the configuration to support auto-generating docs for the hex package
v0.1.0
Pre-releaseThis is an initial beta version release.
This includes support for:
- Passwordless
- SSO
- Portal
- Directory Sync
v0.1.3
- Added delete directory method (https://github.com/workos/workos-elixir/pull/3" rel="noreferrer" target="_blank">#3)
- Upgradeed hackney and add delete organization in (https://github.com/workos/workos-elixir/pull/5" rel="noreferrer" target="_blank">#5)
- Added connection param to passwordless (https://github.com/workos/workos-elixir/pull/7" rel="noreferrer" target="_blank">#7)
- Fixed test warning and update deps (https://github.com/workos/workos-elixir/pull/9" rel="noreferrer" target="_blank">#9)
v0.1.2
- Added
connectiontoget_authorization_urlhttps://github.com/workos/workos-elixir/releases/v0.1.2" rel="noreferrer" target="_blank">(#1)