Add permission and organization role support#548
Merged
gjtorikian merged 4 commits intomainfrom Feb 17, 2026
Merged
Conversation
Contributor
Greptile OverviewGreptile SummaryThis PR introduces a new authorization module to the WorkOS Python SDK, implementing full CRUD operations for permissions. The implementation follows established SDK patterns perfectly, with both synchronous and asynchronous client support, comprehensive test coverage, and proper integration with the existing client architecture. Key changes:
The code is well-structured, follows existing patterns, has no security issues, and includes thorough test coverage including edge cases like pagination. Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Client
participant Authorization
participant HTTPClient
participant API
Client->>Authorization: create_permission(slug, name)
Authorization->>HTTPClient: POST request
HTTPClient->>API: Send request
API-->>HTTPClient: Return permission
HTTPClient-->>Authorization: Process response
Authorization-->>Client: Return Permission
Client->>Authorization: list_permissions()
Authorization->>HTTPClient: GET request with params
HTTPClient->>API: Send request
API-->>HTTPClient: Return list
HTTPClient-->>Authorization: Process response
Authorization-->>Client: Return WorkOSListResource
Client->>Authorization: update_permission(slug, name)
Authorization->>HTTPClient: PATCH request
HTTPClient->>API: Send request
API-->>HTTPClient: Return updated permission
HTTPClient-->>Authorization: Process response
Authorization-->>Client: Return Permission
Client->>Authorization: delete_permission(slug)
Authorization->>HTTPClient: DELETE request
HTTPClient->>API: Send request
API-->>HTTPClient: Acknowledge deletion
HTTPClient-->>Authorization: Process response
Authorization-->>Client: Return None
Last reviewed commit: 30cdb9a |
mattgd
approved these changes
Feb 17, 2026
Introduce the authorization module with CRUD operations for permissions including create, list (paginated), get, update (PATCH), and delete. Register the module on both sync and async clients. Co-Authored-By: Claude Opus 4.6 <[email protected]>
* Add authorization organization roles support Add CRUD operations for organization roles including create, list, get, update, set/add/remove permissions on the authorization module. Co-Authored-By: Claude Opus 4.6 <[email protected]> * format * Add authorization environment roles support (#550) * Add authorization environment roles support Add CRUD operations for environment roles including create, list, get, update, set/add permissions on the authorization module. Co-Authored-By: Claude Opus 4.6 <[email protected]> * Use Role union type for list/get organization role endpoints The list and get organization role endpoints can return both EnvironmentRole and OrganizationRole types. This aligns the Python SDK return types with the Node SDK. Co-Authored-By: Claude Opus 4.6 <[email protected]> * Add authorization event and webhook types (#551) * Add authorization event and webhook types Add event and webhook types for organization_role (created, updated, deleted) and permission (created, updated, deleted) to support authorization-related event streaming and webhook delivery. Co-Authored-By: Claude Opus 4.6 <[email protected]> * Distinct type for organization role events * mypy --------- Co-authored-by: Claude Opus 4.6 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]>
89b8409 to
d8c773c
Compare
faa42de to
f500abb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Introduce the authorization module with CRUD operations for permissions including create, list (paginated), get, update (PATCH), and delete. Register the module on both sync and async clients.
Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.