workos 2.0.1

Official Rust SDK for the WorkOS API
Documentation
# @oagen-ignore-file
[package]
name = "workos"
version = "2.0.1"
edition = "2024"
rust-version = "1.88"
description = "Official Rust SDK for the WorkOS API"
license = "MIT"
repository = "https://github.com/workos/workos-rust"
homepage = "https://workos.com"
documentation = "https://docs.rs/workos"
readme = "README.md"
authors = ["WorkOS <sdk@workos.com>"]
keywords = ["workos", "sso", "authentication", "authkit", "sdk"]
categories = ["api-bindings", "authentication"]
exclude = [
    "tests/**",
    "script/**",
    ".github/**",
    "release-please-config.json",
    "renovate.json",
    "CHANGELOG.md",
]

[features]
default = ["rustls-tls"]
# Pick a TLS backend. Both pull in the bundled `reqwest` transport; disable
# default features and supply your own `HttpTransport` impl (e.g. for WASM or
# to share a request pipeline with the rest of your app) instead.
native-tls = ["dep:reqwest", "reqwest/native-tls"]
rustls-tls = ["dep:reqwest", "reqwest/rustls-tls"]

[dependencies]
reqwest = { version = "0.12", default-features = false, features = [
    "json",
], optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
tokio = { version = "1", features = ["time", "sync"] }
futures-util = { version = "0.3", default-features = false, features = ["std"] }
http = "1"
# Retained because `HttpTransport` is consumed as `Arc<dyn HttpTransport>`,
# and native AFIT (edition 2024) is not dyn-compatible.
async-trait = "0.1"
bytes = "1"
# Hand-maintained helper layer (src/helpers/*).
hmac = "0.12"
sha2 = "0.10"
aes-gcm = "0.10"
base64 = "0.22"
rand = "0.9"
subtle = "2.5"
url = "2.5"
hex = "0.4"

[dev-dependencies]
wiremock = "0.6"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

[lints.rust]
unsafe_code = "forbid"

[lints.clippy]
unwrap_used = "warn"
expect_used = "warn"
dbg_macro = "warn"
todo = "warn"

[package.metadata.docs.rs]
features = ["rustls-tls"]
rustdoc-args = ["--cfg", "docsrs"]