Skip to content

Commit e300a81

Browse files
author
Horizon Bot
committed
docs: fix README inaccuracies found in accuracy audit
1 parent 2a63371 commit e300a81

1 file changed

Lines changed: 22 additions & 8 deletions

File tree

README.md

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ See the [API Reference](https://workos.com/docs/reference/client-libraries) for
1111

1212
## Installation
1313

14+
Requires Python 3.10+.
15+
1416
```bash
1517
pip install workos
1618
```
@@ -28,13 +30,13 @@ for org in page.auto_paging_iter():
2830
print(org.name)
2931

3032
# Create an organization
31-
org = client.organizations.create_organizations(name="Acme Corp")
33+
org = client.organizations.create_organization(name="Acme Corp")
3234
print(org.id)
3335
```
3436

3537
### Async Client
3638

37-
Every method has an identical async counterpart:
39+
Every HTTP API method has an identical async counterpart on `AsyncWorkOSClient`. (Pure-local utilities such as webhook signature verification, Actions helpers, and PKCE are synchronous on both clients.)
3840

3941
```python
4042
from workos import AsyncWorkOSClient
@@ -59,27 +61,35 @@ The client reads credentials from the environment when not passed explicitly:
5961

6062
## Available Resources
6163

62-
The client exposes the full WorkOS API through typed namespace properties:
64+
The client exposes the WorkOS API through typed namespace properties:
6365

6466
| Property | Description |
6567
|----------|-------------|
6668
| `client.sso` | Single Sign-On connections and authorization |
6769
| `client.organizations` | Organization management |
70+
| `client.organization_domains` | Organization domain verification |
71+
| `client.organization_membership` | Organization membership management |
6872
| `client.user_management` | Users, identities, auth methods, invitations |
6973
| `client.directory_sync` | Directory connections and directory users/groups |
74+
| `client.groups` | Organization group management |
7075
| `client.admin_portal` | Admin Portal link generation |
7176
| `client.audit_logs` | Audit log events, exports, and schemas |
7277
| `client.authorization` | Fine-Grained Authorization (FGA) resources, roles, permissions, and checks |
73-
| `client.webhooks` | Webhook event verification |
74-
| `client.feature_flags` | Feature flag evaluation |
78+
| `client.events` | Events API |
79+
| `client.webhooks` | Webhook endpoint management and event verification |
80+
| `client.feature_flags` | Feature flag management (list, enable/disable, targeting) |
7581
| `client.api_keys` | Organization API key management |
82+
| `client.client_api` | Client API token generation |
7683
| `client.connect` | OAuth application management |
7784
| `client.widgets` | Widget session tokens |
7885
| `client.multi_factor_auth` | MFA enrollment and verification (also available as `client.mfa`) |
7986
| `client.pipes` | Data Integrations |
87+
| `client.pipes_provider` | Organization data integration configuration |
8088
| `client.radar` | Radar risk scoring |
8189
| `client.passwordless` | Passwordless authentication sessions |
8290
| `client.vault` | Encrypted data vault |
91+
| `client.actions` | AuthKit Actions signature verification and response signing |
92+
| `client.pkce` | PKCE code verifier/challenge helpers |
8393

8494
## Pagination
8595

@@ -102,7 +112,7 @@ print(page.after) # Cursor for the next page
102112
All API errors map to typed exception classes with rich context:
103113

104114
```python
105-
from workos._errors import NotFoundError, RateLimitExceededError
115+
from workos import NotFoundError, RateLimitExceededError
106116

107117
try:
108118
client.organizations.get_organization("org_nonexistent")
@@ -124,9 +134,13 @@ except RateLimitExceededError as e:
124134
| `RateLimitExceededError` | 429 |
125135
| `ServerError` | 5xx |
126136

137+
## Retries
138+
139+
The client automatically retries requests up to 3 times (configurable via the `max_retries` request option) on 429 and 5xx responses, timeouts, and connection errors, using exponential backoff with jitter and honoring `Retry-After`. The SDK attaches an auto-generated `Idempotency-Key` (UUID v4) to every `POST` request and reuses the same key across its internal retries.
140+
127141
## Per-Request Options
128142

129-
Every method accepts `request_options` for per-call overrides:
143+
Every API method accepts `request_options` for per-call overrides (local helpers such as webhook/Actions signature verification and PKCE utilities do not make HTTP calls and don't take `request_options`):
130144

131145
```python
132146
result = client.organizations.list_organizations(
@@ -145,7 +159,7 @@ result = client.organizations.list_organizations(
145159
146160
## Type Safety
147161

148-
This SDK ships with full type annotations (`py.typed` / PEP 561) and works with mypy, pyright, and IDE autocompletion out of the box. All models are `@dataclass(slots=True)` classes with `from_dict()` / `to_dict()` for serialization.
162+
This SDK ships with full type annotations (`py.typed` / PEP 561) and works with mypy, pyright, and IDE autocompletion out of the box. All API resource models are `@dataclass(slots=True)` classes with `from_dict()` / `to_dict()` for serialization.
149163

150164
## SDK Versioning
151165

0 commit comments

Comments
 (0)