robosystems-client 0.2.11__py3-none-any.whl → 0.2.12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of robosystems-client might be problematic. Click here for more details.

Files changed (61) hide show
  1. robosystems_client/api/auth/register_user.py +36 -8
  2. robosystems_client/api/billing/{cancel_subscription.py → cancel_org_subscription.py} +34 -9
  3. robosystems_client/api/billing/create_checkout_session.py +28 -20
  4. robosystems_client/api/billing/get_org_billing_customer.py +189 -0
  5. robosystems_client/api/billing/{get_subscription.py → get_org_subscription.py} +30 -5
  6. robosystems_client/api/billing/{get_upcoming_invoice.py → get_org_upcoming_invoice.py} +68 -22
  7. robosystems_client/api/billing/{list_invoices.py → list_org_invoices.py} +38 -9
  8. robosystems_client/api/billing/{list_subscriptions.py → list_org_subscriptions.py} +64 -22
  9. robosystems_client/api/billing/{update_payment_method.py → update_org_payment_method.py} +34 -9
  10. robosystems_client/api/org/__init__.py +1 -0
  11. robosystems_client/api/org/create_org.py +174 -0
  12. robosystems_client/api/{billing/get_billing_customer.py → org/get_org.py} +50 -28
  13. robosystems_client/api/org/list_org_graphs.py +170 -0
  14. robosystems_client/api/{user/get_user_limits.py → org/list_user_orgs.py} +21 -25
  15. robosystems_client/api/org/update_org.py +187 -0
  16. robosystems_client/api/org_members/__init__.py +1 -0
  17. robosystems_client/api/org_members/invite_org_member.py +207 -0
  18. robosystems_client/api/org_members/list_org_members.py +165 -0
  19. robosystems_client/api/org_members/remove_org_member.py +176 -0
  20. robosystems_client/api/org_members/update_org_member_role.py +200 -0
  21. robosystems_client/api/org_usage/__init__.py +1 -0
  22. robosystems_client/api/org_usage/get_org_limits.py +165 -0
  23. robosystems_client/api/org_usage/get_org_usage.py +186 -0
  24. robosystems_client/api/service_offerings/get_service_offerings.py +32 -8
  25. robosystems_client/api/usage/get_graph_usage_analytics.py +4 -4
  26. robosystems_client/models/__init__.py +44 -6
  27. robosystems_client/models/auth_response.py +35 -0
  28. robosystems_client/models/{user_usage_response_graphs.py → auth_response_org_type_0.py} +6 -6
  29. robosystems_client/models/billing_customer.py +8 -8
  30. robosystems_client/models/checkout_response.py +65 -22
  31. robosystems_client/models/create_org_request.py +79 -0
  32. robosystems_client/models/graph_subscription_tier.py +40 -48
  33. robosystems_client/models/graph_subscriptions.py +17 -5
  34. robosystems_client/models/invite_member_request.py +93 -0
  35. robosystems_client/models/list_org_graphs_response_200_item.py +44 -0
  36. robosystems_client/models/org_detail_response.py +174 -0
  37. robosystems_client/models/org_detail_response_graphs_item.py +44 -0
  38. robosystems_client/models/org_detail_response_limits_type_0.py +44 -0
  39. robosystems_client/models/org_detail_response_members_item.py +44 -0
  40. robosystems_client/models/org_limits_response.py +98 -0
  41. robosystems_client/models/org_limits_response_current_usage.py +44 -0
  42. robosystems_client/models/org_list_response.py +82 -0
  43. robosystems_client/models/org_member_list_response.py +90 -0
  44. robosystems_client/models/org_member_response.py +104 -0
  45. robosystems_client/models/org_response.py +121 -0
  46. robosystems_client/models/org_role.py +10 -0
  47. robosystems_client/models/org_type.py +10 -0
  48. robosystems_client/models/org_usage_response.py +146 -0
  49. robosystems_client/models/org_usage_response_daily_trend_item.py +44 -0
  50. robosystems_client/models/org_usage_response_graph_details_item.py +44 -0
  51. robosystems_client/models/org_usage_summary.py +158 -0
  52. robosystems_client/models/repository_subscriptions.py +15 -4
  53. robosystems_client/models/service_offerings_response.py +15 -0
  54. robosystems_client/models/update_member_role_request.py +62 -0
  55. robosystems_client/models/update_org_request.py +103 -0
  56. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.12.dist-info}/METADATA +1 -1
  57. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.12.dist-info}/RECORD +59 -27
  58. robosystems_client/models/user_limits_response.py +0 -95
  59. robosystems_client/models/user_usage_response.py +0 -90
  60. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.12.dist-info}/WHEEL +0 -0
  61. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.12.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,186 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.http_validation_error import HTTPValidationError
