Skip to content

Commit c22c214

Browse files
committed
Create and update organizations with external id and metadata
1 parent 4fee98e commit c22c214

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

workos/organizations.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from typing import Optional, Protocol, Sequence
22

3+
from workos.types.metadata import Metadata
34
from workos.types.organizations.domain_data_input import DomainDataInput
45
from workos.types.organizations.list_filters import OrganizationListFilters
56
from workos.types.roles.role import RoleList
@@ -79,6 +80,8 @@ def create_organization(
7980
name: str,
8081
domain_data: Optional[Sequence[DomainDataInput]] = None,
8182
idempotency_key: Optional[str] = None,
83+
external_id: Optional[str] = None,
84+
metadata: Optional[Metadata] = None,
8285
) -> SyncOrAsync[Organization]:
8386
"""Create an organization
8487
@@ -98,6 +101,8 @@ def update_organization(
98101
organization_id: str,
99102
name: Optional[str] = None,
100103
domain_data: Optional[Sequence[DomainDataInput]] = None,
104+
external_id: Optional[str] = None,
105+
metadata: Optional[Metadata] = None,
101106
) -> SyncOrAsync[Organization]:
102107
"""Update an organization
103108
@@ -180,6 +185,8 @@ def create_organization(
180185
name: str,
181186
domain_data: Optional[Sequence[DomainDataInput]] = None,
182187
idempotency_key: Optional[str] = None,
188+
external_id: Optional[str] = None,
189+
metadata: Optional[Metadata] = None,
183190
) -> Organization:
184191
headers = {}
185192
if idempotency_key:
@@ -189,6 +196,8 @@ def create_organization(
189196
"name": name,
190197
"domain_data": domain_data,
191198
"idempotency_key": idempotency_key,
199+
"external_id": external_id,
200+
"metadata": metadata,
192201
}
193202

194203
response = self._http_client.request(
@@ -207,11 +216,15 @@ def update_organization(
207216
name: Optional[str] = None,
208217
domain_data: Optional[Sequence[DomainDataInput]] = None,
209218
stripe_customer_id: Optional[str] = None,
219+
external_id: Optional[str] = None,
220+
metadata: Optional[Metadata] = None,
210221
) -> Organization:
211222
json = {
212223
"name": name,
213224
"domain_data": domain_data,
214225
"stripe_customer_id": stripe_customer_id,
226+
"external_id": external_id,
227+
"metadata": metadata,
215228
}
216229

217230
response = self._http_client.request(
@@ -291,6 +304,8 @@ async def create_organization(
291304
name: str,
292305
domain_data: Optional[Sequence[DomainDataInput]] = None,
293306
idempotency_key: Optional[str] = None,
307+
external_id: Optional[str] = None,
308+
metadata: Optional[Metadata] = None,
294309
) -> Organization:
295310
headers = {}
296311
if idempotency_key:
@@ -300,6 +315,8 @@ async def create_organization(
300315
"name": name,
301316
"domain_data": domain_data,
302317
"idempotency_key": idempotency_key,
318+
"external_id": external_id,
319+
"metadata": metadata,
303320
}
304321

305322
response = await self._http_client.request(
@@ -318,11 +335,15 @@ async def update_organization(
318335
name: Optional[str] = None,
319336
domain_data: Optional[Sequence[DomainDataInput]] = None,
320337
stripe_customer_id: Optional[str] = None,
338+
external_id: Optional[str] = None,
339+
metadata: Optional[Metadata] = None,
321340
) -> Organization:
322341
json = {
323342
"name": name,
324343
"domain_data": domain_data,
325344
"stripe_customer_id": stripe_customer_id,
345+
"external_id": external_id,
346+
"metadata": metadata,
326347
}
327348

328349
response = await self._http_client.request(

0 commit comments

Comments
 (0)