diff --git a/README_management_client.md b/README_management_client.md index 38f19978..6d902a4e 100644 --- a/README_management_client.md +++ b/README_management_client.md @@ -53,7 +53,7 @@ client = ManagementClient( users = client.get_users() # Get a specific user -user = client.get_user("user_id") +user = client.get_user(id="user_id") # Get organizations organizations = client.get_organizations() @@ -86,10 +86,10 @@ The Management Client automatically generates methods for all available API endp ### Users - `get_users()` - Get all users -- `get_user(user_id)` - Get a specific user +- `get_user(id=user_id)` - Get a specific user - `create_user(**data)` - Create a new user -- `update_user(user_id, **data)` - Update a user -- `delete_user(user_id)` - Delete a user +- `update_user(id=user_id, **data)` - Update a user +- `delete_user(id=user_id)` - Delete a user ### Organizations - `get_organizations()` - Get all organizations @@ -144,9 +144,10 @@ if next_token: ```python user_data = { - "first_name": "John", - "last_name": "Doe", - "email": "john.doe@example.com", + "profile": { + "given_name": "John", + "family_name": "Doe" + }, "identities": [ { "type": "email", diff --git a/examples/management_client_example.py b/examples/management_client_example.py index dd8ac3b2..aa2b485a 100644 --- a/examples/management_client_example.py +++ b/examples/management_client_example.py @@ -180,7 +180,7 @@ def test_management_client(): if users_response and 'users' in users_response and users_response['users']: user_id = users_response['users'][0].get('id') if user_id: - user = client.get_user(user_id) + user = client.get_user(id=user_id) print_response(f"User {user_id} Response", user) print("✅ Get specific user API call successful") else: diff --git a/kinde_sdk/management/README.md b/kinde_sdk/management/README.md index bb6a3e7a..f5e0acba 100644 --- a/kinde_sdk/management/README.md +++ b/kinde_sdk/management/README.md @@ -7,7 +7,7 @@ The Management API module uses a dynamic method generation approach to create a ``` kinde_sdk/management/ ├── __init__.py # Exports ManagementClient and ManagementTokenManager -├── client.py # Dynamic API client +├── management_client.py # Dynamic API client └── management_token_manager.py # Handles auth token management ``` @@ -64,6 +64,12 @@ for resource, endpoints in self.API_ENDPOINTS.items(): | Update | PATCH | `/resource/{id}` | `update_resource(id, **data)` | | Delete | DELETE | `/resource/{id}` | `delete_resource(id)` | + 'users': { + 'list': ('GET', '/users'), + # single-user operations use query param `id` with /user + 'get': ('GET', '/user'), + # ... + }, ### Request Processing 1. Path parameters: Filled from positional arguments @@ -137,7 +143,7 @@ Errors from the API are passed through to the caller: ```python try: - user = management.get_user(user_id) + user = management.get_user(id=user_id) except Exception as e: # Handle API-specific errors here logger.error(f"API error: {e}")