universal-mcp-applications 0.1.30rc2__py3-none-any.whl → 0.1.36rc2__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.
- universal_mcp/applications/ahrefs/app.py +52 -198
- universal_mcp/applications/airtable/app.py +23 -122
- universal_mcp/applications/apollo/app.py +111 -464
- universal_mcp/applications/asana/app.py +417 -1567
- universal_mcp/applications/aws_s3/app.py +36 -103
- universal_mcp/applications/bill/app.py +546 -1957
- universal_mcp/applications/box/app.py +1068 -3981
- universal_mcp/applications/braze/app.py +364 -1430
- universal_mcp/applications/browser_use/app.py +2 -8
- universal_mcp/applications/cal_com_v2/app.py +207 -625
- universal_mcp/applications/calendly/app.py +61 -200
- universal_mcp/applications/canva/app.py +45 -110
- universal_mcp/applications/clickup/app.py +207 -674
- universal_mcp/applications/coda/app.py +146 -426
- universal_mcp/applications/confluence/app.py +310 -1098
- universal_mcp/applications/contentful/app.py +36 -151
- universal_mcp/applications/crustdata/app.py +28 -107
- universal_mcp/applications/dialpad/app.py +283 -756
- universal_mcp/applications/digitalocean/app.py +1766 -5777
- universal_mcp/applications/domain_checker/app.py +3 -54
- universal_mcp/applications/e2b/app.py +14 -64
- universal_mcp/applications/elevenlabs/app.py +9 -47
- universal_mcp/applications/exa/app.py +6 -17
- universal_mcp/applications/falai/app.py +24 -101
- universal_mcp/applications/figma/app.py +53 -137
- universal_mcp/applications/file_system/app.py +2 -13
- universal_mcp/applications/firecrawl/app.py +51 -152
- universal_mcp/applications/fireflies/app.py +59 -281
- universal_mcp/applications/fpl/app.py +91 -528
- universal_mcp/applications/fpl/utils/fixtures.py +15 -49
- universal_mcp/applications/fpl/utils/helper.py +25 -89
- universal_mcp/applications/fpl/utils/league_utils.py +20 -64
- universal_mcp/applications/ghost_content/app.py +52 -161
- universal_mcp/applications/github/app.py +19 -56
- universal_mcp/applications/gong/app.py +88 -248
- universal_mcp/applications/google_calendar/app.py +16 -68
- universal_mcp/applications/google_docs/app.py +88 -188
- universal_mcp/applications/google_drive/app.py +141 -463
- universal_mcp/applications/google_gemini/app.py +12 -64
- universal_mcp/applications/google_mail/app.py +28 -157
- universal_mcp/applications/google_searchconsole/app.py +15 -48
- universal_mcp/applications/google_sheet/app.py +103 -580
- universal_mcp/applications/google_sheet/helper.py +10 -37
- universal_mcp/applications/hashnode/app.py +57 -269
- universal_mcp/applications/heygen/app.py +44 -122
- universal_mcp/applications/http_tools/app.py +10 -32
- universal_mcp/applications/hubspot/api_segments/crm_api.py +460 -1573
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +74 -262
- universal_mcp/applications/hubspot/app.py +23 -87
- universal_mcp/applications/jira/app.py +2071 -7986
- universal_mcp/applications/klaviyo/app.py +494 -1376
- universal_mcp/applications/linkedin/README.md +9 -2
- universal_mcp/applications/linkedin/app.py +392 -212
- universal_mcp/applications/mailchimp/app.py +450 -1605
- universal_mcp/applications/markitdown/app.py +8 -20
- universal_mcp/applications/miro/app.py +217 -699
- universal_mcp/applications/ms_teams/app.py +64 -186
- universal_mcp/applications/neon/app.py +86 -192
- universal_mcp/applications/notion/app.py +21 -36
- universal_mcp/applications/onedrive/app.py +16 -38
- universal_mcp/applications/openai/app.py +42 -165
- universal_mcp/applications/outlook/app.py +24 -84
- universal_mcp/applications/perplexity/app.py +4 -19
- universal_mcp/applications/pipedrive/app.py +832 -3142
- universal_mcp/applications/posthog/app.py +163 -432
- universal_mcp/applications/reddit/app.py +40 -139
- universal_mcp/applications/resend/app.py +41 -107
- universal_mcp/applications/retell/app.py +14 -41
- universal_mcp/applications/rocketlane/app.py +221 -934
- universal_mcp/applications/scraper/README.md +7 -4
- universal_mcp/applications/scraper/app.py +216 -102
- universal_mcp/applications/semanticscholar/app.py +22 -64
- universal_mcp/applications/semrush/app.py +43 -77
- universal_mcp/applications/sendgrid/app.py +512 -1262
- universal_mcp/applications/sentry/app.py +271 -906
- universal_mcp/applications/serpapi/app.py +40 -143
- universal_mcp/applications/sharepoint/app.py +17 -39
- universal_mcp/applications/shopify/app.py +1551 -4287
- universal_mcp/applications/shortcut/app.py +155 -417
- universal_mcp/applications/slack/app.py +50 -101
- universal_mcp/applications/spotify/app.py +126 -325
- universal_mcp/applications/supabase/app.py +104 -213
- universal_mcp/applications/tavily/app.py +1 -1
- universal_mcp/applications/trello/app.py +693 -2656
- universal_mcp/applications/twilio/app.py +14 -50
- universal_mcp/applications/twitter/api_segments/compliance_api.py +4 -14
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +6 -18
- universal_mcp/applications/twitter/api_segments/likes_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/lists_api.py +5 -15
- universal_mcp/applications/twitter/api_segments/trends_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/tweets_api.py +9 -31
- universal_mcp/applications/twitter/api_segments/usage_api.py +1 -5
- universal_mcp/applications/twitter/api_segments/users_api.py +14 -42
- universal_mcp/applications/whatsapp/app.py +35 -186
- universal_mcp/applications/whatsapp/audio.py +2 -6
- universal_mcp/applications/whatsapp/whatsapp.py +17 -51
- universal_mcp/applications/whatsapp_business/app.py +70 -283
- universal_mcp/applications/wrike/app.py +45 -118
- universal_mcp/applications/yahoo_finance/app.py +19 -65
- universal_mcp/applications/youtube/app.py +75 -261
- universal_mcp/applications/zenquotes/app.py +2 -2
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/RECORD +105 -105
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
from typing import Any
|
|
2
|
-
|
|
3
2
|
from universal_mcp.applications.application import APIApplication
|
|
4
3
|
from universal_mcp.integrations import Integration
|
|
5
4
|
|
|
@@ -9,9 +8,7 @@ class CodaApp(APIApplication):
|
|
|
9
8
|
super().__init__(name="coda", integration=integration, **kwargs)
|
|
10
9
|
self.base_url = "https://coda.io/apis/v1"
|
|
11
10
|
|
|
12
|
-
def list_categories(
|
|
13
|
-
self,
|
|
14
|
-
) -> dict[str, Any]:
|
|
11
|
+
async def list_categories(self) -> dict[str, Any]:
|
|
15
12
|
"""
|
|
16
13
|
Retrieves a dictionary of available categories from the API endpoint.
|
|
17
14
|
|
|
@@ -33,7 +30,7 @@ class CodaApp(APIApplication):
|
|
|
33
30
|
response.raise_for_status()
|
|
34
31
|
return response.json()
|
|
35
32
|
|
|
36
|
-
def list_docs(
|
|
33
|
+
async def list_docs(
|
|
37
34
|
self,
|
|
38
35
|
isOwner=None,
|
|
39
36
|
isPublished=None,
|
|
@@ -91,9 +88,7 @@ class CodaApp(APIApplication):
|
|
|
91
88
|
response.raise_for_status()
|
|
92
89
|
return response.json()
|
|
93
90
|
|
|
94
|
-
def create_doc(
|
|
95
|
-
self, title=None, sourceDoc=None, timezone=None, folderId=None, initialPage=None
|
|
96
|
-
) -> dict[str, Any]:
|
|
91
|
+
async def create_doc(self, title=None, sourceDoc=None, timezone=None, folderId=None, initialPage=None) -> dict[str, Any]:
|
|
97
92
|
"""
|
|
98
93
|
Creates a new document with the specified properties and returns its metadata as a dictionary.
|
|
99
94
|
|
|
@@ -113,13 +108,7 @@ class CodaApp(APIApplication):
|
|
|
113
108
|
Tags:
|
|
114
109
|
create, document, api, management, important
|
|
115
110
|
"""
|
|
116
|
-
request_body = {
|
|
117
|
-
"title": title,
|
|
118
|
-
"sourceDoc": sourceDoc,
|
|
119
|
-
"timezone": timezone,
|
|
120
|
-
"folderId": folderId,
|
|
121
|
-
"initialPage": initialPage,
|
|
122
|
-
}
|
|
111
|
+
request_body = {"title": title, "sourceDoc": sourceDoc, "timezone": timezone, "folderId": folderId, "initialPage": initialPage}
|
|
123
112
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
124
113
|
url = f"{self.base_url}/docs"
|
|
125
114
|
query_params = {}
|
|
@@ -127,7 +116,7 @@ class CodaApp(APIApplication):
|
|
|
127
116
|
response.raise_for_status()
|
|
128
117
|
return response.json()
|
|
129
118
|
|
|
130
|
-
def get_doc(self, docId) -> dict[str, Any]:
|
|
119
|
+
async def get_doc(self, docId) -> dict[str, Any]:
|
|
131
120
|
"""
|
|
132
121
|
Retrieves a document by its unique identifier from the remote service.
|
|
133
122
|
|
|
@@ -152,7 +141,7 @@ class CodaApp(APIApplication):
|
|
|
152
141
|
response.raise_for_status()
|
|
153
142
|
return response.json()
|
|
154
143
|
|
|
155
|
-
def delete_doc(self, docId) -> dict[str, Any]:
|
|
144
|
+
async def delete_doc(self, docId) -> dict[str, Any]:
|
|
156
145
|
"""
|
|
157
146
|
Deletes a document by its ID from the remote service.
|
|
158
147
|
|
|
@@ -177,7 +166,7 @@ class CodaApp(APIApplication):
|
|
|
177
166
|
response.raise_for_status()
|
|
178
167
|
return response.json()
|
|
179
168
|
|
|
180
|
-
def update_doc(self, docId, title=None, iconName=None) -> dict[str, Any]:
|
|
169
|
+
async def update_doc(self, docId, title=None, iconName=None) -> dict[str, Any]:
|
|
181
170
|
"""
|
|
182
171
|
Updates the metadata of a document, such as its title and icon, using the provided document ID.
|
|
183
172
|
|
|
@@ -198,10 +187,7 @@ class CodaApp(APIApplication):
|
|
|
198
187
|
"""
|
|
199
188
|
if docId is None:
|
|
200
189
|
raise ValueError("Missing required parameter 'docId'")
|
|
201
|
-
request_body = {
|
|
202
|
-
"title": title,
|
|
203
|
-
"iconName": iconName,
|
|
204
|
-
}
|
|
190
|
+
request_body = {"title": title, "iconName": iconName}
|
|
205
191
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
206
192
|
url = f"{self.base_url}/docs/{docId}"
|
|
207
193
|
query_params = {}
|
|
@@ -209,7 +195,7 @@ class CodaApp(APIApplication):
|
|
|
209
195
|
response.raise_for_status()
|
|
210
196
|
return response.json()
|
|
211
197
|
|
|
212
|
-
def get_sharing_metadata(self, docId) -> dict[str, Any]:
|
|
198
|
+
async def get_sharing_metadata(self, docId) -> dict[str, Any]:
|
|
213
199
|
"""
|
|
214
200
|
Retrieves sharing metadata for the specified document by its ID.
|
|
215
201
|
|
|
@@ -234,7 +220,7 @@ class CodaApp(APIApplication):
|
|
|
234
220
|
response.raise_for_status()
|
|
235
221
|
return response.json()
|
|
236
222
|
|
|
237
|
-
def get_permissions(self, docId, limit=None, pageToken=None) -> dict[str, Any]:
|
|
223
|
+
async def get_permissions(self, docId, limit=None, pageToken=None) -> dict[str, Any]:
|
|
238
224
|
"""
|
|
239
225
|
Retrieves the list of permissions for a specified document.
|
|
240
226
|
|
|
@@ -256,18 +242,12 @@ class CodaApp(APIApplication):
|
|
|
256
242
|
if docId is None:
|
|
257
243
|
raise ValueError("Missing required parameter 'docId'")
|
|
258
244
|
url = f"{self.base_url}/docs/{docId}/acl/permissions"
|
|
259
|
-
query_params = {
|
|
260
|
-
k: v
|
|
261
|
-
for k, v in [("limit", limit), ("pageToken", pageToken)]
|
|
262
|
-
if v is not None
|
|
263
|
-
}
|
|
245
|
+
query_params = {k: v for k, v in [("limit", limit), ("pageToken", pageToken)] if v is not None}
|
|
264
246
|
response = self._get(url, params=query_params)
|
|
265
247
|
response.raise_for_status()
|
|
266
248
|
return response.json()
|
|
267
249
|
|
|
268
|
-
def add_permission(
|
|
269
|
-
self, docId, access, principal, suppressEmail=None
|
|
270
|
-
) -> dict[str, Any]:
|
|
250
|
+
async def add_permission(self, docId, access, principal, suppressEmail=None) -> dict[str, Any]:
|
|
271
251
|
"""
|
|
272
252
|
Adds a permission entry for a specified document, granting access to a principal with defined access level.
|
|
273
253
|
|
|
@@ -293,11 +273,7 @@ class CodaApp(APIApplication):
|
|
|
293
273
|
raise ValueError("Missing required parameter 'access'")
|
|
294
274
|
if principal is None:
|
|
295
275
|
raise ValueError("Missing required parameter 'principal'")
|
|
296
|
-
request_body = {
|
|
297
|
-
"access": access,
|
|
298
|
-
"principal": principal,
|
|
299
|
-
"suppressEmail": suppressEmail,
|
|
300
|
-
}
|
|
276
|
+
request_body = {"access": access, "principal": principal, "suppressEmail": suppressEmail}
|
|
301
277
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
302
278
|
url = f"{self.base_url}/docs/{docId}/acl/permissions"
|
|
303
279
|
query_params = {}
|
|
@@ -305,7 +281,7 @@ class CodaApp(APIApplication):
|
|
|
305
281
|
response.raise_for_status()
|
|
306
282
|
return response.json()
|
|
307
283
|
|
|
308
|
-
def delete_permission(self, docId, permissionId) -> dict[str, Any]:
|
|
284
|
+
async def delete_permission(self, docId, permissionId) -> dict[str, Any]:
|
|
309
285
|
"""
|
|
310
286
|
Deletes a specific permission from a document by its identifier.
|
|
311
287
|
|
|
@@ -333,7 +309,7 @@ class CodaApp(APIApplication):
|
|
|
333
309
|
response.raise_for_status()
|
|
334
310
|
return response.json()
|
|
335
311
|
|
|
336
|
-
def search_principals(self, docId, query=None) -> dict[str, Any]:
|
|
312
|
+
async def search_principals(self, docId, query=None) -> dict[str, Any]:
|
|
337
313
|
"""
|
|
338
314
|
Searches for principals in the access control list of a specified document, optionally filtering results by a query string.
|
|
339
315
|
|
|
@@ -359,7 +335,7 @@ class CodaApp(APIApplication):
|
|
|
359
335
|
response.raise_for_status()
|
|
360
336
|
return response.json()
|
|
361
337
|
|
|
362
|
-
def get_acl_settings(self, docId) -> dict[str, Any]:
|
|
338
|
+
async def get_acl_settings(self, docId) -> dict[str, Any]:
|
|
363
339
|
"""
|
|
364
340
|
Retrieves the access control settings for a specified document.
|
|
365
341
|
|
|
@@ -384,12 +360,8 @@ class CodaApp(APIApplication):
|
|
|
384
360
|
response.raise_for_status()
|
|
385
361
|
return response.json()
|
|
386
362
|
|
|
387
|
-
def update_acl_settings(
|
|
388
|
-
self,
|
|
389
|
-
docId,
|
|
390
|
-
allowEditorsToChangePermissions=None,
|
|
391
|
-
allowCopying=None,
|
|
392
|
-
allowViewersToRequestEditing=None,
|
|
363
|
+
async def update_acl_settings(
|
|
364
|
+
self, docId, allowEditorsToChangePermissions=None, allowCopying=None, allowViewersToRequestEditing=None
|
|
393
365
|
) -> dict[str, Any]:
|
|
394
366
|
"""
|
|
395
367
|
Updates access control settings for a specific document.
|
|
@@ -424,15 +396,7 @@ class CodaApp(APIApplication):
|
|
|
424
396
|
response.raise_for_status()
|
|
425
397
|
return response.json()
|
|
426
398
|
|
|
427
|
-
def publish_doc(
|
|
428
|
-
self,
|
|
429
|
-
docId,
|
|
430
|
-
slug=None,
|
|
431
|
-
discoverable=None,
|
|
432
|
-
earnCredit=None,
|
|
433
|
-
categoryNames=None,
|
|
434
|
-
mode=None,
|
|
435
|
-
) -> dict[str, Any]:
|
|
399
|
+
async def publish_doc(self, docId, slug=None, discoverable=None, earnCredit=None, categoryNames=None, mode=None) -> dict[str, Any]:
|
|
436
400
|
"""
|
|
437
401
|
Publishes a document with the specified docId and optional publication settings.
|
|
438
402
|
|
|
@@ -456,13 +420,7 @@ class CodaApp(APIApplication):
|
|
|
456
420
|
"""
|
|
457
421
|
if docId is None:
|
|
458
422
|
raise ValueError("Missing required parameter 'docId'")
|
|
459
|
-
request_body = {
|
|
460
|
-
"slug": slug,
|
|
461
|
-
"discoverable": discoverable,
|
|
462
|
-
"earnCredit": earnCredit,
|
|
463
|
-
"categoryNames": categoryNames,
|
|
464
|
-
"mode": mode,
|
|
465
|
-
}
|
|
423
|
+
request_body = {"slug": slug, "discoverable": discoverable, "earnCredit": earnCredit, "categoryNames": categoryNames, "mode": mode}
|
|
466
424
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
467
425
|
url = f"{self.base_url}/docs/{docId}/publish"
|
|
468
426
|
query_params = {}
|
|
@@ -470,7 +428,7 @@ class CodaApp(APIApplication):
|
|
|
470
428
|
response.raise_for_status()
|
|
471
429
|
return response.json()
|
|
472
430
|
|
|
473
|
-
def unpublish_doc(self, docId) -> dict[str, Any]:
|
|
431
|
+
async def unpublish_doc(self, docId) -> dict[str, Any]:
|
|
474
432
|
"""
|
|
475
433
|
Unpublishes a document by revoking its published status using the provided document ID.
|
|
476
434
|
|
|
@@ -495,7 +453,7 @@ class CodaApp(APIApplication):
|
|
|
495
453
|
response.raise_for_status()
|
|
496
454
|
return response.json()
|
|
497
455
|
|
|
498
|
-
def list_pages(self, docId, limit=None, pageToken=None) -> dict[str, Any]:
|
|
456
|
+
async def list_pages(self, docId, limit=None, pageToken=None) -> dict[str, Any]:
|
|
499
457
|
"""
|
|
500
458
|
Retrieves a paginated list of pages for a specified document.
|
|
501
459
|
|
|
@@ -517,24 +475,13 @@ class CodaApp(APIApplication):
|
|
|
517
475
|
if docId is None:
|
|
518
476
|
raise ValueError("Missing required parameter 'docId'")
|
|
519
477
|
url = f"{self.base_url}/docs/{docId}/pages"
|
|
520
|
-
query_params = {
|
|
521
|
-
k: v
|
|
522
|
-
for k, v in [("limit", limit), ("pageToken", pageToken)]
|
|
523
|
-
if v is not None
|
|
524
|
-
}
|
|
478
|
+
query_params = {k: v for k, v in [("limit", limit), ("pageToken", pageToken)] if v is not None}
|
|
525
479
|
response = self._get(url, params=query_params)
|
|
526
480
|
response.raise_for_status()
|
|
527
481
|
return response.json()
|
|
528
482
|
|
|
529
|
-
def create_page(
|
|
530
|
-
self,
|
|
531
|
-
docId,
|
|
532
|
-
name=None,
|
|
533
|
-
subtitle=None,
|
|
534
|
-
iconName=None,
|
|
535
|
-
imageUrl=None,
|
|
536
|
-
parentPageId=None,
|
|
537
|
-
pageContent=None,
|
|
483
|
+
async def create_page(
|
|
484
|
+
self, docId, name=None, subtitle=None, iconName=None, imageUrl=None, parentPageId=None, pageContent=None
|
|
538
485
|
) -> dict[str, Any]:
|
|
539
486
|
"""
|
|
540
487
|
Creates a new page within a specified document and returns the page details.
|
|
@@ -575,7 +522,7 @@ class CodaApp(APIApplication):
|
|
|
575
522
|
response.raise_for_status()
|
|
576
523
|
return response.json()
|
|
577
524
|
|
|
578
|
-
def get_page(self, docId, pageIdOrName) -> dict[str, Any]:
|
|
525
|
+
async def get_page(self, docId, pageIdOrName) -> dict[str, Any]:
|
|
579
526
|
"""
|
|
580
527
|
Retrieves details of a specific page within a document by its ID or name.
|
|
581
528
|
|
|
@@ -603,16 +550,8 @@ class CodaApp(APIApplication):
|
|
|
603
550
|
response.raise_for_status()
|
|
604
551
|
return response.json()
|
|
605
552
|
|
|
606
|
-
def update_page(
|
|
607
|
-
self,
|
|
608
|
-
docId,
|
|
609
|
-
pageIdOrName,
|
|
610
|
-
name=None,
|
|
611
|
-
subtitle=None,
|
|
612
|
-
iconName=None,
|
|
613
|
-
imageUrl=None,
|
|
614
|
-
isHidden=None,
|
|
615
|
-
contentUpdate=None,
|
|
553
|
+
async def update_page(
|
|
554
|
+
self, docId, pageIdOrName, name=None, subtitle=None, iconName=None, imageUrl=None, isHidden=None, contentUpdate=None
|
|
616
555
|
) -> dict[str, Any]:
|
|
617
556
|
"""
|
|
618
557
|
Updates properties of a specific page within a document, sending changes to the server and returning the updated page data.
|
|
@@ -656,7 +595,7 @@ class CodaApp(APIApplication):
|
|
|
656
595
|
response.raise_for_status()
|
|
657
596
|
return response.json()
|
|
658
597
|
|
|
659
|
-
def delete_page(self, docId, pageIdOrName) -> dict[str, Any]:
|
|
598
|
+
async def delete_page(self, docId, pageIdOrName) -> dict[str, Any]:
|
|
660
599
|
"""
|
|
661
600
|
Deletes a specific page from a document identified by docId and pageIdOrName.
|
|
662
601
|
|
|
@@ -684,9 +623,7 @@ class CodaApp(APIApplication):
|
|
|
684
623
|
response.raise_for_status()
|
|
685
624
|
return response.json()
|
|
686
625
|
|
|
687
|
-
def begin_page_content_export(
|
|
688
|
-
self, docId, pageIdOrName, outputFormat
|
|
689
|
-
) -> dict[str, Any]:
|
|
626
|
+
async def begin_page_content_export(self, docId, pageIdOrName, outputFormat) -> dict[str, Any]:
|
|
690
627
|
"""
|
|
691
628
|
Initiates an export of a specific page's content from a document in the specified format.
|
|
692
629
|
|
|
@@ -711,9 +648,7 @@ class CodaApp(APIApplication):
|
|
|
711
648
|
raise ValueError("Missing required parameter 'pageIdOrName'")
|
|
712
649
|
if outputFormat is None:
|
|
713
650
|
raise ValueError("Missing required parameter 'outputFormat'")
|
|
714
|
-
request_body = {
|
|
715
|
-
"outputFormat": outputFormat,
|
|
716
|
-
}
|
|
651
|
+
request_body = {"outputFormat": outputFormat}
|
|
717
652
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
718
653
|
url = f"{self.base_url}/docs/{docId}/pages/{pageIdOrName}/export"
|
|
719
654
|
query_params = {}
|
|
@@ -721,9 +656,7 @@ class CodaApp(APIApplication):
|
|
|
721
656
|
response.raise_for_status()
|
|
722
657
|
return response.json()
|
|
723
658
|
|
|
724
|
-
def get_page_content_export_status(
|
|
725
|
-
self, docId, pageIdOrName, requestId
|
|
726
|
-
) -> dict[str, Any]:
|
|
659
|
+
async def get_page_content_export_status(self, docId, pageIdOrName, requestId) -> dict[str, Any]:
|
|
727
660
|
"""
|
|
728
661
|
Retrieves the export status of a specific page's content in a document by request ID.
|
|
729
662
|
|
|
@@ -754,9 +687,7 @@ class CodaApp(APIApplication):
|
|
|
754
687
|
response.raise_for_status()
|
|
755
688
|
return response.json()
|
|
756
689
|
|
|
757
|
-
def list_tables(
|
|
758
|
-
self, docId, limit=None, pageToken=None, sortBy=None, tableTypes=None
|
|
759
|
-
) -> dict[str, Any]:
|
|
690
|
+
async def list_tables(self, docId, limit=None, pageToken=None, sortBy=None, tableTypes=None) -> dict[str, Any]:
|
|
760
691
|
"""
|
|
761
692
|
Retrieves a list of tables from a specified document with optional filtering, pagination, and sorting.
|
|
762
693
|
|
|
@@ -781,22 +712,13 @@ class CodaApp(APIApplication):
|
|
|
781
712
|
raise ValueError("Missing required parameter 'docId'")
|
|
782
713
|
url = f"{self.base_url}/docs/{docId}/tables"
|
|
783
714
|
query_params = {
|
|
784
|
-
k: v
|
|
785
|
-
for k, v in [
|
|
786
|
-
("limit", limit),
|
|
787
|
-
("pageToken", pageToken),
|
|
788
|
-
("sortBy", sortBy),
|
|
789
|
-
("tableTypes", tableTypes),
|
|
790
|
-
]
|
|
791
|
-
if v is not None
|
|
715
|
+
k: v for k, v in [("limit", limit), ("pageToken", pageToken), ("sortBy", sortBy), ("tableTypes", tableTypes)] if v is not None
|
|
792
716
|
}
|
|
793
717
|
response = self._get(url, params=query_params)
|
|
794
718
|
response.raise_for_status()
|
|
795
719
|
return response.json()
|
|
796
720
|
|
|
797
|
-
def get_table(
|
|
798
|
-
self, docId, tableIdOrName, useUpdatedTableLayouts=None
|
|
799
|
-
) -> dict[str, Any]:
|
|
721
|
+
async def get_table(self, docId, tableIdOrName, useUpdatedTableLayouts=None) -> dict[str, Any]:
|
|
800
722
|
"""
|
|
801
723
|
Retrieve table details from a document by table ID or name.
|
|
802
724
|
|
|
@@ -820,18 +742,12 @@ class CodaApp(APIApplication):
|
|
|
820
742
|
if tableIdOrName is None:
|
|
821
743
|
raise ValueError("Missing required parameter 'tableIdOrName'")
|
|
822
744
|
url = f"{self.base_url}/docs/{docId}/tables/{tableIdOrName}"
|
|
823
|
-
query_params = {
|
|
824
|
-
k: v
|
|
825
|
-
for k, v in [("useUpdatedTableLayouts", useUpdatedTableLayouts)]
|
|
826
|
-
if v is not None
|
|
827
|
-
}
|
|
745
|
+
query_params = {k: v for k, v in [("useUpdatedTableLayouts", useUpdatedTableLayouts)] if v is not None}
|
|
828
746
|
response = self._get(url, params=query_params)
|
|
829
747
|
response.raise_for_status()
|
|
830
748
|
return response.json()
|
|
831
749
|
|
|
832
|
-
def list_columns(
|
|
833
|
-
self, docId, tableIdOrName, limit=None, pageToken=None, visibleOnly=None
|
|
834
|
-
) -> dict[str, Any]:
|
|
750
|
+
async def list_columns(self, docId, tableIdOrName, limit=None, pageToken=None, visibleOnly=None) -> dict[str, Any]:
|
|
835
751
|
"""
|
|
836
752
|
Retrieves a list of columns for a specified table in a document, with optional filtering and pagination.
|
|
837
753
|
|
|
@@ -857,20 +773,12 @@ class CodaApp(APIApplication):
|
|
|
857
773
|
if tableIdOrName is None:
|
|
858
774
|
raise ValueError("Missing required parameter 'tableIdOrName'")
|
|
859
775
|
url = f"{self.base_url}/docs/{docId}/tables/{tableIdOrName}/columns"
|
|
860
|
-
query_params = {
|
|
861
|
-
k: v
|
|
862
|
-
for k, v in [
|
|
863
|
-
("limit", limit),
|
|
864
|
-
("pageToken", pageToken),
|
|
865
|
-
("visibleOnly", visibleOnly),
|
|
866
|
-
]
|
|
867
|
-
if v is not None
|
|
868
|
-
}
|
|
776
|
+
query_params = {k: v for k, v in [("limit", limit), ("pageToken", pageToken), ("visibleOnly", visibleOnly)] if v is not None}
|
|
869
777
|
response = self._get(url, params=query_params)
|
|
870
778
|
response.raise_for_status()
|
|
871
779
|
return response.json()
|
|
872
780
|
|
|
873
|
-
def list_rows(
|
|
781
|
+
async def list_rows(
|
|
874
782
|
self,
|
|
875
783
|
docId,
|
|
876
784
|
tableIdOrName,
|
|
@@ -931,9 +839,7 @@ class CodaApp(APIApplication):
|
|
|
931
839
|
response.raise_for_status()
|
|
932
840
|
return response.json()
|
|
933
841
|
|
|
934
|
-
def upsert_rows(
|
|
935
|
-
self, docId, tableIdOrName, rows, disableParsing=None, keyColumns=None
|
|
936
|
-
) -> dict[str, Any]:
|
|
842
|
+
async def upsert_rows(self, docId, tableIdOrName, rows, disableParsing=None, keyColumns=None) -> dict[str, Any]:
|
|
937
843
|
"""
|
|
938
844
|
Upserts (inserts or updates) multiple rows in a specified table within a document.
|
|
939
845
|
|
|
@@ -960,20 +866,15 @@ class CodaApp(APIApplication):
|
|
|
960
866
|
raise ValueError("Missing required parameter 'tableIdOrName'")
|
|
961
867
|
if rows is None:
|
|
962
868
|
raise ValueError("Missing required parameter 'rows'")
|
|
963
|
-
request_body = {
|
|
964
|
-
"rows": rows,
|
|
965
|
-
"keyColumns": keyColumns,
|
|
966
|
-
}
|
|
869
|
+
request_body = {"rows": rows, "keyColumns": keyColumns}
|
|
967
870
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
968
871
|
url = f"{self.base_url}/docs/{docId}/tables/{tableIdOrName}/rows"
|
|
969
|
-
query_params = {
|
|
970
|
-
k: v for k, v in [("disableParsing", disableParsing)] if v is not None
|
|
971
|
-
}
|
|
872
|
+
query_params = {k: v for k, v in [("disableParsing", disableParsing)] if v is not None}
|
|
972
873
|
response = self._post(url, data=request_body, params=query_params)
|
|
973
874
|
response.raise_for_status()
|
|
974
875
|
return response.json()
|
|
975
876
|
|
|
976
|
-
def delete_rows(self, docId, tableIdOrName, rowIds) -> dict[str, Any]:
|
|
877
|
+
async def delete_rows(self, docId, tableIdOrName, rowIds) -> dict[str, Any]:
|
|
977
878
|
"""
|
|
978
879
|
Deletes specified rows from a table within a given document.
|
|
979
880
|
|
|
@@ -998,9 +899,7 @@ class CodaApp(APIApplication):
|
|
|
998
899
|
raise ValueError("Missing required parameter 'tableIdOrName'")
|
|
999
900
|
if rowIds is None:
|
|
1000
901
|
raise ValueError("Missing required parameter 'rowIds'")
|
|
1001
|
-
request_body = {
|
|
1002
|
-
"rowIds": rowIds,
|
|
1003
|
-
}
|
|
902
|
+
request_body = {"rowIds": rowIds}
|
|
1004
903
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1005
904
|
url = f"{self.base_url}/docs/{docId}/tables/{tableIdOrName}/rows"
|
|
1006
905
|
query_params = {}
|
|
@@ -1008,9 +907,7 @@ class CodaApp(APIApplication):
|
|
|
1008
907
|
response.raise_for_status()
|
|
1009
908
|
return response.json()
|
|
1010
909
|
|
|
1011
|
-
def get_row(
|
|
1012
|
-
self, docId, tableIdOrName, rowIdOrName, useColumnNames=None, valueFormat=None
|
|
1013
|
-
) -> dict[str, Any]:
|
|
910
|
+
async def get_row(self, docId, tableIdOrName, rowIdOrName, useColumnNames=None, valueFormat=None) -> dict[str, Any]:
|
|
1014
911
|
"""
|
|
1015
912
|
Retrieves a specific row from a table in a document using the provided identifiers.
|
|
1016
913
|
|
|
@@ -1038,21 +935,12 @@ class CodaApp(APIApplication):
|
|
|
1038
935
|
if rowIdOrName is None:
|
|
1039
936
|
raise ValueError("Missing required parameter 'rowIdOrName'")
|
|
1040
937
|
url = f"{self.base_url}/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}"
|
|
1041
|
-
query_params = {
|
|
1042
|
-
k: v
|
|
1043
|
-
for k, v in [
|
|
1044
|
-
("useColumnNames", useColumnNames),
|
|
1045
|
-
("valueFormat", valueFormat),
|
|
1046
|
-
]
|
|
1047
|
-
if v is not None
|
|
1048
|
-
}
|
|
938
|
+
query_params = {k: v for k, v in [("useColumnNames", useColumnNames), ("valueFormat", valueFormat)] if v is not None}
|
|
1049
939
|
response = self._get(url, params=query_params)
|
|
1050
940
|
response.raise_for_status()
|
|
1051
941
|
return response.json()
|
|
1052
942
|
|
|
1053
|
-
def update_row(
|
|
1054
|
-
self, docId, tableIdOrName, rowIdOrName, row, disableParsing=None
|
|
1055
|
-
) -> dict[str, Any]:
|
|
943
|
+
async def update_row(self, docId, tableIdOrName, rowIdOrName, row, disableParsing=None) -> dict[str, Any]:
|
|
1056
944
|
"""
|
|
1057
945
|
Updates an existing row in a specified table within a document by sending the updated row data to the API.
|
|
1058
946
|
|
|
@@ -1080,19 +968,15 @@ class CodaApp(APIApplication):
|
|
|
1080
968
|
raise ValueError("Missing required parameter 'rowIdOrName'")
|
|
1081
969
|
if row is None:
|
|
1082
970
|
raise ValueError("Missing required parameter 'row'")
|
|
1083
|
-
request_body = {
|
|
1084
|
-
"row": row,
|
|
1085
|
-
}
|
|
971
|
+
request_body = {"row": row}
|
|
1086
972
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1087
973
|
url = f"{self.base_url}/docs/{docId}/tables/{tableIdOrName}/rows/{rowIdOrName}"
|
|
1088
|
-
query_params = {
|
|
1089
|
-
k: v for k, v in [("disableParsing", disableParsing)] if v is not None
|
|
1090
|
-
}
|
|
974
|
+
query_params = {k: v for k, v in [("disableParsing", disableParsing)] if v is not None}
|
|
1091
975
|
response = self._put(url, data=request_body, params=query_params)
|
|
1092
976
|
response.raise_for_status()
|
|
1093
977
|
return response.json()
|
|
1094
978
|
|
|
1095
|
-
def delete_row(self, docId, tableIdOrName, rowIdOrName) -> dict[str, Any]:
|
|
979
|
+
async def delete_row(self, docId, tableIdOrName, rowIdOrName) -> dict[str, Any]:
|
|
1096
980
|
"""
|
|
1097
981
|
Deletes a specific row from a table in the given document.
|
|
1098
982
|
|
|
@@ -1123,9 +1007,7 @@ class CodaApp(APIApplication):
|
|
|
1123
1007
|
response.raise_for_status()
|
|
1124
1008
|
return response.json()
|
|
1125
1009
|
|
|
1126
|
-
def push_button(
|
|
1127
|
-
self, docId, tableIdOrName, rowIdOrName, columnIdOrName
|
|
1128
|
-
) -> dict[str, Any]:
|
|
1010
|
+
async def push_button(self, docId, tableIdOrName, rowIdOrName, columnIdOrName) -> dict[str, Any]:
|
|
1129
1011
|
"""
|
|
1130
1012
|
Triggers a button action on a specified cell within a table row in a document and returns the result.
|
|
1131
1013
|
|
|
@@ -1159,9 +1041,7 @@ class CodaApp(APIApplication):
|
|
|
1159
1041
|
response.raise_for_status()
|
|
1160
1042
|
return response.json()
|
|
1161
1043
|
|
|
1162
|
-
def list_formulas(
|
|
1163
|
-
self, docId, limit=None, pageToken=None, sortBy=None
|
|
1164
|
-
) -> dict[str, Any]:
|
|
1044
|
+
async def list_formulas(self, docId, limit=None, pageToken=None, sortBy=None) -> dict[str, Any]:
|
|
1165
1045
|
"""
|
|
1166
1046
|
Retrieves a list of formulas for a specified document, supporting pagination and sorting options.
|
|
1167
1047
|
|
|
@@ -1184,16 +1064,12 @@ class CodaApp(APIApplication):
|
|
|
1184
1064
|
if docId is None:
|
|
1185
1065
|
raise ValueError("Missing required parameter 'docId'")
|
|
1186
1066
|
url = f"{self.base_url}/docs/{docId}/formulas"
|
|
1187
|
-
query_params = {
|
|
1188
|
-
k: v
|
|
1189
|
-
for k, v in [("limit", limit), ("pageToken", pageToken), ("sortBy", sortBy)]
|
|
1190
|
-
if v is not None
|
|
1191
|
-
}
|
|
1067
|
+
query_params = {k: v for k, v in [("limit", limit), ("pageToken", pageToken), ("sortBy", sortBy)] if v is not None}
|
|
1192
1068
|
response = self._get(url, params=query_params)
|
|
1193
1069
|
response.raise_for_status()
|
|
1194
1070
|
return response.json()
|
|
1195
1071
|
|
|
1196
|
-
def get_formula(self, docId, formulaIdOrName) -> dict[str, Any]:
|
|
1072
|
+
async def get_formula(self, docId, formulaIdOrName) -> dict[str, Any]:
|
|
1197
1073
|
"""
|
|
1198
1074
|
Retrieves details of a specific formula from a document by formula ID or name.
|
|
1199
1075
|
|
|
@@ -1221,9 +1097,7 @@ class CodaApp(APIApplication):
|
|
|
1221
1097
|
response.raise_for_status()
|
|
1222
1098
|
return response.json()
|
|
1223
1099
|
|
|
1224
|
-
def list_controls(
|
|
1225
|
-
self, docId, limit=None, pageToken=None, sortBy=None
|
|
1226
|
-
) -> dict[str, Any]:
|
|
1100
|
+
async def list_controls(self, docId, limit=None, pageToken=None, sortBy=None) -> dict[str, Any]:
|
|
1227
1101
|
"""
|
|
1228
1102
|
Retrieves a paginated list of controls associated with a specific document.
|
|
1229
1103
|
|
|
@@ -1246,16 +1120,12 @@ class CodaApp(APIApplication):
|
|
|
1246
1120
|
if docId is None:
|
|
1247
1121
|
raise ValueError("Missing required parameter 'docId'")
|
|
1248
1122
|
url = f"{self.base_url}/docs/{docId}/controls"
|
|
1249
|
-
query_params = {
|
|
1250
|
-
k: v
|
|
1251
|
-
for k, v in [("limit", limit), ("pageToken", pageToken), ("sortBy", sortBy)]
|
|
1252
|
-
if v is not None
|
|
1253
|
-
}
|
|
1123
|
+
query_params = {k: v for k, v in [("limit", limit), ("pageToken", pageToken), ("sortBy", sortBy)] if v is not None}
|
|
1254
1124
|
response = self._get(url, params=query_params)
|
|
1255
1125
|
response.raise_for_status()
|
|
1256
1126
|
return response.json()
|
|
1257
1127
|
|
|
1258
|
-
def get_control(self, docId, controlIdOrName) -> dict[str, Any]:
|
|
1128
|
+
async def get_control(self, docId, controlIdOrName) -> dict[str, Any]:
|
|
1259
1129
|
"""
|
|
1260
1130
|
Retrieves details for a specific control in a document by its ID or name.
|
|
1261
1131
|
|
|
@@ -1283,7 +1153,7 @@ class CodaApp(APIApplication):
|
|
|
1283
1153
|
response.raise_for_status()
|
|
1284
1154
|
return response.json()
|
|
1285
1155
|
|
|
1286
|
-
def list_custom_doc_domains(self, docId) -> dict[str, Any]:
|
|
1156
|
+
async def list_custom_doc_domains(self, docId) -> dict[str, Any]:
|
|
1287
1157
|
"""
|
|
1288
1158
|
Retrieve the list of custom domains associated with a specified document.
|
|
1289
1159
|
|
|
@@ -1308,7 +1178,7 @@ class CodaApp(APIApplication):
|
|
|
1308
1178
|
response.raise_for_status()
|
|
1309
1179
|
return response.json()
|
|
1310
1180
|
|
|
1311
|
-
def add_custom_doc_domain(self, docId, customDocDomain) -> dict[str, Any]:
|
|
1181
|
+
async def add_custom_doc_domain(self, docId, customDocDomain) -> dict[str, Any]:
|
|
1312
1182
|
"""
|
|
1313
1183
|
Adds a custom document domain to a specified document.
|
|
1314
1184
|
|
|
@@ -1330,9 +1200,7 @@ class CodaApp(APIApplication):
|
|
|
1330
1200
|
raise ValueError("Missing required parameter 'docId'")
|
|
1331
1201
|
if customDocDomain is None:
|
|
1332
1202
|
raise ValueError("Missing required parameter 'customDocDomain'")
|
|
1333
|
-
request_body = {
|
|
1334
|
-
"customDocDomain": customDocDomain,
|
|
1335
|
-
}
|
|
1203
|
+
request_body = {"customDocDomain": customDocDomain}
|
|
1336
1204
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1337
1205
|
url = f"{self.base_url}/docs/${docId}/domains"
|
|
1338
1206
|
query_params = {}
|
|
@@ -1340,7 +1208,7 @@ class CodaApp(APIApplication):
|
|
|
1340
1208
|
response.raise_for_status()
|
|
1341
1209
|
return response.json()
|
|
1342
1210
|
|
|
1343
|
-
def delete_custom_doc_domain(self, docId, customDocDomain) -> dict[str, Any]:
|
|
1211
|
+
async def delete_custom_doc_domain(self, docId, customDocDomain) -> dict[str, Any]:
|
|
1344
1212
|
"""
|
|
1345
1213
|
Deletes a custom document domain for a specific document by sending a DELETE request to the API.
|
|
1346
1214
|
|
|
@@ -1368,7 +1236,7 @@ class CodaApp(APIApplication):
|
|
|
1368
1236
|
response.raise_for_status()
|
|
1369
1237
|
return response.json()
|
|
1370
1238
|
|
|
1371
|
-
def get_custom_doc_domain_provider(self, customDocDomain) -> dict[str, Any]:
|
|
1239
|
+
async def get_custom_doc_domain_provider(self, customDocDomain) -> dict[str, Any]:
|
|
1372
1240
|
"""
|
|
1373
1241
|
Retrieves provider information for a specified custom document domain.
|
|
1374
1242
|
|
|
@@ -1393,9 +1261,7 @@ class CodaApp(APIApplication):
|
|
|
1393
1261
|
response.raise_for_status()
|
|
1394
1262
|
return response.json()
|
|
1395
1263
|
|
|
1396
|
-
def whoami(
|
|
1397
|
-
self,
|
|
1398
|
-
) -> dict[str, Any]:
|
|
1264
|
+
async def whoami(self) -> dict[str, Any]:
|
|
1399
1265
|
"""
|
|
1400
1266
|
Retrieves information about the current authenticated user from the API.
|
|
1401
1267
|
|
|
@@ -1414,7 +1280,7 @@ class CodaApp(APIApplication):
|
|
|
1414
1280
|
response.raise_for_status()
|
|
1415
1281
|
return response.json()
|
|
1416
1282
|
|
|
1417
|
-
def resolve_browser_link(self, url, degradeGracefully=None) -> dict[str, Any]:
|
|
1283
|
+
async def resolve_browser_link(self, url, degradeGracefully=None) -> dict[str, Any]:
|
|
1418
1284
|
"""
|
|
1419
1285
|
Resolves a browser link for the provided URL, optionally degrading gracefully, and returns the server's JSON response.
|
|
1420
1286
|
|
|
@@ -1435,16 +1301,12 @@ class CodaApp(APIApplication):
|
|
|
1435
1301
|
if url is None:
|
|
1436
1302
|
raise ValueError("Missing required parameter 'url'")
|
|
1437
1303
|
url = f"{self.base_url}/resolveBrowserLink"
|
|
1438
|
-
query_params = {
|
|
1439
|
-
k: v
|
|
1440
|
-
for k, v in [("url", url), ("degradeGracefully", degradeGracefully)]
|
|
1441
|
-
if v is not None
|
|
1442
|
-
}
|
|
1304
|
+
query_params = {k: v for k, v in [("url", url), ("degradeGracefully", degradeGracefully)] if v is not None}
|
|
1443
1305
|
response = self._get(url, params=query_params)
|
|
1444
1306
|
response.raise_for_status()
|
|
1445
1307
|
return response.json()
|
|
1446
1308
|
|
|
1447
|
-
def get_mutation_status(self, requestId) -> dict[str, Any]:
|
|
1309
|
+
async def get_mutation_status(self, requestId) -> dict[str, Any]:
|
|
1448
1310
|
"""
|
|
1449
1311
|
Retrieves the mutation status for a given request ID.
|
|
1450
1312
|
|
|
@@ -1469,9 +1331,7 @@ class CodaApp(APIApplication):
|
|
|
1469
1331
|
response.raise_for_status()
|
|
1470
1332
|
return response.json()
|
|
1471
1333
|
|
|
1472
|
-
def trigger_webhook_automation(
|
|
1473
|
-
self, docId, ruleId, request_body=None
|
|
1474
|
-
) -> dict[str, Any]:
|
|
1334
|
+
async def trigger_webhook_automation(self, docId, ruleId, request_body=None) -> dict[str, Any]:
|
|
1475
1335
|
"""
|
|
1476
1336
|
Triggers a webhook automation for the specified document and rule.
|
|
1477
1337
|
|
|
@@ -1500,9 +1360,7 @@ class CodaApp(APIApplication):
|
|
|
1500
1360
|
response.raise_for_status()
|
|
1501
1361
|
return response.json()
|
|
1502
1362
|
|
|
1503
|
-
def list_page_analytics(
|
|
1504
|
-
self, docId, sinceDate=None, untilDate=None, pageToken=None, limit=None
|
|
1505
|
-
) -> dict[str, Any]:
|
|
1363
|
+
async def list_page_analytics(self, docId, sinceDate=None, untilDate=None, pageToken=None, limit=None) -> dict[str, Any]:
|
|
1506
1364
|
"""
|
|
1507
1365
|
Retrieves analytics data for the pages of a specific document, supporting optional filtering and pagination.
|
|
1508
1366
|
|
|
@@ -1528,21 +1386,14 @@ class CodaApp(APIApplication):
|
|
|
1528
1386
|
url = f"{self.base_url}/analytics/docs/{docId}/pages"
|
|
1529
1387
|
query_params = {
|
|
1530
1388
|
k: v
|
|
1531
|
-
for k, v in [
|
|
1532
|
-
("sinceDate", sinceDate),
|
|
1533
|
-
("untilDate", untilDate),
|
|
1534
|
-
("pageToken", pageToken),
|
|
1535
|
-
("limit", limit),
|
|
1536
|
-
]
|
|
1389
|
+
for k, v in [("sinceDate", sinceDate), ("untilDate", untilDate), ("pageToken", pageToken), ("limit", limit)]
|
|
1537
1390
|
if v is not None
|
|
1538
1391
|
}
|
|
1539
1392
|
response = self._get(url, params=query_params)
|
|
1540
1393
|
response.raise_for_status()
|
|
1541
1394
|
return response.json()
|
|
1542
1395
|
|
|
1543
|
-
def list_doc_analytics_summary(
|
|
1544
|
-
self, isPublished=None, sinceDate=None, untilDate=None, workspaceId=None
|
|
1545
|
-
) -> dict[str, Any]:
|
|
1396
|
+
async def list_doc_analytics_summary(self, isPublished=None, sinceDate=None, untilDate=None, workspaceId=None) -> dict[str, Any]:
|
|
1546
1397
|
"""
|
|
1547
1398
|
Retrieves a summary of document analytics with optional filtering by publication status, date range, and workspace.
|
|
1548
1399
|
|
|
@@ -1564,19 +1415,14 @@ class CodaApp(APIApplication):
|
|
|
1564
1415
|
url = f"{self.base_url}/analytics/docs/summary"
|
|
1565
1416
|
query_params = {
|
|
1566
1417
|
k: v
|
|
1567
|
-
for k, v in [
|
|
1568
|
-
("isPublished", isPublished),
|
|
1569
|
-
("sinceDate", sinceDate),
|
|
1570
|
-
("untilDate", untilDate),
|
|
1571
|
-
("workspaceId", workspaceId),
|
|
1572
|
-
]
|
|
1418
|
+
for k, v in [("isPublished", isPublished), ("sinceDate", sinceDate), ("untilDate", untilDate), ("workspaceId", workspaceId)]
|
|
1573
1419
|
if v is not None
|
|
1574
1420
|
}
|
|
1575
1421
|
response = self._get(url, params=query_params)
|
|
1576
1422
|
response.raise_for_status()
|
|
1577
1423
|
return response.json()
|
|
1578
1424
|
|
|
1579
|
-
def list_pack_analytics(
|
|
1425
|
+
async def list_pack_analytics(
|
|
1580
1426
|
self,
|
|
1581
1427
|
packIds=None,
|
|
1582
1428
|
workspaceId=None,
|
|
@@ -1637,13 +1483,8 @@ class CodaApp(APIApplication):
|
|
|
1637
1483
|
response.raise_for_status()
|
|
1638
1484
|
return response.json()
|
|
1639
1485
|
|
|
1640
|
-
def list_pack_analytics_summary(
|
|
1641
|
-
self,
|
|
1642
|
-
packIds=None,
|
|
1643
|
-
workspaceId=None,
|
|
1644
|
-
isPublished=None,
|
|
1645
|
-
sinceDate=None,
|
|
1646
|
-
untilDate=None,
|
|
1486
|
+
async def list_pack_analytics_summary(
|
|
1487
|
+
self, packIds=None, workspaceId=None, isPublished=None, sinceDate=None, untilDate=None
|
|
1647
1488
|
) -> dict[str, Any]:
|
|
1648
1489
|
"""
|
|
1649
1490
|
Retrieves a summary of analytics for one or more packs, optionally filtered by pack IDs, workspace, publication status, and date range.
|
|
@@ -1680,7 +1521,7 @@ class CodaApp(APIApplication):
|
|
|
1680
1521
|
response.raise_for_status()
|
|
1681
1522
|
return response.json()
|
|
1682
1523
|
|
|
1683
|
-
def list_pack_formula_analytics(
|
|
1524
|
+
async def list_pack_formula_analytics(
|
|
1684
1525
|
self,
|
|
1685
1526
|
packId,
|
|
1686
1527
|
packFormulaNames=None,
|
|
@@ -1740,9 +1581,7 @@ class CodaApp(APIApplication):
|
|
|
1740
1581
|
response.raise_for_status()
|
|
1741
1582
|
return response.json()
|
|
1742
1583
|
|
|
1743
|
-
def get_analytics_last_updated(
|
|
1744
|
-
self,
|
|
1745
|
-
) -> dict[str, Any]:
|
|
1584
|
+
async def get_analytics_last_updated(self) -> dict[str, Any]:
|
|
1746
1585
|
"""
|
|
1747
1586
|
Retrieves the timestamp indicating when analytics data was last updated from the analytics API endpoint.
|
|
1748
1587
|
|
|
@@ -1764,9 +1603,7 @@ class CodaApp(APIApplication):
|
|
|
1764
1603
|
response.raise_for_status()
|
|
1765
1604
|
return response.json()
|
|
1766
1605
|
|
|
1767
|
-
def list_workspace_members(
|
|
1768
|
-
self, workspaceId, includedRoles=None, pageToken=None
|
|
1769
|
-
) -> dict[str, Any]:
|
|
1606
|
+
async def list_workspace_members(self, workspaceId, includedRoles=None, pageToken=None) -> dict[str, Any]:
|
|
1770
1607
|
"""
|
|
1771
1608
|
Lists members of the specified workspace, optionally filtered by roles and paginated.
|
|
1772
1609
|
|
|
@@ -1788,16 +1625,12 @@ class CodaApp(APIApplication):
|
|
|
1788
1625
|
if workspaceId is None:
|
|
1789
1626
|
raise ValueError("Missing required parameter 'workspaceId'")
|
|
1790
1627
|
url = f"{self.base_url}/workspaces/{workspaceId}/users"
|
|
1791
|
-
query_params = {
|
|
1792
|
-
k: v
|
|
1793
|
-
for k, v in [("includedRoles", includedRoles), ("pageToken", pageToken)]
|
|
1794
|
-
if v is not None
|
|
1795
|
-
}
|
|
1628
|
+
query_params = {k: v for k, v in [("includedRoles", includedRoles), ("pageToken", pageToken)] if v is not None}
|
|
1796
1629
|
response = self._get(url, params=query_params)
|
|
1797
1630
|
response.raise_for_status()
|
|
1798
1631
|
return response.json()
|
|
1799
1632
|
|
|
1800
|
-
def change_user_role(self, workspaceId, email, newRole) -> dict[str, Any]:
|
|
1633
|
+
async def change_user_role(self, workspaceId, email, newRole) -> dict[str, Any]:
|
|
1801
1634
|
"""
|
|
1802
1635
|
Change the role of a user within a specific workspace.
|
|
1803
1636
|
|
|
@@ -1822,10 +1655,7 @@ class CodaApp(APIApplication):
|
|
|
1822
1655
|
raise ValueError("Missing required parameter 'email'")
|
|
1823
1656
|
if newRole is None:
|
|
1824
1657
|
raise ValueError("Missing required parameter 'newRole'")
|
|
1825
|
-
request_body = {
|
|
1826
|
-
"email": email,
|
|
1827
|
-
"newRole": newRole,
|
|
1828
|
-
}
|
|
1658
|
+
request_body = {"email": email, "newRole": newRole}
|
|
1829
1659
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1830
1660
|
url = f"{self.base_url}/workspaces/{workspaceId}/users/role"
|
|
1831
1661
|
query_params = {}
|
|
@@ -1833,7 +1663,7 @@ class CodaApp(APIApplication):
|
|
|
1833
1663
|
response.raise_for_status()
|
|
1834
1664
|
return response.json()
|
|
1835
1665
|
|
|
1836
|
-
def list_workspace_role_activity(self, workspaceId) -> dict[str, Any]:
|
|
1666
|
+
async def list_workspace_role_activity(self, workspaceId) -> dict[str, Any]:
|
|
1837
1667
|
"""
|
|
1838
1668
|
Retrieves activity details and permissions for all roles within a specified workspace.
|
|
1839
1669
|
|
|
@@ -1858,7 +1688,7 @@ class CodaApp(APIApplication):
|
|
|
1858
1688
|
response.raise_for_status()
|
|
1859
1689
|
return response.json()
|
|
1860
1690
|
|
|
1861
|
-
def list_packs(
|
|
1691
|
+
async def list_packs(
|
|
1862
1692
|
self,
|
|
1863
1693
|
accessType=None,
|
|
1864
1694
|
accessTypes=None,
|
|
@@ -1922,9 +1752,7 @@ class CodaApp(APIApplication):
|
|
|
1922
1752
|
response.raise_for_status()
|
|
1923
1753
|
return response.json()
|
|
1924
1754
|
|
|
1925
|
-
def create_pack(
|
|
1926
|
-
self, workspaceId=None, name=None, description=None, sourcePackId=None
|
|
1927
|
-
) -> dict[str, Any]:
|
|
1755
|
+
async def create_pack(self, workspaceId=None, name=None, description=None, sourcePackId=None) -> dict[str, Any]:
|
|
1928
1756
|
"""
|
|
1929
1757
|
Creates a new pack in the specified workspace, optionally cloning from an existing source pack.
|
|
1930
1758
|
|
|
@@ -1943,12 +1771,7 @@ class CodaApp(APIApplication):
|
|
|
1943
1771
|
Tags:
|
|
1944
1772
|
create, pack, management, api
|
|
1945
1773
|
"""
|
|
1946
|
-
request_body = {
|
|
1947
|
-
"workspaceId": workspaceId,
|
|
1948
|
-
"name": name,
|
|
1949
|
-
"description": description,
|
|
1950
|
-
"sourcePackId": sourcePackId,
|
|
1951
|
-
}
|
|
1774
|
+
request_body = {"workspaceId": workspaceId, "name": name, "description": description, "sourcePackId": sourcePackId}
|
|
1952
1775
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1953
1776
|
url = f"{self.base_url}/packs"
|
|
1954
1777
|
query_params = {}
|
|
@@ -1956,7 +1779,7 @@ class CodaApp(APIApplication):
|
|
|
1956
1779
|
response.raise_for_status()
|
|
1957
1780
|
return response.json()
|
|
1958
1781
|
|
|
1959
|
-
def get_pack(self, packId) -> dict[str, Any]:
|
|
1782
|
+
async def get_pack(self, packId) -> dict[str, Any]:
|
|
1960
1783
|
"""
|
|
1961
1784
|
Retrieves the details of a specific pack by its ID from the API.
|
|
1962
1785
|
|
|
@@ -1981,7 +1804,7 @@ class CodaApp(APIApplication):
|
|
|
1981
1804
|
response.raise_for_status()
|
|
1982
1805
|
return response.json()
|
|
1983
1806
|
|
|
1984
|
-
def update_pack(
|
|
1807
|
+
async def update_pack(
|
|
1985
1808
|
self,
|
|
1986
1809
|
packId,
|
|
1987
1810
|
overallRateLimit=None,
|
|
@@ -2048,7 +1871,7 @@ class CodaApp(APIApplication):
|
|
|
2048
1871
|
response.raise_for_status()
|
|
2049
1872
|
return response.json()
|
|
2050
1873
|
|
|
2051
|
-
def delete_pack(self, packId) -> dict[str, Any]:
|
|
1874
|
+
async def delete_pack(self, packId) -> dict[str, Any]:
|
|
2052
1875
|
"""
|
|
2053
1876
|
Deletes a pack by its unique identifier and returns the response from the server.
|
|
2054
1877
|
|
|
@@ -2073,7 +1896,7 @@ class CodaApp(APIApplication):
|
|
|
2073
1896
|
response.raise_for_status()
|
|
2074
1897
|
return response.json()
|
|
2075
1898
|
|
|
2076
|
-
def get_pack_configuration_schema(self, packId) -> dict[str, Any]:
|
|
1899
|
+
async def get_pack_configuration_schema(self, packId) -> dict[str, Any]:
|
|
2077
1900
|
"""
|
|
2078
1901
|
Retrieves the configuration schema for a given pack by its identifier.
|
|
2079
1902
|
|
|
@@ -2098,7 +1921,7 @@ class CodaApp(APIApplication):
|
|
|
2098
1921
|
response.raise_for_status()
|
|
2099
1922
|
return response.json()
|
|
2100
1923
|
|
|
2101
|
-
def list_pack_versions(self, packId, limit=None, pageToken=None) -> dict[str, Any]:
|
|
1924
|
+
async def list_pack_versions(self, packId, limit=None, pageToken=None) -> dict[str, Any]:
|
|
2102
1925
|
"""
|
|
2103
1926
|
Retrieves a paginated list of versions for the specified pack.
|
|
2104
1927
|
|
|
@@ -2120,18 +1943,12 @@ class CodaApp(APIApplication):
|
|
|
2120
1943
|
if packId is None:
|
|
2121
1944
|
raise ValueError("Missing required parameter 'packId'")
|
|
2122
1945
|
url = f"{self.base_url}/packs/{packId}/versions"
|
|
2123
|
-
query_params = {
|
|
2124
|
-
k: v
|
|
2125
|
-
for k, v in [("limit", limit), ("pageToken", pageToken)]
|
|
2126
|
-
if v is not None
|
|
2127
|
-
}
|
|
1946
|
+
query_params = {k: v for k, v in [("limit", limit), ("pageToken", pageToken)] if v is not None}
|
|
2128
1947
|
response = self._get(url, params=query_params)
|
|
2129
1948
|
response.raise_for_status()
|
|
2130
1949
|
return response.json()
|
|
2131
1950
|
|
|
2132
|
-
def get_next_pack_version(
|
|
2133
|
-
self, packId, proposedMetadata, sdkVersion=None
|
|
2134
|
-
) -> dict[str, Any]:
|
|
1951
|
+
async def get_next_pack_version(self, packId, proposedMetadata, sdkVersion=None) -> dict[str, Any]:
|
|
2135
1952
|
"""
|
|
2136
1953
|
Determines the next available version for a given pack based on proposed metadata and optional SDK version.
|
|
2137
1954
|
|
|
@@ -2154,10 +1971,7 @@ class CodaApp(APIApplication):
|
|
|
2154
1971
|
raise ValueError("Missing required parameter 'packId'")
|
|
2155
1972
|
if proposedMetadata is None:
|
|
2156
1973
|
raise ValueError("Missing required parameter 'proposedMetadata'")
|
|
2157
|
-
request_body = {
|
|
2158
|
-
"proposedMetadata": proposedMetadata,
|
|
2159
|
-
"sdkVersion": sdkVersion,
|
|
2160
|
-
}
|
|
1974
|
+
request_body = {"proposedMetadata": proposedMetadata, "sdkVersion": sdkVersion}
|
|
2161
1975
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2162
1976
|
url = f"{self.base_url}/packs/{packId}/nextVersion"
|
|
2163
1977
|
query_params = {}
|
|
@@ -2165,9 +1979,7 @@ class CodaApp(APIApplication):
|
|
|
2165
1979
|
response.raise_for_status()
|
|
2166
1980
|
return response.json()
|
|
2167
1981
|
|
|
2168
|
-
def get_pack_version_diffs(
|
|
2169
|
-
self, packId, basePackVersion, targetPackVersion
|
|
2170
|
-
) -> dict[str, Any]:
|
|
1982
|
+
async def get_pack_version_diffs(self, packId, basePackVersion, targetPackVersion) -> dict[str, Any]:
|
|
2171
1983
|
"""
|
|
2172
1984
|
Retrieves the differences between two specific versions of a given pack.
|
|
2173
1985
|
|
|
@@ -2198,7 +2010,7 @@ class CodaApp(APIApplication):
|
|
|
2198
2010
|
response.raise_for_status()
|
|
2199
2011
|
return response.json()
|
|
2200
2012
|
|
|
2201
|
-
def register_pack_version(self, packId, packVersion, bundleHash) -> dict[str, Any]:
|
|
2013
|
+
async def register_pack_version(self, packId, packVersion, bundleHash) -> dict[str, Any]:
|
|
2202
2014
|
"""
|
|
2203
2015
|
Registers a new version of a pack with the given identifiers and bundle hash.
|
|
2204
2016
|
|
|
@@ -2223,9 +2035,7 @@ class CodaApp(APIApplication):
|
|
|
2223
2035
|
raise ValueError("Missing required parameter 'packVersion'")
|
|
2224
2036
|
if bundleHash is None:
|
|
2225
2037
|
raise ValueError("Missing required parameter 'bundleHash'")
|
|
2226
|
-
request_body = {
|
|
2227
|
-
"bundleHash": bundleHash,
|
|
2228
|
-
}
|
|
2038
|
+
request_body = {"bundleHash": bundleHash}
|
|
2229
2039
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2230
2040
|
url = f"{self.base_url}/packs/{packId}/versions/{packVersion}/register"
|
|
2231
2041
|
query_params = {}
|
|
@@ -2233,9 +2043,7 @@ class CodaApp(APIApplication):
|
|
|
2233
2043
|
response.raise_for_status()
|
|
2234
2044
|
return response.json()
|
|
2235
2045
|
|
|
2236
|
-
def pack_version_upload_complete(
|
|
2237
|
-
self, packId, packVersion, notes=None, source=None, allowOlderSdkVersion=None
|
|
2238
|
-
) -> dict[str, Any]:
|
|
2046
|
+
async def pack_version_upload_complete(self, packId, packVersion, notes=None, source=None, allowOlderSdkVersion=None) -> dict[str, Any]:
|
|
2239
2047
|
"""
|
|
2240
2048
|
Marks a pack version upload as complete and notifies the server with optional metadata.
|
|
2241
2049
|
|
|
@@ -2260,11 +2068,7 @@ class CodaApp(APIApplication):
|
|
|
2260
2068
|
raise ValueError("Missing required parameter 'packId'")
|
|
2261
2069
|
if packVersion is None:
|
|
2262
2070
|
raise ValueError("Missing required parameter 'packVersion'")
|
|
2263
|
-
request_body = {
|
|
2264
|
-
"notes": notes,
|
|
2265
|
-
"source": source,
|
|
2266
|
-
"allowOlderSdkVersion": allowOlderSdkVersion,
|
|
2267
|
-
}
|
|
2071
|
+
request_body = {"notes": notes, "source": source, "allowOlderSdkVersion": allowOlderSdkVersion}
|
|
2268
2072
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2269
2073
|
url = f"{self.base_url}/packs/{packId}/versions/{packVersion}/uploadComplete"
|
|
2270
2074
|
query_params = {}
|
|
@@ -2272,9 +2076,7 @@ class CodaApp(APIApplication):
|
|
|
2272
2076
|
response.raise_for_status()
|
|
2273
2077
|
return response.json()
|
|
2274
2078
|
|
|
2275
|
-
def create_pack_release(
|
|
2276
|
-
self, packId, packVersion, releaseNotes=None
|
|
2277
|
-
) -> dict[str, Any]:
|
|
2079
|
+
async def create_pack_release(self, packId, packVersion, releaseNotes=None) -> dict[str, Any]:
|
|
2278
2080
|
"""
|
|
2279
2081
|
Creates a new release for the specified pack with the given version and optional release notes.
|
|
2280
2082
|
|
|
@@ -2297,10 +2099,7 @@ class CodaApp(APIApplication):
|
|
|
2297
2099
|
raise ValueError("Missing required parameter 'packId'")
|
|
2298
2100
|
if packVersion is None:
|
|
2299
2101
|
raise ValueError("Missing required parameter 'packVersion'")
|
|
2300
|
-
request_body = {
|
|
2301
|
-
"packVersion": packVersion,
|
|
2302
|
-
"releaseNotes": releaseNotes,
|
|
2303
|
-
}
|
|
2102
|
+
request_body = {"packVersion": packVersion, "releaseNotes": releaseNotes}
|
|
2304
2103
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2305
2104
|
url = f"{self.base_url}/packs/{packId}/releases"
|
|
2306
2105
|
query_params = {}
|
|
@@ -2308,7 +2107,7 @@ class CodaApp(APIApplication):
|
|
|
2308
2107
|
response.raise_for_status()
|
|
2309
2108
|
return response.json()
|
|
2310
2109
|
|
|
2311
|
-
def list_pack_releases(self, packId, limit=None, pageToken=None) -> dict[str, Any]:
|
|
2110
|
+
async def list_pack_releases(self, packId, limit=None, pageToken=None) -> dict[str, Any]:
|
|
2312
2111
|
"""
|
|
2313
2112
|
Retrieves a list of releases for a specified pack, supporting pagination.
|
|
2314
2113
|
|
|
@@ -2330,18 +2129,12 @@ class CodaApp(APIApplication):
|
|
|
2330
2129
|
if packId is None:
|
|
2331
2130
|
raise ValueError("Missing required parameter 'packId'")
|
|
2332
2131
|
url = f"{self.base_url}/packs/{packId}/releases"
|
|
2333
|
-
query_params = {
|
|
2334
|
-
k: v
|
|
2335
|
-
for k, v in [("limit", limit), ("pageToken", pageToken)]
|
|
2336
|
-
if v is not None
|
|
2337
|
-
}
|
|
2132
|
+
query_params = {k: v for k, v in [("limit", limit), ("pageToken", pageToken)] if v is not None}
|
|
2338
2133
|
response = self._get(url, params=query_params)
|
|
2339
2134
|
response.raise_for_status()
|
|
2340
2135
|
return response.json()
|
|
2341
2136
|
|
|
2342
|
-
def update_pack_release(
|
|
2343
|
-
self, packId, packReleaseId, releaseNotes=None
|
|
2344
|
-
) -> dict[str, Any]:
|
|
2137
|
+
async def update_pack_release(self, packId, packReleaseId, releaseNotes=None) -> dict[str, Any]:
|
|
2345
2138
|
"""
|
|
2346
2139
|
Updates the release information for a specific pack, including optional release notes.
|
|
2347
2140
|
|
|
@@ -2364,9 +2157,7 @@ class CodaApp(APIApplication):
|
|
|
2364
2157
|
raise ValueError("Missing required parameter 'packId'")
|
|
2365
2158
|
if packReleaseId is None:
|
|
2366
2159
|
raise ValueError("Missing required parameter 'packReleaseId'")
|
|
2367
|
-
request_body = {
|
|
2368
|
-
"releaseNotes": releaseNotes,
|
|
2369
|
-
}
|
|
2160
|
+
request_body = {"releaseNotes": releaseNotes}
|
|
2370
2161
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2371
2162
|
url = f"{self.base_url}/packs/{packId}/releases/{packReleaseId}"
|
|
2372
2163
|
query_params = {}
|
|
@@ -2374,9 +2165,7 @@ class CodaApp(APIApplication):
|
|
|
2374
2165
|
response.raise_for_status()
|
|
2375
2166
|
return response.json()
|
|
2376
2167
|
|
|
2377
|
-
def set_pack_oauth_config(
|
|
2378
|
-
self, packId, clientId=None, clientSecret=None, redirectUri=None
|
|
2379
|
-
) -> dict[str, Any]:
|
|
2168
|
+
async def set_pack_oauth_config(self, packId, clientId=None, clientSecret=None, redirectUri=None) -> dict[str, Any]:
|
|
2380
2169
|
"""
|
|
2381
2170
|
Configures or updates the OAuth settings for a specific pack by sending the provided client credentials and redirect URI to the server.
|
|
2382
2171
|
|
|
@@ -2398,11 +2187,7 @@ class CodaApp(APIApplication):
|
|
|
2398
2187
|
"""
|
|
2399
2188
|
if packId is None:
|
|
2400
2189
|
raise ValueError("Missing required parameter 'packId'")
|
|
2401
|
-
request_body = {
|
|
2402
|
-
"clientId": clientId,
|
|
2403
|
-
"clientSecret": clientSecret,
|
|
2404
|
-
"redirectUri": redirectUri,
|
|
2405
|
-
}
|
|
2190
|
+
request_body = {"clientId": clientId, "clientSecret": clientSecret, "redirectUri": redirectUri}
|
|
2406
2191
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2407
2192
|
url = f"{self.base_url}/packs/{packId}/oauthConfig"
|
|
2408
2193
|
query_params = {}
|
|
@@ -2410,7 +2195,7 @@ class CodaApp(APIApplication):
|
|
|
2410
2195
|
response.raise_for_status()
|
|
2411
2196
|
return response.json()
|
|
2412
2197
|
|
|
2413
|
-
def get_pack_oauth_config(self, packId) -> dict[str, Any]:
|
|
2198
|
+
async def get_pack_oauth_config(self, packId) -> dict[str, Any]:
|
|
2414
2199
|
"""
|
|
2415
2200
|
Retrieves the OAuth configuration for a specific pack identified by packId.
|
|
2416
2201
|
|
|
@@ -2435,7 +2220,7 @@ class CodaApp(APIApplication):
|
|
|
2435
2220
|
response.raise_for_status()
|
|
2436
2221
|
return response.json()
|
|
2437
2222
|
|
|
2438
|
-
def set_pack_system_connection(self, packId, credentials) -> dict[str, Any]:
|
|
2223
|
+
async def set_pack_system_connection(self, packId, credentials) -> dict[str, Any]:
|
|
2439
2224
|
"""
|
|
2440
2225
|
Sets the system connection for a specified pack using provided credentials.
|
|
2441
2226
|
|
|
@@ -2457,9 +2242,7 @@ class CodaApp(APIApplication):
|
|
|
2457
2242
|
raise ValueError("Missing required parameter 'packId'")
|
|
2458
2243
|
if credentials is None:
|
|
2459
2244
|
raise ValueError("Missing required parameter 'credentials'")
|
|
2460
|
-
request_body = {
|
|
2461
|
-
"credentials": credentials,
|
|
2462
|
-
}
|
|
2245
|
+
request_body = {"credentials": credentials}
|
|
2463
2246
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2464
2247
|
url = f"{self.base_url}/packs/{packId}/systemConnection"
|
|
2465
2248
|
query_params = {}
|
|
@@ -2467,7 +2250,7 @@ class CodaApp(APIApplication):
|
|
|
2467
2250
|
response.raise_for_status()
|
|
2468
2251
|
return response.json()
|
|
2469
2252
|
|
|
2470
|
-
def get_pack_system_connection(self, packId) -> dict[str, Any]:
|
|
2253
|
+
async def get_pack_system_connection(self, packId) -> dict[str, Any]:
|
|
2471
2254
|
"""
|
|
2472
2255
|
Retrieves the system connection information for a specified pack by its ID.
|
|
2473
2256
|
|
|
@@ -2492,7 +2275,7 @@ class CodaApp(APIApplication):
|
|
|
2492
2275
|
response.raise_for_status()
|
|
2493
2276
|
return response.json()
|
|
2494
2277
|
|
|
2495
|
-
def get_pack_permissions(self, packId) -> dict[str, Any]:
|
|
2278
|
+
async def get_pack_permissions(self, packId) -> dict[str, Any]:
|
|
2496
2279
|
"""
|
|
2497
2280
|
Retrieves the permissions associated with the specified pack.
|
|
2498
2281
|
|
|
@@ -2517,7 +2300,7 @@ class CodaApp(APIApplication):
|
|
|
2517
2300
|
response.raise_for_status()
|
|
2518
2301
|
return response.json()
|
|
2519
2302
|
|
|
2520
|
-
def add_pack_permission(self, packId, principal, access) -> dict[str, Any]:
|
|
2303
|
+
async def add_pack_permission(self, packId, principal, access) -> dict[str, Any]:
|
|
2521
2304
|
"""
|
|
2522
2305
|
Adds a permission for a specified principal to a pack.
|
|
2523
2306
|
|
|
@@ -2542,10 +2325,7 @@ class CodaApp(APIApplication):
|
|
|
2542
2325
|
raise ValueError("Missing required parameter 'principal'")
|
|
2543
2326
|
if access is None:
|
|
2544
2327
|
raise ValueError("Missing required parameter 'access'")
|
|
2545
|
-
request_body = {
|
|
2546
|
-
"principal": principal,
|
|
2547
|
-
"access": access,
|
|
2548
|
-
}
|
|
2328
|
+
request_body = {"principal": principal, "access": access}
|
|
2549
2329
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2550
2330
|
url = f"{self.base_url}/packs/{packId}/permissions"
|
|
2551
2331
|
query_params = {}
|
|
@@ -2553,7 +2333,7 @@ class CodaApp(APIApplication):
|
|
|
2553
2333
|
response.raise_for_status()
|
|
2554
2334
|
return response.json()
|
|
2555
2335
|
|
|
2556
|
-
def delete_pack_permission(self, packId, permissionId) -> dict[str, Any]:
|
|
2336
|
+
async def delete_pack_permission(self, packId, permissionId) -> dict[str, Any]:
|
|
2557
2337
|
"""
|
|
2558
2338
|
Deletes a specific permission from a pack using the provided pack and permission IDs.
|
|
2559
2339
|
|
|
@@ -2581,7 +2361,7 @@ class CodaApp(APIApplication):
|
|
|
2581
2361
|
response.raise_for_status()
|
|
2582
2362
|
return response.json()
|
|
2583
2363
|
|
|
2584
|
-
def list_pack_makers(self, packId) -> dict[str, Any]:
|
|
2364
|
+
async def list_pack_makers(self, packId) -> dict[str, Any]:
|
|
2585
2365
|
"""
|
|
2586
2366
|
Retrieves a list of makers associated with the specified pack.
|
|
2587
2367
|
|
|
@@ -2606,7 +2386,7 @@ class CodaApp(APIApplication):
|
|
|
2606
2386
|
response.raise_for_status()
|
|
2607
2387
|
return response.json()
|
|
2608
2388
|
|
|
2609
|
-
def add_pack_maker(self, packId, loginId) -> dict[str, Any]:
|
|
2389
|
+
async def add_pack_maker(self, packId, loginId) -> dict[str, Any]:
|
|
2610
2390
|
"""
|
|
2611
2391
|
Adds a maker to a specified pack using the provided login ID.
|
|
2612
2392
|
|
|
@@ -2628,9 +2408,7 @@ class CodaApp(APIApplication):
|
|
|
2628
2408
|
raise ValueError("Missing required parameter 'packId'")
|
|
2629
2409
|
if loginId is None:
|
|
2630
2410
|
raise ValueError("Missing required parameter 'loginId'")
|
|
2631
|
-
request_body = {
|
|
2632
|
-
"loginId": loginId,
|
|
2633
|
-
}
|
|
2411
|
+
request_body = {"loginId": loginId}
|
|
2634
2412
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2635
2413
|
url = f"{self.base_url}/packs/{packId}/maker"
|
|
2636
2414
|
query_params = {}
|
|
@@ -2638,7 +2416,7 @@ class CodaApp(APIApplication):
|
|
|
2638
2416
|
response.raise_for_status()
|
|
2639
2417
|
return response.json()
|
|
2640
2418
|
|
|
2641
|
-
def delete_pack_maker(self, packId, loginId) -> dict[str, Any]:
|
|
2419
|
+
async def delete_pack_maker(self, packId, loginId) -> dict[str, Any]:
|
|
2642
2420
|
"""
|
|
2643
2421
|
Deletes a maker from a specified pack using the provided pack and login IDs.
|
|
2644
2422
|
|
|
@@ -2666,7 +2444,7 @@ class CodaApp(APIApplication):
|
|
|
2666
2444
|
response.raise_for_status()
|
|
2667
2445
|
return response.json()
|
|
2668
2446
|
|
|
2669
|
-
def list_pack_categories(self, packId) -> dict[str, Any]:
|
|
2447
|
+
async def list_pack_categories(self, packId) -> dict[str, Any]:
|
|
2670
2448
|
"""
|
|
2671
2449
|
Retrieves the list of categories associated with a specific pack.
|
|
2672
2450
|
|
|
@@ -2691,7 +2469,7 @@ class CodaApp(APIApplication):
|
|
|
2691
2469
|
response.raise_for_status()
|
|
2692
2470
|
return response.json()
|
|
2693
2471
|
|
|
2694
|
-
def add_pack_category(self, packId, categoryName) -> dict[str, Any]:
|
|
2472
|
+
async def add_pack_category(self, packId, categoryName) -> dict[str, Any]:
|
|
2695
2473
|
"""
|
|
2696
2474
|
Adds a new category to the specified pack by sending a POST request to the API.
|
|
2697
2475
|
|
|
@@ -2713,9 +2491,7 @@ class CodaApp(APIApplication):
|
|
|
2713
2491
|
raise ValueError("Missing required parameter 'packId'")
|
|
2714
2492
|
if categoryName is None:
|
|
2715
2493
|
raise ValueError("Missing required parameter 'categoryName'")
|
|
2716
|
-
request_body = {
|
|
2717
|
-
"categoryName": categoryName,
|
|
2718
|
-
}
|
|
2494
|
+
request_body = {"categoryName": categoryName}
|
|
2719
2495
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2720
2496
|
url = f"{self.base_url}/packs/{packId}/category"
|
|
2721
2497
|
query_params = {}
|
|
@@ -2723,7 +2499,7 @@ class CodaApp(APIApplication):
|
|
|
2723
2499
|
response.raise_for_status()
|
|
2724
2500
|
return response.json()
|
|
2725
2501
|
|
|
2726
|
-
def delete_pack_category(self, packId, categoryName) -> dict[str, Any]:
|
|
2502
|
+
async def delete_pack_category(self, packId, categoryName) -> dict[str, Any]:
|
|
2727
2503
|
"""
|
|
2728
2504
|
Deletes a specific category from a pack by pack ID and category name.
|
|
2729
2505
|
|
|
@@ -2751,9 +2527,7 @@ class CodaApp(APIApplication):
|
|
|
2751
2527
|
response.raise_for_status()
|
|
2752
2528
|
return response.json()
|
|
2753
2529
|
|
|
2754
|
-
def upload_pack_asset(
|
|
2755
|
-
self, packId, packAssetType, imageHash, mimeType, filename
|
|
2756
|
-
) -> dict[str, Any]:
|
|
2530
|
+
async def upload_pack_asset(self, packId, packAssetType, imageHash, mimeType, filename) -> dict[str, Any]:
|
|
2757
2531
|
"""
|
|
2758
2532
|
Uploads an asset file to the specified pack and returns the server response.
|
|
2759
2533
|
|
|
@@ -2784,12 +2558,7 @@ class CodaApp(APIApplication):
|
|
|
2784
2558
|
raise ValueError("Missing required parameter 'mimeType'")
|
|
2785
2559
|
if filename is None:
|
|
2786
2560
|
raise ValueError("Missing required parameter 'filename'")
|
|
2787
|
-
request_body = {
|
|
2788
|
-
"packAssetType": packAssetType,
|
|
2789
|
-
"imageHash": imageHash,
|
|
2790
|
-
"mimeType": mimeType,
|
|
2791
|
-
"filename": filename,
|
|
2792
|
-
}
|
|
2561
|
+
request_body = {"packAssetType": packAssetType, "imageHash": imageHash, "mimeType": mimeType, "filename": filename}
|
|
2793
2562
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2794
2563
|
url = f"{self.base_url}/packs/{packId}/uploadAsset"
|
|
2795
2564
|
query_params = {}
|
|
@@ -2797,9 +2566,7 @@ class CodaApp(APIApplication):
|
|
|
2797
2566
|
response.raise_for_status()
|
|
2798
2567
|
return response.json()
|
|
2799
2568
|
|
|
2800
|
-
def upload_pack_source_code(
|
|
2801
|
-
self, packId, payloadHash, filename, packVersion=None
|
|
2802
|
-
) -> dict[str, Any]:
|
|
2569
|
+
async def upload_pack_source_code(self, packId, payloadHash, filename, packVersion=None) -> dict[str, Any]:
|
|
2803
2570
|
"""
|
|
2804
2571
|
Uploads the source code for a specified pack by sending the provided file information and payload hash to the server.
|
|
2805
2572
|
|
|
@@ -2825,11 +2592,7 @@ class CodaApp(APIApplication):
|
|
|
2825
2592
|
raise ValueError("Missing required parameter 'payloadHash'")
|
|
2826
2593
|
if filename is None:
|
|
2827
2594
|
raise ValueError("Missing required parameter 'filename'")
|
|
2828
|
-
request_body = {
|
|
2829
|
-
"payloadHash": payloadHash,
|
|
2830
|
-
"filename": filename,
|
|
2831
|
-
"packVersion": packVersion,
|
|
2832
|
-
}
|
|
2595
|
+
request_body = {"payloadHash": payloadHash, "filename": filename, "packVersion": packVersion}
|
|
2833
2596
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2834
2597
|
url = f"{self.base_url}/packs/{packId}/uploadSourceCode"
|
|
2835
2598
|
query_params = {}
|
|
@@ -2837,9 +2600,7 @@ class CodaApp(APIApplication):
|
|
|
2837
2600
|
response.raise_for_status()
|
|
2838
2601
|
return response.json()
|
|
2839
2602
|
|
|
2840
|
-
def pack_asset_upload_complete(
|
|
2841
|
-
self, packId, packAssetId, packAssetType
|
|
2842
|
-
) -> dict[str, Any]:
|
|
2603
|
+
async def pack_asset_upload_complete(self, packId, packAssetId, packAssetType) -> dict[str, Any]:
|
|
2843
2604
|
"""
|
|
2844
2605
|
Marks an asset upload as complete for a given pack and asset type by sending a POST request to the server.
|
|
2845
2606
|
|
|
@@ -2870,9 +2631,7 @@ class CodaApp(APIApplication):
|
|
|
2870
2631
|
response.raise_for_status()
|
|
2871
2632
|
return response.json()
|
|
2872
2633
|
|
|
2873
|
-
def pack_source_code_upload_complete(
|
|
2874
|
-
self, packId, packVersion, filename, codeHash
|
|
2875
|
-
) -> dict[str, Any]:
|
|
2634
|
+
async def pack_source_code_upload_complete(self, packId, packVersion, filename, codeHash) -> dict[str, Any]:
|
|
2876
2635
|
"""
|
|
2877
2636
|
Marks the completion of a source code upload for a pack version by notifying the backend service.
|
|
2878
2637
|
|
|
@@ -2900,10 +2659,7 @@ class CodaApp(APIApplication):
|
|
|
2900
2659
|
raise ValueError("Missing required parameter 'filename'")
|
|
2901
2660
|
if codeHash is None:
|
|
2902
2661
|
raise ValueError("Missing required parameter 'codeHash'")
|
|
2903
|
-
request_body = {
|
|
2904
|
-
"filename": filename,
|
|
2905
|
-
"codeHash": codeHash,
|
|
2906
|
-
}
|
|
2662
|
+
request_body = {"filename": filename, "codeHash": codeHash}
|
|
2907
2663
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2908
2664
|
url = f"{self.base_url}/packs/{packId}/versions/{packVersion}/sourceCode/uploadComplete"
|
|
2909
2665
|
query_params = {}
|
|
@@ -2911,7 +2667,7 @@ class CodaApp(APIApplication):
|
|
|
2911
2667
|
response.raise_for_status()
|
|
2912
2668
|
return response.json()
|
|
2913
2669
|
|
|
2914
|
-
def get_pack_source_code(self, packId, packVersion) -> dict[str, Any]:
|
|
2670
|
+
async def get_pack_source_code(self, packId, packVersion) -> dict[str, Any]:
|
|
2915
2671
|
"""
|
|
2916
2672
|
Retrieves the source code for a specified pack version from the server.
|
|
2917
2673
|
|
|
@@ -2939,7 +2695,7 @@ class CodaApp(APIApplication):
|
|
|
2939
2695
|
response.raise_for_status()
|
|
2940
2696
|
return response.json()
|
|
2941
2697
|
|
|
2942
|
-
def list_pack_listings(
|
|
2698
|
+
async def list_pack_listings(
|
|
2943
2699
|
self,
|
|
2944
2700
|
packAccessTypes=None,
|
|
2945
2701
|
packIds=None,
|
|
@@ -3009,14 +2765,7 @@ class CodaApp(APIApplication):
|
|
|
3009
2765
|
response.raise_for_status()
|
|
3010
2766
|
return response.json()
|
|
3011
2767
|
|
|
3012
|
-
def get_pack_listing(
|
|
3013
|
-
self,
|
|
3014
|
-
packId,
|
|
3015
|
-
workspaceId=None,
|
|
3016
|
-
docId=None,
|
|
3017
|
-
installContext=None,
|
|
3018
|
-
releaseChannel=None,
|
|
3019
|
-
) -> dict[str, Any]:
|
|
2768
|
+
async def get_pack_listing(self, packId, workspaceId=None, docId=None, installContext=None, releaseChannel=None) -> dict[str, Any]:
|
|
3020
2769
|
"""
|
|
3021
2770
|
Retrieves the listing details for a specified pack, optionally filtered by workspace, document, install context, or release channel.
|
|
3022
2771
|
|
|
@@ -3054,7 +2803,7 @@ class CodaApp(APIApplication):
|
|
|
3054
2803
|
response.raise_for_status()
|
|
3055
2804
|
return response.json()
|
|
3056
2805
|
|
|
3057
|
-
def list_pack_logs(
|
|
2806
|
+
async def list_pack_logs(
|
|
3058
2807
|
self,
|
|
3059
2808
|
packId,
|
|
3060
2809
|
docId,
|
|
@@ -3115,7 +2864,7 @@ class CodaApp(APIApplication):
|
|
|
3115
2864
|
response.raise_for_status()
|
|
3116
2865
|
return response.json()
|
|
3117
2866
|
|
|
3118
|
-
def list_ingestion_logs(
|
|
2867
|
+
async def list_ingestion_logs(
|
|
3119
2868
|
self,
|
|
3120
2869
|
packId,
|
|
3121
2870
|
organizationId,
|
|
@@ -3183,16 +2932,8 @@ class CodaApp(APIApplication):
|
|
|
3183
2932
|
response.raise_for_status()
|
|
3184
2933
|
return response.json()
|
|
3185
2934
|
|
|
3186
|
-
def list_grouped_pack_logs(
|
|
3187
|
-
self,
|
|
3188
|
-
packId,
|
|
3189
|
-
docId,
|
|
3190
|
-
limit=None,
|
|
3191
|
-
pageToken=None,
|
|
3192
|
-
beforeTimestamp=None,
|
|
3193
|
-
afterTimestamp=None,
|
|
3194
|
-
order=None,
|
|
3195
|
-
q=None,
|
|
2935
|
+
async def list_grouped_pack_logs(
|
|
2936
|
+
self, packId, docId, limit=None, pageToken=None, beforeTimestamp=None, afterTimestamp=None, order=None, q=None
|
|
3196
2937
|
) -> dict[str, Any]:
|
|
3197
2938
|
"""
|
|
3198
2939
|
Retrieves a paginated and filtered list of grouped logs for a specific pack and document.
|
|
@@ -3238,7 +2979,7 @@ class CodaApp(APIApplication):
|
|
|
3238
2979
|
response.raise_for_status()
|
|
3239
2980
|
return response.json()
|
|
3240
2981
|
|
|
3241
|
-
def list_grouped_ingestion_logs(
|
|
2982
|
+
async def list_grouped_ingestion_logs(
|
|
3242
2983
|
self,
|
|
3243
2984
|
packId,
|
|
3244
2985
|
organizationId,
|
|
@@ -3300,7 +3041,7 @@ class CodaApp(APIApplication):
|
|
|
3300
3041
|
response.raise_for_status()
|
|
3301
3042
|
return response.json()
|
|
3302
3043
|
|
|
3303
|
-
def list_ingestion_executions(
|
|
3044
|
+
async def list_ingestion_executions(
|
|
3304
3045
|
self,
|
|
3305
3046
|
packId,
|
|
3306
3047
|
organizationId,
|
|
@@ -3374,15 +3115,8 @@ class CodaApp(APIApplication):
|
|
|
3374
3115
|
response.raise_for_status()
|
|
3375
3116
|
return response.json()
|
|
3376
3117
|
|
|
3377
|
-
def list_ingestion_execution_attempts(
|
|
3378
|
-
self,
|
|
3379
|
-
packId,
|
|
3380
|
-
organizationId,
|
|
3381
|
-
rootIngestionId,
|
|
3382
|
-
ingestionExecutionId,
|
|
3383
|
-
limit=None,
|
|
3384
|
-
pageToken=None,
|
|
3385
|
-
order=None,
|
|
3118
|
+
async def list_ingestion_execution_attempts(
|
|
3119
|
+
self, packId, organizationId, rootIngestionId, ingestionExecutionId, limit=None, pageToken=None, order=None
|
|
3386
3120
|
) -> dict[str, Any]:
|
|
3387
3121
|
"""
|
|
3388
3122
|
Lists execution attempts for a specific ingestion execution within a pack and organization.
|
|
@@ -3415,18 +3149,12 @@ class CodaApp(APIApplication):
|
|
|
3415
3149
|
if ingestionExecutionId is None:
|
|
3416
3150
|
raise ValueError("Missing required parameter 'ingestionExecutionId'")
|
|
3417
3151
|
url = f"{self.base_url}/packs/{packId}/organizationId/{organizationId}/rootIngestionId/{rootIngestionId}/ingestionExecutionId/{ingestionExecutionId}/attempts"
|
|
3418
|
-
query_params = {
|
|
3419
|
-
k: v
|
|
3420
|
-
for k, v in [("limit", limit), ("pageToken", pageToken), ("order", order)]
|
|
3421
|
-
if v is not None
|
|
3422
|
-
}
|
|
3152
|
+
query_params = {k: v for k, v in [("limit", limit), ("pageToken", pageToken), ("order", order)] if v is not None}
|
|
3423
3153
|
response = self._get(url, params=query_params)
|
|
3424
3154
|
response.raise_for_status()
|
|
3425
3155
|
return response.json()
|
|
3426
3156
|
|
|
3427
|
-
def get_pack_log_details(
|
|
3428
|
-
self, packId, organizationId, rootIngestionId, logId, detailsKey
|
|
3429
|
-
) -> dict[str, Any]:
|
|
3157
|
+
async def get_pack_log_details(self, packId, organizationId, rootIngestionId, logId, detailsKey) -> dict[str, Any]:
|
|
3430
3158
|
"""
|
|
3431
3159
|
Retrieves detailed log information for a specific pack ingestion process by querying the remote service.
|
|
3432
3160
|
|
|
@@ -3463,7 +3191,7 @@ class CodaApp(APIApplication):
|
|
|
3463
3191
|
response.raise_for_status()
|
|
3464
3192
|
return response.json()
|
|
3465
3193
|
|
|
3466
|
-
def list_pack_featured_docs(self, packId) -> dict[str, Any]:
|
|
3194
|
+
async def list_pack_featured_docs(self, packId) -> dict[str, Any]:
|
|
3467
3195
|
"""
|
|
3468
3196
|
Fetches the featured documents for a specified pack by its ID.
|
|
3469
3197
|
|
|
@@ -3487,7 +3215,7 @@ class CodaApp(APIApplication):
|
|
|
3487
3215
|
response.raise_for_status()
|
|
3488
3216
|
return response.json()
|
|
3489
3217
|
|
|
3490
|
-
def update_pack_featured_docs(self, packId, items) -> dict[str, Any]:
|
|
3218
|
+
async def update_pack_featured_docs(self, packId, items) -> dict[str, Any]:
|
|
3491
3219
|
"""
|
|
3492
3220
|
Updates the featured documents for a specific pack by sending the provided items to the server.
|
|
3493
3221
|
|
|
@@ -3509,9 +3237,7 @@ class CodaApp(APIApplication):
|
|
|
3509
3237
|
raise ValueError("Missing required parameter 'packId'")
|
|
3510
3238
|
if items is None:
|
|
3511
3239
|
raise ValueError("Missing required parameter 'items'")
|
|
3512
|
-
request_body = {
|
|
3513
|
-
"items": items,
|
|
3514
|
-
}
|
|
3240
|
+
request_body = {"items": items}
|
|
3515
3241
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3516
3242
|
url = f"{self.base_url}/packs/{packId}/featuredDocs"
|
|
3517
3243
|
query_params = {}
|
|
@@ -3519,14 +3245,8 @@ class CodaApp(APIApplication):
|
|
|
3519
3245
|
response.raise_for_status()
|
|
3520
3246
|
return response.json()
|
|
3521
3247
|
|
|
3522
|
-
def add_go_link(
|
|
3523
|
-
self,
|
|
3524
|
-
organizationId,
|
|
3525
|
-
name,
|
|
3526
|
-
destinationUrl,
|
|
3527
|
-
description=None,
|
|
3528
|
-
urlPattern=None,
|
|
3529
|
-
creatorEmail=None,
|
|
3248
|
+
async def add_go_link(
|
|
3249
|
+
self, organizationId, name, destinationUrl, description=None, urlPattern=None, creatorEmail=None
|
|
3530
3250
|
) -> dict[str, Any]:
|
|
3531
3251
|
"""
|
|
3532
3252
|
Creates a new Go Link resource for the specified organization.
|