9
+ from ...models.org_usage_response import OrgUsageResponse
10
+ from ...types import UNSET, Response, Unset
11
+
12
+
13
+ def _get_kwargs(
14
+ org_id: str,
15
+ *,
16
+ days: Union[Unset, int] = 30,
17
+ ) -> dict[str, Any]:
18
+ params: dict[str, Any] = {}
19
+
20
+ params["days"] = days
21
+
22
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
23
+
24
+ _kwargs: dict[str, Any] = {
25
+ "method": "get",
26
+ "url": f"/v1/orgs/{org_id}/usage",
27
+ "params": params,
28
+ }
29
+
30
+ return _kwargs
31
+
32
+
33
+ def _parse_response(
34
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
35
+ ) -> Optional[Union[HTTPValidationError, OrgUsageResponse]]:
36
+ if response.status_code == 200:
37
+ response_200 = OrgUsageResponse.from_dict(response.json())
38
+
39
+ return response_200
40
+
41
+ if response.status_code == 422:
42
+ response_422 = HTTPValidationError.from_dict(response.json())
43
+
44
+ return response_422
45
+
46
+ if client.raise_on_unexpected_status:
47
+ raise errors.UnexpectedStatus(response.status_code, response.content)
48
+ else:
49
+ return None
50
+
51
+
52
+ def _build_response(
53
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
54
+ ) -> Response[Union[HTTPValidationError, OrgUsageResponse]]:
55
+ return Response(
56
+ status_code=HTTPStatus(response.status_code),
57
+ content=response.content,
58
+ headers=response.headers,
59
+ parsed=_parse_response(client=client, response=response),
60
+ )
61
+
62
+
63
+ def sync_detailed(
64
+ org_id: str,
65
+ *,
66
+ client: AuthenticatedClient,
67
+ days: Union[Unset, int] = 30,
68
+ ) -> Response[Union[HTTPValidationError, OrgUsageResponse]]:
69
+ """Get Organization Usage
70
+
71
+ Get detailed usage statistics for an organization aggregated across all graphs.
72
+
73
+ Args:
74
+ org_id (str):
75
+ days (Union[Unset, int]): Default: 30.
76
+
77
+ Raises:
78
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
79
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
80
+
81
+ Returns:
82
+ Response[Union[HTTPValidationError, OrgUsageResponse]]
83
+ """
84
+
85
+ kwargs = _get_kwargs(
86
+ org_id=org_id,
87
+ days=days,
88
+ )
89
+
90
+ response = client.get_httpx_client().request(
91
+ **kwargs,
92
+ )
93
+
94
+ return _build_response(client=client, response=response)
95
+
96
+
97
+ def sync(
98
+ org_id: str,
99
+ *,
100
+ client: AuthenticatedClient,
101
+ days: Union[Unset, int] = 30,
102
+ ) -> Optional[Union[HTTPValidationError, OrgUsageResponse]]:
103
+ """Get Organization Usage
104
+
105
+ Get detailed usage statistics for an organization aggregated across all graphs.
106
+
107
+ Args:
108
+ org_id (str):
109
+ days (Union[Unset, int]): Default: 30.
110
+
111
+ Raises:
112
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
113
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
114
+
115
+ Returns:
116
+ Union[HTTPValidationError, OrgUsageResponse]
117
+ """
118
+
119
+ return sync_detailed(
120
+ org_id=org_id,
121
+ client=client,
122
+ days=days,
123
+ ).parsed
124
+
125
+
126
+ async def asyncio_detailed(
127
+ org_id: str,
128
+ *,
129
+ client: AuthenticatedClient,
130
+ days: Union[Unset, int] = 30,
131
+ ) -> Response[Union[HTTPValidationError, OrgUsageResponse]]:
132
+ """Get Organization Usage
133
+
134
+ Get detailed usage statistics for an organization aggregated across all graphs.
135
+
136
+ Args:
137
+ org_id (str):
138
+ days (Union[Unset, int]): Default: 30.
139
+
140
+ Raises:
141
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
142
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
143
+
144
+ Returns:
145
+ Response[Union[HTTPValidationError, OrgUsageResponse]]
146
+ """
147
+
148
+ kwargs = _get_kwargs(
149
+ org_id=org_id,
150
+ days=days,
151
+ )
152
+
153
+ response = await client.get_async_httpx_client().request(**kwargs)
154
+
155
+ return _build_response(client=client, response=response)
156
+
157
+
158
+ async def asyncio(
159
+ org_id: str,
160
+ *,
161
+ client: AuthenticatedClient,
162
+ days: Union[Unset, int] = 30,
163
+ ) -> Optional[Union[HTTPValidationError, OrgUsageResponse]]:
164
+ """Get Organization Usage
165
+
166
+ Get detailed usage statistics for an organization aggregated across all graphs.
167
+
168
+ Args:
169
+ org_id (str):
170
+ days (Union[Unset, int]): Default: 30.
171
+
172
+ Raises:
173
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
174
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
175
+
176
+ Returns:
177
+ Union[HTTPValidationError, OrgUsageResponse]
178
+ """
179
+
180
+ return (
181
+ await asyncio_detailed(
182
+ org_id=org_id,
183
+ client=client,
184
+ days=days,
185
+ )
186
+ ).parsed
@@ -61,9 +61,15 @@ def sync_detailed(
61
61
  and shared repository subscriptions. This is the primary endpoint for frontend
62
62
  applications to display subscription options.
63
63
 
64
+ **Pricing Model:**
65
+ - Graph subscriptions are **per-graph** with infrastructure-based pricing
66
+ - Each graph you create has its own monthly subscription
67
+ - Organizations can have multiple graphs with different infrastructure tiers
68
+ - Credits are allocated per-graph, not shared across organization
69
+
64
70
  Includes:
65
- - Graph subscription tiers (standard, enterprise, premium)
66
- - Shared repository subscriptions (SEC, industry, economic data)
71
+ - Graph infrastructure tiers (kuzu-standard, kuzu-large, kuzu-xlarge) - per-graph pricing
72
+ - Shared repository subscriptions (SEC, industry, economic data) - org-level
67
73
  - Operation costs and credit information
68
74
  - Features and capabilities for each tier
69
75
  - Enabled/disabled status for repositories
@@ -101,9 +107,15 @@ def sync(
101
107
  and shared repository subscriptions. This is the primary endpoint for frontend
102
108
  applications to display subscription options.
103
109
 
110
+ **Pricing Model:**
111
+ - Graph subscriptions are **per-graph** with infrastructure-based pricing
112
+ - Each graph you create has its own monthly subscription
113
+ - Organizations can have multiple graphs with different infrastructure tiers
114
+ - Credits are allocated per-graph, not shared across organization
115
+
104
116
  Includes:
105
- - Graph subscription tiers (standard, enterprise, premium)
106
- - Shared repository subscriptions (SEC, industry, economic data)
117
+ - Graph infrastructure tiers (kuzu-standard, kuzu-large, kuzu-xlarge) - per-graph pricing
118
+ - Shared repository subscriptions (SEC, industry, economic data) - org-level
107
119
  - Operation costs and credit information
108
120
  - Features and capabilities for each tier
109
121
  - Enabled/disabled status for repositories
@@ -137,9 +149,15 @@ async def asyncio_detailed(
137
149
  and shared repository subscriptions. This is the primary endpoint for frontend
138
150
  applications to display subscription options.
139
151
 
152
+ **Pricing Model:**
153
+ - Graph subscriptions are **per-graph** with infrastructure-based pricing
154
+ - Each graph you create has its own monthly subscription
155
+ - Organizations can have multiple graphs with different infrastructure tiers
156
+ - Credits are allocated per-graph, not shared across organization
157
+
140
158
  Includes:
141
- - Graph subscription tiers (standard, enterprise, premium)
142
- - Shared repository subscriptions (SEC, industry, economic data)
159
+ - Graph infrastructure tiers (kuzu-standard, kuzu-large, kuzu-xlarge) - per-graph pricing
160
+ - Shared repository subscriptions (SEC, industry, economic data) - org-level
143
161
  - Operation costs and credit information
144
162
  - Features and capabilities for each tier
145
163
  - Enabled/disabled status for repositories
@@ -175,9 +193,15 @@ async def asyncio(
175
193
  and shared repository subscriptions. This is the primary endpoint for frontend
176
194
  applications to display subscription options.
177
195
 
196
+ **Pricing Model:**
197
+ - Graph subscriptions are **per-graph** with infrastructure-based pricing
198
+ - Each graph you create has its own monthly subscription
199
+ - Organizations can have multiple graphs with different infrastructure tiers
200
+ - Credits are allocated per-graph, not shared across organization
201
+
178
202
  Includes:
179
- - Graph subscription tiers (standard, enterprise, premium)
180
- - Shared repository subscriptions (SEC, industry, economic data)
203
+ - Graph infrastructure tiers (kuzu-standard, kuzu-large, kuzu-xlarge) - per-graph pricing
204
+ - Shared repository subscriptions (SEC, industry, economic data) - org-level
181
205
  - Operation costs and credit information
182
206
  - Features and capabilities for each tier
183
207
  - Enabled/disabled status for repositories
@@ -95,7 +95,7 @@ def sync_detailed(
95
95
  ) -> Response[Union[ErrorResponse, GraphUsageResponse, HTTPValidationError]]:
96
96
  """Get Graph Usage Analytics
97
97
 
98
- Get comprehensive usage analytics tracked by the GraphUsageTracking model.
98
+ Get comprehensive usage analytics tracked by the GraphUsage model.
99
99
 
100
100
  Provides temporal usage patterns including:
101
101
  - **Storage Analytics**: GB-hours for billing, breakdown by type (files, tables, graphs, subgraphs)
@@ -171,7 +171,7 @@ def sync(
171
171
  ) -> Optional[Union[ErrorResponse, GraphUsageResponse, HTTPValidationError]]:
172
172
  """Get Graph Usage Analytics
173
173
 
174
- Get comprehensive usage analytics tracked by the GraphUsageTracking model.
174
+ Get comprehensive usage analytics tracked by the GraphUsage model.
175
175
 
176
176
  Provides temporal usage patterns including:
177
177
  - **Storage Analytics**: GB-hours for billing, breakdown by type (files, tables, graphs, subgraphs)
@@ -242,7 +242,7 @@ async def asyncio_detailed(
242
242
  ) -> Response[Union[ErrorResponse, GraphUsageResponse, HTTPValidationError]]:
243
243
  """Get Graph Usage Analytics
244
244
 
245
- Get comprehensive usage analytics tracked by the GraphUsageTracking model.
245
+ Get comprehensive usage analytics tracked by the GraphUsage model.
246
246
 
247
247
  Provides temporal usage patterns including:
248
248
  - **Storage Analytics**: GB-hours for billing, breakdown by type (files, tables, graphs, subgraphs)
@@ -316,7 +316,7 @@ async def asyncio(
316
316
  ) -> Optional[Union[ErrorResponse, GraphUsageResponse, HTTPValidationError]]:
317
317
  """Get Graph Usage Analytics
318
318
 
319
- Get comprehensive usage analytics tracked by the GraphUsageTracking model.
319
+ Get comprehensive usage analytics tracked by the GraphUsage model.
320
320
 
321
321
  Provides temporal usage patterns including:
322
322
  - **Storage Analytics**: GB-hours for billing, breakdown by type (files, tables, graphs, subgraphs)
@@ -24,6 +24,7 @@ from .agent_response_tokens_used_type_0 import AgentResponseTokensUsedType0
24
24
  from .api_key_info import APIKeyInfo
25
25
  from .api_keys_response import APIKeysResponse
26
26
  from .auth_response import AuthResponse
27
+ from .auth_response_org_type_0 import AuthResponseOrgType0
27
28
  from .auth_response_user import AuthResponseUser
28
29
  from .available_extension import AvailableExtension
29
30
  from .available_extensions_response import AvailableExtensionsResponse
@@ -65,6 +66,7 @@ from .create_checkout_request_resource_config import CreateCheckoutRequestResour
65
66
  from .create_connection_request import CreateConnectionRequest
66
67
  from .create_connection_request_provider import CreateConnectionRequestProvider
67
68
  from .create_graph_request import CreateGraphRequest
69
+ from .create_org_request import CreateOrgRequest
68
70
  from .create_repository_subscription_request import CreateRepositorySubscriptionRequest
69
71
  from .create_subgraph_request import CreateSubgraphRequest
70
72
  from .create_subgraph_request_metadata_type_0 import CreateSubgraphRequestMetadataType0
@@ -144,6 +146,7 @@ from .health_status import HealthStatus
144
146
  from .health_status_details_type_0 import HealthStatusDetailsType0
145
147
  from .http_validation_error import HTTPValidationError
146
148
  from .initial_entity_data import InitialEntityData
149
+ from .invite_member_request import InviteMemberRequest
147
150
  from .invoice import Invoice
148
151
  from .invoice_line_item import InvoiceLineItem
149
152
  from .invoices_response import InvoicesResponse
@@ -151,6 +154,7 @@ from .link_token_request import LinkTokenRequest
151
154
  from .link_token_request_options_type_0 import LinkTokenRequestOptionsType0
152
155
  from .link_token_request_provider_type_0 import LinkTokenRequestProviderType0
153
156
  from .list_connections_provider_type_0 import ListConnectionsProviderType0
157
+ from .list_org_graphs_response_200_item import ListOrgGraphsResponse200Item
154
158
  from .list_subgraphs_response import ListSubgraphsResponse
155
159
  from .list_table_files_response import ListTableFilesResponse
156
160
  from .login_request import LoginRequest
@@ -172,6 +176,22 @@ from .offering_repository_plan_rate_limits_type_0 import (
172
176
  from .operation_costs import OperationCosts
173
177
  from .operation_costs_ai_operations import OperationCostsAiOperations
174
178
  from .operation_costs_token_pricing import OperationCostsTokenPricing
179
+ from .org_detail_response import OrgDetailResponse
180
+ from .org_detail_response_graphs_item import OrgDetailResponseGraphsItem
181
+ from .org_detail_response_limits_type_0 import OrgDetailResponseLimitsType0
182
+ from .org_detail_response_members_item import OrgDetailResponseMembersItem
183
+ from .org_limits_response import OrgLimitsResponse
184
+ from .org_limits_response_current_usage import OrgLimitsResponseCurrentUsage
185
+ from .org_list_response import OrgListResponse
186
+ from .org_member_list_response import OrgMemberListResponse
187
+ from .org_member_response import OrgMemberResponse
188
+ from .org_response import OrgResponse
189
+ from .org_role import OrgRole
190
+ from .org_type import OrgType
191
+ from .org_usage_response import OrgUsageResponse
192
+ from .org_usage_response_daily_trend_item import OrgUsageResponseDailyTrendItem
193
+ from .org_usage_response_graph_details_item import OrgUsageResponseGraphDetailsItem
194
+ from .org_usage_summary import OrgUsageSummary
175
195
  from .password_check_request import PasswordCheckRequest
176
196
  from .password_check_response import PasswordCheckResponse
177
197
  from .password_check_response_character_types import PasswordCheckResponseCharacterTypes
@@ -256,16 +276,15 @@ from .update_api_key_request import UpdateAPIKeyRequest
256
276
  from .update_file_status_response_updatefilestatus import (
257
277
  UpdateFileStatusResponseUpdatefilestatus,
258
278
  )
279
+ from .update_member_role_request import UpdateMemberRoleRequest
280
+ from .update_org_request import UpdateOrgRequest
259
281
  from .update_password_request import UpdatePasswordRequest
260
282
  from .update_payment_method_request import UpdatePaymentMethodRequest
261
283
  from .update_payment_method_response import UpdatePaymentMethodResponse
262
284
  from .update_user_request import UpdateUserRequest
263
285
  from .upgrade_subscription_request import UpgradeSubscriptionRequest
264
286
  from .user_graphs_response import UserGraphsResponse
265
- from .user_limits_response import UserLimitsResponse
266
287
  from .user_response import UserResponse
267
- from .user_usage_response import UserUsageResponse
268
- from .user_usage_response_graphs import UserUsageResponseGraphs
269
288
  from .validation_error import ValidationError
270
289
 
271
290
  __all__ = (
@@ -289,6 +308,7 @@ __all__ = (
289
308
  "APIKeyInfo",
290
309
  "APIKeysResponse",
291
310
  "AuthResponse",
311
+ "AuthResponseOrgType0",
292
312
  "AuthResponseUser",
293
313
  "AvailableExtension",
294
314
  "AvailableExtensionsResponse",
@@ -326,6 +346,7 @@ __all__ = (
326
346
  "CreateConnectionRequest",
327
347
  "CreateConnectionRequestProvider",
328
348
  "CreateGraphRequest",
349
+ "CreateOrgRequest",
329
350
  "CreateRepositorySubscriptionRequest",
330
351
  "CreateSubgraphRequest",
331
352
  "CreateSubgraphRequestMetadataType0",
@@ -387,6 +408,7 @@ __all__ = (
387
408
  "HealthStatusDetailsType0",
388
409
  "HTTPValidationError",
389
410
  "InitialEntityData",
411
+ "InviteMemberRequest",
390
412
  "Invoice",
391
413
  "InvoiceLineItem",
392
414
  "InvoicesResponse",
@@ -394,6 +416,7 @@ __all__ = (
394
416
  "LinkTokenRequestOptionsType0",
395
417
  "LinkTokenRequestProviderType0",
396
418
  "ListConnectionsProviderType0",
419
+ "ListOrgGraphsResponse200Item",
397
420
  "ListSubgraphsResponse",
398
421
  "ListTableFilesResponse",
399
422
  "LoginRequest",
@@ -411,6 +434,22 @@ __all__ = (
411
434
  "OperationCosts",
412
435
  "OperationCostsAiOperations",
413
436
  "OperationCostsTokenPricing",
437
+ "OrgDetailResponse",
438
+ "OrgDetailResponseGraphsItem",
439
+ "OrgDetailResponseLimitsType0",
440
+ "OrgDetailResponseMembersItem",
441
+ "OrgLimitsResponse",
442
+ "OrgLimitsResponseCurrentUsage",
443
+ "OrgListResponse",
444
+ "OrgMemberListResponse",
445
+ "OrgMemberResponse",
446
+ "OrgResponse",
447
+ "OrgRole",
448
+ "OrgType",
449
+ "OrgUsageResponse",
450
+ "OrgUsageResponseDailyTrendItem",
451
+ "OrgUsageResponseGraphDetailsItem",
452
+ "OrgUsageSummary",
414
453
  "PasswordCheckRequest",
415
454
  "PasswordCheckResponse",
416
455
  "PasswordCheckResponseCharacterTypes",
@@ -477,15 +516,14 @@ __all__ = (
477
516
  "UpcomingInvoice",
478
517
  "UpdateAPIKeyRequest",
479
518
  "UpdateFileStatusResponseUpdatefilestatus",
519
+ "UpdateMemberRoleRequest",
520
+ "UpdateOrgRequest",
480
521
  "UpdatePasswordRequest",
481
522
  "UpdatePaymentMethodRequest",
482
523
  "UpdatePaymentMethodResponse",
483
524
  "UpdateUserRequest",
484
525
  "UpgradeSubscriptionRequest",
485
526
  "UserGraphsResponse",
486
- "UserLimitsResponse",
487
527
  "UserResponse",
488
- "UserUsageResponse",
489
- "UserUsageResponseGraphs",
490
528
  "ValidationError",
491
529
  )
@@ -7,6 +7,7 @@ from attrs import field as _attrs_field
7
7
  from ..types import UNSET, Unset
8
8
 
9
9
  if TYPE_CHECKING:
10
+ from ..models.auth_response_org_type_0 import AuthResponseOrgType0
10
11
  from ..models.auth_response_user import AuthResponseUser
11
12
 
12
13
 
@@ -20,6 +21,8 @@ class AuthResponse:
20
21
  Attributes:
21
22
  user (AuthResponseUser): User information
22
23
  message (str): Success message
24
+ org (Union['AuthResponseOrgType0', None, Unset]): Organization information (personal org created automatically
25
+ on registration)
23
26
  token (Union[None, Unset, str]): JWT authentication token (optional for cookie-based auth)
24
27
  expires_in (Union[None, Unset, int]): Token expiry time in seconds from now
25
28
  refresh_threshold (Union[None, Unset, int]): Recommended refresh threshold in seconds before expiry
@@ -27,16 +30,27 @@ class AuthResponse:
27
30
 
28
31
  user: "AuthResponseUser"
29
32
  message: str
33
+ org: Union["AuthResponseOrgType0", None, Unset] = UNSET
30
34
  token: Union[None, Unset, str] = UNSET
31
35
  expires_in: Union[None, Unset, int] = UNSET
32
36
  refresh_threshold: Union[None, Unset, int] = UNSET
33
37
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
34
38
 
35
39
  def to_dict(self) -> dict[str, Any]:
40
+ from ..models.auth_response_org_type_0 import AuthResponseOrgType0
41
+
36
42
  user = self.user.to_dict()
37
43
 
38
44
  message = self.message
39
45
 
46
+ org: Union[None, Unset, dict[str, Any]]
47
+ if isinstance(self.org, Unset):
48
+ org = UNSET
49
+ elif isinstance(self.org, AuthResponseOrgType0):
50
+ org = self.org.to_dict()
51
+ else:
52
+ org = self.org
53
+
40
54
  token: Union[None, Unset, str]
41
55
  if isinstance(self.token, Unset):
42
56
  token = UNSET
@@ -63,6 +77,8 @@ class AuthResponse:
63
77
  "message": message,
64
78
  }
65
79
  )
80
+ if org is not UNSET:
81
+ field_dict["org"] = org
66
82
  if token is not UNSET:
67
83
  field_dict["token"] = token
68
84
  if expires_in is not UNSET:
@@ -74,6 +90,7 @@ class AuthResponse:
74
90
 
75
91
  @classmethod
76
92
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
93
+ from ..models.auth_response_org_type_0 import AuthResponseOrgType0
77
94
  from ..models.auth_response_user import AuthResponseUser
78
95
 
79
96
  d = dict(src_dict)
@@ -81,6 +98,23 @@ class AuthResponse:
81
98
 
82
99
  message = d.pop("message")
83
100
 
101
+ def _parse_org(data: object) -> Union["AuthResponseOrgType0", None, Unset]:
102
+ if data is None:
103
+ return data
104
+ if isinstance(data, Unset):
105
+ return data
106
+ try:
107
+ if not isinstance(data, dict):
108
+ raise TypeError()
109
+ org_type_0 = AuthResponseOrgType0.from_dict(data)
110
+
111
+ return org_type_0
112
+ except: # noqa: E722
113
+ pass
114
+ return cast(Union["AuthResponseOrgType0", None, Unset], data)
115
+
116
+ org = _parse_org(d.pop("org", UNSET))
117
+
84
118
  def _parse_token(data: object) -> Union[None, Unset, str]:
85
119
  if data is None:
86
120
  return data
@@ -111,6 +145,7 @@ class AuthResponse:
111
145
  auth_response = cls(
112
146
  user=user,
113
147
  message=message,
148
+ org=org,
114
149
  token=token,
115
150
  expires_in=expires_in,
116
151
  refresh_threshold=refresh_threshold,
@@ -4,12 +4,12 @@ from typing import Any, TypeVar
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
 
7
- T = TypeVar("T", bound="UserUsageResponseGraphs")
7
+ T = TypeVar("T", bound="AuthResponseOrgType0")
8
8
 
9
9
 
10
10
  @_attrs_define
11
- class UserUsageResponseGraphs:
12
- """Graph usage statistics (current/limit/remaining)"""
11
+ class AuthResponseOrgType0:
12
+ """ """
13
13
 
14
14
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
15
 
@@ -22,10 +22,10 @@ class UserUsageResponseGraphs:
22
22
  @classmethod
23
23
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
24
  d = dict(src_dict)
25
- user_usage_response_graphs = cls()
25
+ auth_response_org_type_0 = cls()
26
26
 
27
- user_usage_response_graphs.additional_properties = d
28
- return user_usage_response_graphs
27
+ auth_response_org_type_0.additional_properties = d
28
+ return auth_response_org_type_0
29
29
 
30
30
  @property
31
31
  def additional_keys(self) -> list[str]:
@@ -15,18 +15,18 @@ T = TypeVar("T", bound="BillingCustomer")
15
15
 
16
16
  @_attrs_define
17
17
  class BillingCustomer:
18
- """Billing customer information.
18
+ """Billing customer information for an organization.
19
19
 
20
20
  Attributes:
21
- user_id (str): User ID
22
- has_payment_method (bool): Whether customer has a payment method on file
21
+ org_id (str): Organization ID
22
+ has_payment_method (bool): Whether organization has a payment method on file
23
23
  invoice_billing_enabled (bool): Whether invoice billing is enabled (enterprise customers)
24
24
  payment_methods (list['PaymentMethod']): List of payment methods on file
25
25
  created_at (str): Customer creation timestamp (ISO format)
26
26
  stripe_customer_id (Union[None, Unset, str]): Stripe customer ID if applicable
27
27
  """
28
28
 
29
- user_id: str
29
+ org_id: str
30
30
  has_payment_method: bool
31
31
  invoice_billing_enabled: bool
32
32
  payment_methods: list["PaymentMethod"]
@@ -35,7 +35,7 @@ class BillingCustomer:
35
35
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
36
 
37
37
  def to_dict(self) -> dict[str, Any]:
38
- user_id = self.user_id
38
+ org_id = self.org_id
39
39
 
40
40
  has_payment_method = self.has_payment_method
41
41
 
@@ -58,7 +58,7 @@ class BillingCustomer:
58
58
  field_dict.update(self.additional_properties)
59
59
  field_dict.update(
60
60
  {
61
- "user_id": user_id,
61
+ "org_id": org_id,
62
62
  "has_payment_method": has_payment_method,
63
63
  "invoice_billing_enabled": invoice_billing_enabled,
64
64
  "payment_methods": payment_methods,
@@ -75,7 +75,7 @@ class BillingCustomer:
75
75
  from ..models.payment_method import PaymentMethod
76
76
 
77
77
  d = dict(src_dict)
78
- user_id = d.pop("user_id")
78
+ org_id = d.pop("org_id")
79
79
 
80
80
  has_payment_method = d.pop("has_payment_method")
81
81
 
@@ -100,7 +100,7 @@ class BillingCustomer:
100
100
  stripe_customer_id = _parse_stripe_customer_id(d.pop("stripe_customer_id", UNSET))
101
101
 
102
102
  billing_customer = cls(
103
- user_id=user_id,
103
+ org_id=org_id,
104
104
  has_payment_method=has_payment_method,
105
105
  invoice_billing_enabled=invoice_billing_enabled,
106
106
  payment_methods=payment_methods,