universal-mcp-applications 0.1.30__py3-none-any.whl → 0.1.36rc1__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 universal-mcp-applications might be problematic. Click here for more details.

Files changed (105) hide show
  1. universal_mcp/applications/ahrefs/app.py +52 -198
  2. universal_mcp/applications/airtable/app.py +23 -122
  3. universal_mcp/applications/apollo/app.py +111 -464
  4. universal_mcp/applications/asana/app.py +417 -1567
  5. universal_mcp/applications/aws_s3/app.py +33 -100
  6. universal_mcp/applications/bill/app.py +546 -1957
  7. universal_mcp/applications/box/app.py +1068 -3981
  8. universal_mcp/applications/braze/app.py +364 -1430
  9. universal_mcp/applications/browser_use/app.py +2 -8
  10. universal_mcp/applications/cal_com_v2/app.py +207 -625
  11. universal_mcp/applications/calendly/app.py +61 -200
  12. universal_mcp/applications/canva/app.py +45 -110
  13. universal_mcp/applications/clickup/app.py +207 -674
  14. universal_mcp/applications/coda/app.py +146 -426
  15. universal_mcp/applications/confluence/app.py +310 -1098
  16. universal_mcp/applications/contentful/app.py +36 -151
  17. universal_mcp/applications/crustdata/app.py +28 -107
  18. universal_mcp/applications/dialpad/app.py +283 -756
  19. universal_mcp/applications/digitalocean/app.py +1766 -5777
  20. universal_mcp/applications/domain_checker/app.py +3 -54
  21. universal_mcp/applications/e2b/app.py +14 -64
  22. universal_mcp/applications/elevenlabs/app.py +9 -47
  23. universal_mcp/applications/exa/app.py +6 -17
  24. universal_mcp/applications/falai/app.py +23 -100
  25. universal_mcp/applications/figma/app.py +53 -137
  26. universal_mcp/applications/file_system/app.py +2 -13
  27. universal_mcp/applications/firecrawl/app.py +51 -152
  28. universal_mcp/applications/fireflies/app.py +59 -281
  29. universal_mcp/applications/fpl/app.py +91 -528
  30. universal_mcp/applications/fpl/utils/fixtures.py +15 -49
  31. universal_mcp/applications/fpl/utils/helper.py +25 -89
  32. universal_mcp/applications/fpl/utils/league_utils.py +20 -64
  33. universal_mcp/applications/ghost_content/app.py +52 -161
  34. universal_mcp/applications/github/app.py +19 -56
  35. universal_mcp/applications/gong/app.py +88 -248
  36. universal_mcp/applications/google_calendar/app.py +16 -68
  37. universal_mcp/applications/google_docs/app.py +88 -188
  38. universal_mcp/applications/google_drive/app.py +140 -462
  39. universal_mcp/applications/google_gemini/app.py +12 -64
  40. universal_mcp/applications/google_mail/app.py +28 -157
  41. universal_mcp/applications/google_searchconsole/app.py +15 -48
  42. universal_mcp/applications/google_sheet/app.py +101 -578
  43. universal_mcp/applications/google_sheet/helper.py +10 -37
  44. universal_mcp/applications/hashnode/app.py +57 -269
  45. universal_mcp/applications/heygen/app.py +44 -122
  46. universal_mcp/applications/http_tools/app.py +10 -32
  47. universal_mcp/applications/hubspot/api_segments/crm_api.py +460 -1573
  48. universal_mcp/applications/hubspot/api_segments/marketing_api.py +74 -262
  49. universal_mcp/applications/hubspot/app.py +23 -87
  50. universal_mcp/applications/jira/app.py +2071 -7986
  51. universal_mcp/applications/klaviyo/app.py +494 -1376
  52. universal_mcp/applications/linkedin/README.md +9 -2
  53. universal_mcp/applications/linkedin/app.py +392 -212
  54. universal_mcp/applications/mailchimp/app.py +450 -1605
  55. universal_mcp/applications/markitdown/app.py +8 -20
  56. universal_mcp/applications/miro/app.py +217 -699
  57. universal_mcp/applications/ms_teams/app.py +64 -186
  58. universal_mcp/applications/neon/app.py +86 -192
  59. universal_mcp/applications/notion/app.py +21 -36
  60. universal_mcp/applications/onedrive/app.py +14 -36
  61. universal_mcp/applications/openai/app.py +42 -165
  62. universal_mcp/applications/outlook/app.py +16 -76
  63. universal_mcp/applications/perplexity/app.py +4 -19
  64. universal_mcp/applications/pipedrive/app.py +832 -3142
  65. universal_mcp/applications/posthog/app.py +163 -432
  66. universal_mcp/applications/reddit/app.py +40 -139
  67. universal_mcp/applications/resend/app.py +41 -107
  68. universal_mcp/applications/retell/app.py +14 -41
  69. universal_mcp/applications/rocketlane/app.py +221 -934
  70. universal_mcp/applications/scraper/README.md +7 -4
  71. universal_mcp/applications/scraper/app.py +216 -102
  72. universal_mcp/applications/semanticscholar/app.py +22 -64
  73. universal_mcp/applications/semrush/app.py +43 -77
  74. universal_mcp/applications/sendgrid/app.py +512 -1262
  75. universal_mcp/applications/sentry/app.py +271 -906
  76. universal_mcp/applications/serpapi/app.py +40 -143
  77. universal_mcp/applications/sharepoint/app.py +15 -37
  78. universal_mcp/applications/shopify/app.py +1551 -4287
  79. universal_mcp/applications/shortcut/app.py +155 -417
  80. universal_mcp/applications/slack/app.py +50 -101
  81. universal_mcp/applications/spotify/app.py +126 -325
  82. universal_mcp/applications/supabase/app.py +104 -213
  83. universal_mcp/applications/tavily/app.py +1 -1
  84. universal_mcp/applications/trello/app.py +693 -2656
  85. universal_mcp/applications/twilio/app.py +14 -50
  86. universal_mcp/applications/twitter/api_segments/compliance_api.py +4 -14
  87. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +6 -18
  88. universal_mcp/applications/twitter/api_segments/likes_api.py +1 -3
  89. universal_mcp/applications/twitter/api_segments/lists_api.py +5 -15
  90. universal_mcp/applications/twitter/api_segments/trends_api.py +1 -3
  91. universal_mcp/applications/twitter/api_segments/tweets_api.py +9 -31
  92. universal_mcp/applications/twitter/api_segments/usage_api.py +1 -5
  93. universal_mcp/applications/twitter/api_segments/users_api.py +14 -42
  94. universal_mcp/applications/whatsapp/app.py +35 -186
  95. universal_mcp/applications/whatsapp/audio.py +2 -6
  96. universal_mcp/applications/whatsapp/whatsapp.py +17 -51
  97. universal_mcp/applications/whatsapp_business/app.py +70 -283
  98. universal_mcp/applications/wrike/app.py +45 -118
  99. universal_mcp/applications/yahoo_finance/app.py +19 -65
  100. universal_mcp/applications/youtube/app.py +75 -261
  101. universal_mcp/applications/zenquotes/app.py +2 -2
  102. {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/METADATA +2 -2
  103. {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/RECORD +105 -105
  104. {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/WHEEL +0 -0
  105. {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.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.