universal-mcp-applications 0.1.22__py3-none-any.whl → 0.1.39rc8__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 (120) hide show
  1. universal_mcp/applications/ahrefs/app.py +92 -238
  2. universal_mcp/applications/airtable/app.py +23 -122
  3. universal_mcp/applications/apollo/app.py +122 -475
  4. universal_mcp/applications/asana/app.py +605 -1755
  5. universal_mcp/applications/aws_s3/app.py +36 -103
  6. universal_mcp/applications/bill/app.py +644 -2055
  7. universal_mcp/applications/box/app.py +1246 -4159
  8. universal_mcp/applications/braze/app.py +410 -1476
  9. universal_mcp/applications/browser_use/README.md +15 -1
  10. universal_mcp/applications/browser_use/__init__.py +1 -0
  11. universal_mcp/applications/browser_use/app.py +94 -37
  12. universal_mcp/applications/cal_com_v2/app.py +207 -625
  13. universal_mcp/applications/calendly/app.py +103 -242
  14. universal_mcp/applications/canva/app.py +75 -140
  15. universal_mcp/applications/clickup/app.py +331 -798
  16. universal_mcp/applications/coda/app.py +240 -520
  17. universal_mcp/applications/confluence/app.py +497 -1285
  18. universal_mcp/applications/contentful/app.py +36 -151
  19. universal_mcp/applications/crustdata/app.py +42 -121
  20. universal_mcp/applications/dialpad/app.py +451 -924
  21. universal_mcp/applications/digitalocean/app.py +2071 -6082
  22. universal_mcp/applications/domain_checker/app.py +3 -54
  23. universal_mcp/applications/e2b/app.py +14 -64
  24. universal_mcp/applications/elevenlabs/app.py +9 -47
  25. universal_mcp/applications/exa/README.md +8 -4
  26. universal_mcp/applications/exa/app.py +408 -186
  27. universal_mcp/applications/falai/app.py +24 -101
  28. universal_mcp/applications/figma/app.py +91 -175
  29. universal_mcp/applications/file_system/app.py +2 -13
  30. universal_mcp/applications/firecrawl/app.py +186 -163
  31. universal_mcp/applications/fireflies/app.py +59 -281
  32. universal_mcp/applications/fpl/app.py +92 -529
  33. universal_mcp/applications/fpl/utils/fixtures.py +15 -49
  34. universal_mcp/applications/fpl/utils/helper.py +25 -89
  35. universal_mcp/applications/fpl/utils/league_utils.py +20 -64
  36. universal_mcp/applications/ghost_content/app.py +66 -175
  37. universal_mcp/applications/github/app.py +28 -65
  38. universal_mcp/applications/gong/app.py +140 -300
  39. universal_mcp/applications/google_calendar/app.py +26 -78
  40. universal_mcp/applications/google_docs/app.py +324 -354
  41. universal_mcp/applications/google_drive/app.py +194 -793
  42. universal_mcp/applications/google_gemini/app.py +29 -64
  43. universal_mcp/applications/google_mail/README.md +1 -0
  44. universal_mcp/applications/google_mail/app.py +93 -214
  45. universal_mcp/applications/google_searchconsole/app.py +25 -58
  46. universal_mcp/applications/google_sheet/app.py +174 -623
  47. universal_mcp/applications/google_sheet/helper.py +26 -53
  48. universal_mcp/applications/hashnode/app.py +57 -269
  49. universal_mcp/applications/heygen/app.py +77 -155
  50. universal_mcp/applications/http_tools/app.py +10 -32
  51. universal_mcp/applications/hubspot/README.md +1 -1
  52. universal_mcp/applications/hubspot/app.py +7508 -99
  53. universal_mcp/applications/jira/app.py +2419 -8334
  54. universal_mcp/applications/klaviyo/app.py +737 -1619
  55. universal_mcp/applications/linkedin/README.md +23 -4
  56. universal_mcp/applications/linkedin/app.py +861 -155
  57. universal_mcp/applications/mailchimp/app.py +696 -1851
  58. universal_mcp/applications/markitdown/app.py +8 -20
  59. universal_mcp/applications/miro/app.py +333 -815
  60. universal_mcp/applications/ms_teams/app.py +85 -207
  61. universal_mcp/applications/neon/app.py +144 -250
  62. universal_mcp/applications/notion/app.py +36 -51
  63. universal_mcp/applications/onedrive/README.md +24 -0
  64. universal_mcp/applications/onedrive/__init__.py +1 -0
  65. universal_mcp/applications/onedrive/app.py +316 -0
  66. universal_mcp/applications/openai/app.py +42 -165
  67. universal_mcp/applications/outlook/README.md +22 -9
  68. universal_mcp/applications/outlook/app.py +606 -262
  69. universal_mcp/applications/perplexity/README.md +2 -1
  70. universal_mcp/applications/perplexity/app.py +162 -20
  71. universal_mcp/applications/pipedrive/app.py +1021 -3331
  72. universal_mcp/applications/posthog/app.py +272 -541
  73. universal_mcp/applications/reddit/app.py +88 -204
  74. universal_mcp/applications/resend/app.py +41 -107
  75. universal_mcp/applications/retell/app.py +23 -50
  76. universal_mcp/applications/rocketlane/app.py +250 -963
  77. universal_mcp/applications/scraper/README.md +7 -4
  78. universal_mcp/applications/scraper/app.py +245 -283
  79. universal_mcp/applications/semanticscholar/app.py +36 -78
  80. universal_mcp/applications/semrush/app.py +43 -77
  81. universal_mcp/applications/sendgrid/app.py +826 -1576
  82. universal_mcp/applications/sentry/app.py +444 -1079
  83. universal_mcp/applications/serpapi/app.py +40 -143
  84. universal_mcp/applications/sharepoint/README.md +16 -14
  85. universal_mcp/applications/sharepoint/app.py +245 -154
  86. universal_mcp/applications/shopify/app.py +1743 -4479
  87. universal_mcp/applications/shortcut/app.py +272 -534
  88. universal_mcp/applications/slack/app.py +58 -109
  89. universal_mcp/applications/spotify/app.py +206 -405
  90. universal_mcp/applications/supabase/app.py +174 -283
  91. universal_mcp/applications/tavily/app.py +2 -2
  92. universal_mcp/applications/trello/app.py +853 -2816
  93. universal_mcp/applications/twilio/app.py +14 -50
  94. universal_mcp/applications/twitter/api_segments/compliance_api.py +4 -14
  95. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +6 -18
  96. universal_mcp/applications/twitter/api_segments/likes_api.py +1 -3
  97. universal_mcp/applications/twitter/api_segments/lists_api.py +5 -15
  98. universal_mcp/applications/twitter/api_segments/trends_api.py +1 -3
  99. universal_mcp/applications/twitter/api_segments/tweets_api.py +9 -31
  100. universal_mcp/applications/twitter/api_segments/usage_api.py +1 -5
  101. universal_mcp/applications/twitter/api_segments/users_api.py +14 -42
  102. universal_mcp/applications/whatsapp/app.py +35 -186
  103. universal_mcp/applications/whatsapp/audio.py +2 -6
  104. universal_mcp/applications/whatsapp/whatsapp.py +17 -51
  105. universal_mcp/applications/whatsapp_business/app.py +86 -299
  106. universal_mcp/applications/wrike/app.py +80 -153
  107. universal_mcp/applications/yahoo_finance/app.py +19 -65
  108. universal_mcp/applications/youtube/app.py +120 -306
  109. universal_mcp/applications/zenquotes/app.py +4 -4
  110. {universal_mcp_applications-0.1.22.dist-info → universal_mcp_applications-0.1.39rc8.dist-info}/METADATA +4 -2
  111. {universal_mcp_applications-0.1.22.dist-info → universal_mcp_applications-0.1.39rc8.dist-info}/RECORD +113 -117
  112. {universal_mcp_applications-0.1.22.dist-info → universal_mcp_applications-0.1.39rc8.dist-info}/WHEEL +1 -1
  113. universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
  114. universal_mcp/applications/hubspot/api_segments/api_segment_base.py +0 -54
  115. universal_mcp/applications/hubspot/api_segments/crm_api.py +0 -7337
  116. universal_mcp/applications/hubspot/api_segments/marketing_api.py +0 -1467
  117. universal_mcp/applications/unipile/README.md +0 -28
  118. universal_mcp/applications/unipile/__init__.py +0 -1
  119. universal_mcp/applications/unipile/app.py +0 -1077
  120. {universal_mcp_applications-0.1.22.dist-info → universal_mcp_applications-0.1.39rc8.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 NeonApp(APIApplication):
9
8
  super().__init__(name="neon", integration=integration, **kwargs)
10
9
  self.base_url = "https://console.neon.tech/api/v2"
11
10
 
12
- def list_api_keys(
13
- self,
14
- ) -> list[Any]:
11
+ async def list_api_keys(self) -> list[Any]:
15
12
  """
16
13
  Retrieves a list of API keys from the server associated with the current client.
17
14
 
@@ -29,11 +26,11 @@ class NeonApp(APIApplication):
29
26
  """
30
27
  url = f"{self.base_url}/api_keys"
31
28
  query_params = {}
32
- response = self._get(url, params=query_params)
29
+ response = await self._aget(url, params=query_params)
33
30
  response.raise_for_status()
34
31
  return response.json()
35
32
 
36
- def create_api_key(self, key_name) -> dict[str, Any]:
33
+ async def create_api_key(self, key_name) -> dict[str, Any]:
37
34
  """
38
35
  Creates a new API key with the specified name.
39
36
 
@@ -52,17 +49,15 @@ class NeonApp(APIApplication):
52
49
  """
53
50
  if key_name is None:
54
51
  raise ValueError("Missing required parameter 'key_name'")
55
- request_body = {
56
- "key_name": key_name,
57
- }
52
+ request_body = {"key_name": key_name}
58
53
  request_body = {k: v for k, v in request_body.items() if v is not None}
59
54
  url = f"{self.base_url}/api_keys"
60
55
  query_params = {}
61
- response = self._post(url, data=request_body, params=query_params)
56
+ response = await self._apost(url, data=request_body, params=query_params)
62
57
  response.raise_for_status()
63
58
  return response.json()
64
59
 
65
- def revoke_api_key(self, key_id) -> dict[str, Any]:
60
+ async def revoke_api_key(self, key_id) -> dict[str, Any]:
66
61
  """
67
62
  Revokes an API key by its identifier.
68
63
 
@@ -83,11 +78,11 @@ class NeonApp(APIApplication):
83
78
  raise ValueError("Missing required parameter 'key_id'")
84
79
  url = f"{self.base_url}/api_keys/{key_id}"
85
80
  query_params = {}
86
- response = self._delete(url, params=query_params)
81
+ response = await self._adelete(url, params=query_params)
87
82
  response.raise_for_status()
88
83
  return response.json()
89
84
 
90
- def get_project_operation(self, project_id, operation_id) -> dict[str, Any]:
85
+ async def get_project_operation(self, project_id, operation_id) -> dict[str, Any]:
91
86
  """
92
87
  Retrieves details of a specific operation for a given project from the API.
93
88
 
@@ -111,13 +106,11 @@ class NeonApp(APIApplication):
111
106
  raise ValueError("Missing required parameter 'operation_id'")
112
107
  url = f"{self.base_url}/projects/{project_id}/operations/{operation_id}"
113
108
  query_params = {}
114
- response = self._get(url, params=query_params)
109
+ response = await self._aget(url, params=query_params)
115
110
  response.raise_for_status()
116
111
  return response.json()
117
112
 
118
- def list_projects(
119
- self, cursor=None, limit=None, search=None, org_id=None, timeout=None
120
- ) -> Any:
113
+ async def list_projects(self, cursor=None, limit=None, search=None, org_id=None, timeout=None) -> Any:
121
114
  """
122
115
  Retrieves a list of projects with optional pagination, filtering, and organizational scoping.
123
116
 
@@ -140,20 +133,14 @@ class NeonApp(APIApplication):
140
133
  url = f"{self.base_url}/projects"
141
134
  query_params = {
142
135
  k: v
143
- for k, v in [
144
- ("cursor", cursor),
145
- ("limit", limit),
146
- ("search", search),
147
- ("org_id", org_id),
148
- ("timeout", timeout),
149
- ]
136
+ for k, v in [("cursor", cursor), ("limit", limit), ("search", search), ("org_id", org_id), ("timeout", timeout)]
150
137
  if v is not None
151
138
  }
152
- response = self._get(url, params=query_params)
139
+ response = await self._aget(url, params=query_params)
153
140
  response.raise_for_status()
154
141
  return response.json()
155
142
 
156
- def create_project(self, project) -> Any:
143
+ async def create_project(self, project) -> Any:
157
144
  """
158
145
  Creates a new project by sending a POST request to the projects endpoint with the given project details.
159
146
 
@@ -172,17 +159,15 @@ class NeonApp(APIApplication):
172
159
  """
173
160
  if project is None:
174
161
  raise ValueError("Missing required parameter 'project'")
175
- request_body = {
176
- "project": project,
177
- }
162
+ request_body = {"project": project}
178
163
  request_body = {k: v for k, v in request_body.items() if v is not None}
179
164
  url = f"{self.base_url}/projects"
180
165
  query_params = {}
181
- response = self._post(url, data=request_body, params=query_params)
166
+ response = await self._apost(url, data=request_body, params=query_params)
182
167
  response.raise_for_status()
183
168
  return response.json()
184
169
 
185
- def list_shared_projects(self, cursor=None, limit=None, search=None) -> Any:
170
+ async def list_shared_projects(self, cursor=None, limit=None, search=None) -> Any:
186
171
  """
187
172
  Retrieves a list of shared projects with optional pagination and search filtering.
188
173
 
@@ -201,16 +186,12 @@ class NeonApp(APIApplication):
201
186
  list, projects, shared, search, api, important
202
187
  """
203
188
  url = f"{self.base_url}/projects/shared"
204
- query_params = {
205
- k: v
206
- for k, v in [("cursor", cursor), ("limit", limit), ("search", search)]
207
- if v is not None
208
- }
209
- response = self._get(url, params=query_params)
189
+ query_params = {k: v for k, v in [("cursor", cursor), ("limit", limit), ("search", search)] if v is not None}
190
+ response = await self._aget(url, params=query_params)
210
191
  response.raise_for_status()
211
192
  return response.json()
212
193
 
213
- def get_project(self, project_id) -> dict[str, Any]:
194
+ async def get_project(self, project_id) -> dict[str, Any]:
214
195
  """
215
196
  Retrieves detailed information for a specific project by its project ID.
216
197
 
@@ -231,11 +212,11 @@ class NeonApp(APIApplication):
231
212
  raise ValueError("Missing required parameter 'project_id'")
232
213
  url = f"{self.base_url}/projects/{project_id}"
233
214
  query_params = {}
234
- response = self._get(url, params=query_params)
215
+ response = await self._aget(url, params=query_params)
235
216
  response.raise_for_status()
236
217
  return response.json()
237
218
 
238
- def update_project(self, project_id, project) -> Any:
219
+ async def update_project(self, project_id, project) -> Any:
239
220
  """
240
221
  Updates an existing project with new information using a PATCH request.
241
222
 
@@ -257,9 +238,7 @@ class NeonApp(APIApplication):
257
238
  raise ValueError("Missing required parameter 'project_id'")
258
239
  if project is None:
259
240
  raise ValueError("Missing required parameter 'project'")
260
- request_body = {
261
- "project": project,
262
- }
241
+ request_body = {"project": project}
263
242
  request_body = {k: v for k, v in request_body.items() if v is not None}
264
243
  url = f"{self.base_url}/projects/{project_id}"
265
244
  query_params = {}
@@ -267,7 +246,7 @@ class NeonApp(APIApplication):
267
246
  response.raise_for_status()
268
247
  return response.json()
269
248
 
270
- def delete_project(self, project_id) -> dict[str, Any]:
249
+ async def delete_project(self, project_id) -> dict[str, Any]:
271
250
  """
272
251
  Deletes a project identified by the given project_id.
273
252
 
@@ -288,11 +267,11 @@ class NeonApp(APIApplication):
288
267
  raise ValueError("Missing required parameter 'project_id'")
289
268
  url = f"{self.base_url}/projects/{project_id}"
290
269
  query_params = {}
291
- response = self._delete(url, params=query_params)
270
+ response = await self._adelete(url, params=query_params)
292
271
  response.raise_for_status()
293
272
  return response.json()
294
273
 
295
- def list_project_operations(self, project_id, cursor=None, limit=None) -> Any:
274
+ async def list_project_operations(self, project_id, cursor=None, limit=None) -> Any:
296
275
  """
297
276
  Retrieves a paginated list of operations for a specified project.
298
277
 
@@ -314,14 +293,12 @@ class NeonApp(APIApplication):
314
293
  if project_id is None:
315
294
  raise ValueError("Missing required parameter 'project_id'")
316
295
  url = f"{self.base_url}/projects/{project_id}/operations"
317
- query_params = {
318
- k: v for k, v in [("cursor", cursor), ("limit", limit)] if v is not None
319
- }
320
- response = self._get(url, params=query_params)
296
+ query_params = {k: v for k, v in [("cursor", cursor), ("limit", limit)] if v is not None}
297
+ response = await self._aget(url, params=query_params)
321
298
  response.raise_for_status()
322
299
  return response.json()
323
300
 
324
- def list_project_permissions(self, project_id) -> dict[str, Any]:
301
+ async def list_project_permissions(self, project_id) -> dict[str, Any]:
325
302
  """
326
303
  Retrieves the permissions assigned to a specific project.
327
304
 
@@ -342,11 +319,11 @@ class NeonApp(APIApplication):
342
319
  raise ValueError("Missing required parameter 'project_id'")
343
320
  url = f"{self.base_url}/projects/{project_id}/permissions"
344
321
  query_params = {}
345
- response = self._get(url, params=query_params)
322
+ response = await self._aget(url, params=query_params)
346
323
  response.raise_for_status()
347
324
  return response.json()
348
325
 
349
- def grant_permission_to_project(self, project_id, email) -> dict[str, Any]:
326
+ async def grant_permission_to_project(self, project_id, email) -> dict[str, Any]:
350
327
  """
351
328
  Grants a user permission to a specified project by sending a POST request with the user's email.
352
329
 
@@ -368,19 +345,15 @@ class NeonApp(APIApplication):
368
345
  raise ValueError("Missing required parameter 'project_id'")
369
346
  if email is None:
370
347
  raise ValueError("Missing required parameter 'email'")
371
- request_body = {
372
- "email": email,
373
- }
348
+ request_body = {"email": email}
374
349
  request_body = {k: v for k, v in request_body.items() if v is not None}
375
350
  url = f"{self.base_url}/projects/{project_id}/permissions"
376
351
  query_params = {}
377
- response = self._post(url, data=request_body, params=query_params)
352
+ response = await self._apost(url, data=request_body, params=query_params)
378
353
  response.raise_for_status()
379
354
  return response.json()
380
355
 
381
- def revoke_permission_from_project(
382
- self, project_id, permission_id
383
- ) -> dict[str, Any]:
356
+ async def revoke_permission_from_project(self, project_id, permission_id) -> dict[str, Any]:
384
357
  """
385
358
  Revokes a specific permission from a project by sending a DELETE request to the appropriate API endpoint.
386
359
 
@@ -404,11 +377,11 @@ class NeonApp(APIApplication):
404
377
  raise ValueError("Missing required parameter 'permission_id'")
405
378
  url = f"{self.base_url}/projects/{project_id}/permissions/{permission_id}"
406
379
  query_params = {}
407
- response = self._delete(url, params=query_params)
380
+ response = await self._adelete(url, params=query_params)
408
381
  response.raise_for_status()
409
382
  return response.json()
410
383
 
411
- def get_project_jwks(self, project_id) -> dict[str, Any]:
384
+ async def get_project_jwks(self, project_id) -> dict[str, Any]:
412
385
  """
413
386
  Retrieves the JSON Web Key Set (JWKS) for a specified project from the server.
414
387
 
@@ -429,18 +402,12 @@ class NeonApp(APIApplication):
429
402
  raise ValueError("Missing required parameter 'project_id'")
430
403
  url = f"{self.base_url}/projects/{project_id}/jwks"
431
404
  query_params = {}
432
- response = self._get(url, params=query_params)
405
+ response = await self._aget(url, params=query_params)
433
406
  response.raise_for_status()
434
407
  return response.json()
435
408
 
436
- def add_project_jwks(
437
- self,
438
- project_id,
439
- jwks_url,
440
- provider_name,
441
- branch_id=None,
442
- jwt_audience=None,
443
- role_names=None,
409
+ async def add_project_jwks(
410
+ self, project_id, jwks_url, provider_name, branch_id=None, jwt_audience=None, role_names=None
444
411
  ) -> dict[str, Any]:
445
412
  """
446
413
  Adds a JWKS (JSON Web Key Set) provider to the specified project for authentication integration.
@@ -479,11 +446,11 @@ class NeonApp(APIApplication):
479
446
  request_body = {k: v for k, v in request_body.items() if v is not None}
480
447
  url = f"{self.base_url}/projects/{project_id}/jwks"
481
448
  query_params = {}
482
- response = self._post(url, data=request_body, params=query_params)
449
+ response = await self._apost(url, data=request_body, params=query_params)
483
450
  response.raise_for_status()
484
451
  return response.json()
485
452
 
486
- def delete_project_jwks(self, project_id, jwks_id) -> dict[str, Any]:
453
+ async def delete_project_jwks(self, project_id, jwks_id) -> dict[str, Any]:
487
454
  """
488
455
  Deletes a JSON Web Key Set (JWKS) associated with a specific project.
489
456
 
@@ -507,18 +474,12 @@ class NeonApp(APIApplication):
507
474
  raise ValueError("Missing required parameter 'jwks_id'")
508
475
  url = f"{self.base_url}/projects/{project_id}/jwks/{jwks_id}"
509
476
  query_params = {}
510
- response = self._delete(url, params=query_params)
477
+ response = await self._adelete(url, params=query_params)
511
478
  response.raise_for_status()
512
479
  return response.json()
513
480
 
514
- def get_connection_uri(
515
- self,
516
- project_id,
517
- database_name,
518
- role_name,
519
- branch_id=None,
520
- endpoint_id=None,
521
- pooled=None,
481
+ async def get_connection_uri(
482
+ self, project_id, database_name, role_name, branch_id=None, endpoint_id=None, pooled=None
522
483
  ) -> dict[str, Any]:
523
484
  """
524
485
  Retrieves the connection URI details for a specified database and role within a project.
@@ -559,11 +520,11 @@ class NeonApp(APIApplication):
559
520
  ]
560
521
  if v is not None
561
522
  }
562
- response = self._get(url, params=query_params)
523
+ response = await self._aget(url, params=query_params)
563
524
  response.raise_for_status()
564
525
  return response.json()
565
526
 
566
- def get_project_branch(self, project_id, branch_id) -> Any:
527
+ async def get_project_branch(self, project_id, branch_id) -> Any:
567
528
  """
568
529
  Retrieves details of a specific branch within a project by project and branch ID.
569
530
 
@@ -587,11 +548,11 @@ class NeonApp(APIApplication):
587
548
  raise ValueError("Missing required parameter 'branch_id'")
588
549
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}"
589
550
  query_params = {}
590
- response = self._get(url, params=query_params)
551
+ response = await self._aget(url, params=query_params)
591
552
  response.raise_for_status()
592
553
  return response.json()
593
554
 
594
- def delete_project_branch(self, project_id, branch_id) -> dict[str, Any]:
555
+ async def delete_project_branch(self, project_id, branch_id) -> dict[str, Any]:
595
556
  """
596
557
  Deletes a specific branch from the given project using the API.
597
558
 
@@ -615,11 +576,11 @@ class NeonApp(APIApplication):
615
576
  raise ValueError("Missing required parameter 'branch_id'")
616
577
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}"
617
578
  query_params = {}
618
- response = self._delete(url, params=query_params)
579
+ response = await self._adelete(url, params=query_params)
619
580
  response.raise_for_status()
620
581
  return response.json()
621
582
 
622
- def update_project_branch(self, project_id, branch_id, branch) -> dict[str, Any]:
583
+ async def update_project_branch(self, project_id, branch_id, branch) -> dict[str, Any]:
623
584
  """
624
585
  Updates a branch in the specified project.
625
586
 
@@ -644,9 +605,7 @@ class NeonApp(APIApplication):
644
605
  raise ValueError("Missing required parameter 'branch_id'")
645
606
  if branch is None:
646
607
  raise ValueError("Missing required parameter 'branch'")
647
- request_body = {
648
- "branch": branch,
649
- }
608
+ request_body = {"branch": branch}
650
609
  request_body = {k: v for k, v in request_body.items() if v is not None}
651
610
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}"
652
611
  query_params = {}
@@ -654,14 +613,8 @@ class NeonApp(APIApplication):
654
613
  response.raise_for_status()
655
614
  return response.json()
656
615
 
657
- def restore_project_branch(
658
- self,
659
- project_id,
660
- branch_id,
661
- source_branch_id,
662
- source_lsn=None,
663
- source_timestamp=None,
664
- preserve_under_name=None,
616
+ async def restore_project_branch(
617
+ self, project_id, branch_id, source_branch_id, source_lsn=None, source_timestamp=None, preserve_under_name=None
665
618
  ) -> dict[str, Any]:
666
619
  """
667
620
  Restores a project branch from a given source branch, allowing optional point-in-time recovery and name preservation.
@@ -699,13 +652,11 @@ class NeonApp(APIApplication):
699
652
  request_body = {k: v for k, v in request_body.items() if v is not None}
700
653
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/restore"
701
654
  query_params = {}
702
- response = self._post(url, data=request_body, params=query_params)
655
+ response = await self._apost(url, data=request_body, params=query_params)
703
656
  response.raise_for_status()
704
657
  return response.json()
705
658
 
706
- def get_project_branch_schema(
707
- self, project_id, branch_id, db_name, lsn=None, timestamp=None
708
- ) -> dict[str, Any]:
659
+ async def get_project_branch_schema(self, project_id, branch_id, db_name, lsn=None, timestamp=None) -> dict[str, Any]:
709
660
  """
710
661
  Retrieves the schema information for a specific project branch database, optionally at a given LSN or timestamp.
711
662
 
@@ -733,16 +684,12 @@ class NeonApp(APIApplication):
733
684
  if db_name is None:
734
685
  raise ValueError("Missing required parameter 'db_name'")
735
686
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/schema"
736
- query_params = {
737
- k: v
738
- for k, v in [("db_name", db_name), ("lsn", lsn), ("timestamp", timestamp)]
739
- if v is not None
740
- }
741
- response = self._get(url, params=query_params)
687
+ query_params = {k: v for k, v in [("db_name", db_name), ("lsn", lsn), ("timestamp", timestamp)] if v is not None}
688
+ response = await self._aget(url, params=query_params)
742
689
  response.raise_for_status()
743
690
  return response.json()
744
691
 
745
- def set_default_project_branch(self, project_id, branch_id) -> dict[str, Any]:
692
+ async def set_default_project_branch(self, project_id, branch_id) -> dict[str, Any]:
746
693
  """
747
694
  Sets the specified branch as the default branch for a given project.
748
695
 
@@ -764,15 +711,13 @@ class NeonApp(APIApplication):
764
711
  raise ValueError("Missing required parameter 'project_id'")
765
712
  if branch_id is None:
766
713
  raise ValueError("Missing required parameter 'branch_id'")
767
- url = (
768
- f"{self.base_url}/projects/{project_id}/branches/{branch_id}/set_as_default"
769
- )
714
+ url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/set_as_default"
770
715
  query_params = {}
771
- response = self._post(url, data={}, params=query_params)
716
+ response = await self._apost(url, data={}, params=query_params)
772
717
  response.raise_for_status()
773
718
  return response.json()
774
719
 
775
- def list_project_branch_endpoints(self, project_id, branch_id) -> dict[str, Any]:
720
+ async def list_project_branch_endpoints(self, project_id, branch_id) -> dict[str, Any]:
776
721
  """
777
722
  Retrieves a list of endpoint configurations for a specific branch within a project.
778
723
 
@@ -796,11 +741,11 @@ class NeonApp(APIApplication):
796
741
  raise ValueError("Missing required parameter 'branch_id'")
797
742
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/endpoints"
798
743
  query_params = {}
799
- response = self._get(url, params=query_params)
744
+ response = await self._aget(url, params=query_params)
800
745
  response.raise_for_status()
801
746
  return response.json()
802
747
 
803
- def list_project_branch_databases(self, project_id, branch_id) -> dict[str, Any]:
748
+ async def list_project_branch_databases(self, project_id, branch_id) -> dict[str, Any]:
804
749
  """
805
750
  Retrieves a list of databases for a specific branch within a project.
806
751
 
@@ -824,13 +769,11 @@ class NeonApp(APIApplication):
824
769
  raise ValueError("Missing required parameter 'branch_id'")
825
770
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/databases"
826
771
  query_params = {}
827
- response = self._get(url, params=query_params)
772
+ response = await self._aget(url, params=query_params)
828
773
  response.raise_for_status()
829
774
  return response.json()
830
775
 
831
- def create_project_branch_database(
832
- self, project_id, branch_id, database
833
- ) -> dict[str, Any]:
776
+ async def create_project_branch_database(self, project_id, branch_id, database) -> dict[str, Any]:
834
777
  """
835
778
  Creates a new database in the specified branch of a project and returns the resulting database object.
836
779
 
@@ -855,19 +798,15 @@ class NeonApp(APIApplication):
855
798
  raise ValueError("Missing required parameter 'branch_id'")
856
799
  if database is None:
857
800
  raise ValueError("Missing required parameter 'database'")
858
- request_body = {
859
- "database": database,
860
- }
801
+ request_body = {"database": database}
861
802
  request_body = {k: v for k, v in request_body.items() if v is not None}
862
803
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/databases"
863
804
  query_params = {}
864
- response = self._post(url, data=request_body, params=query_params)
805
+ response = await self._apost(url, data=request_body, params=query_params)
865
806
  response.raise_for_status()
866
807
  return response.json()
867
808
 
868
- def get_project_branch_database(
869
- self, project_id, branch_id, database_name
870
- ) -> dict[str, Any]:
809
+ async def get_project_branch_database(self, project_id, branch_id, database_name) -> dict[str, Any]:
871
810
  """
872
811
  Retrieves details of a specific database from a given project branch.
873
812
 
@@ -894,13 +833,11 @@ class NeonApp(APIApplication):
894
833
  raise ValueError("Missing required parameter 'database_name'")
895
834
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/databases/{database_name}"
896
835
  query_params = {}
897
- response = self._get(url, params=query_params)
836
+ response = await self._aget(url, params=query_params)
898
837
  response.raise_for_status()
899
838
  return response.json()
900
839
 
901
- def update_project_branch_database(
902
- self, project_id, branch_id, database_name, database
903
- ) -> dict[str, Any]:
840
+ async def update_project_branch_database(self, project_id, branch_id, database_name, database) -> dict[str, Any]:
904
841
  """
905
842
  Updates the specified database configuration for a given branch in a project.
906
843
 
@@ -928,9 +865,7 @@ class NeonApp(APIApplication):
928
865
  raise ValueError("Missing required parameter 'database_name'")
929
866
  if database is None:
930
867
  raise ValueError("Missing required parameter 'database'")
931
- request_body = {
932
- "database": database,
933
- }
868
+ request_body = {"database": database}
934
869
  request_body = {k: v for k, v in request_body.items() if v is not None}
935
870
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/databases/{database_name}"
936
871
  query_params = {}
@@ -938,9 +873,7 @@ class NeonApp(APIApplication):
938
873
  response.raise_for_status()
939
874
  return response.json()
940
875
 
941
- def delete_project_branch_database(
942
- self, project_id, branch_id, database_name
943
- ) -> dict[str, Any]:
876
+ async def delete_project_branch_database(self, project_id, branch_id, database_name) -> dict[str, Any]:
944
877
  """
945
878
  Deletes a specific database from a project's branch and returns the response details.
946
879
 
@@ -967,11 +900,11 @@ class NeonApp(APIApplication):
967
900
  raise ValueError("Missing required parameter 'database_name'")
968
901
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/databases/{database_name}"
969
902
  query_params = {}
970
- response = self._delete(url, params=query_params)
903
+ response = await self._adelete(url, params=query_params)
971
904
  response.raise_for_status()
972
905
  return response.json()
973
906
 
974
- def list_project_branch_roles(self, project_id, branch_id) -> dict[str, Any]:
907
+ async def list_project_branch_roles(self, project_id, branch_id) -> dict[str, Any]:
975
908
  """
976
909
  Retrieve the list of roles associated with a specific branch in a given project.
977
910
 
@@ -995,11 +928,11 @@ class NeonApp(APIApplication):
995
928
  raise ValueError("Missing required parameter 'branch_id'")
996
929
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/roles"
997
930
  query_params = {}
998
- response = self._get(url, params=query_params)
931
+ response = await self._aget(url, params=query_params)
999
932
  response.raise_for_status()
1000
933
  return response.json()
1001
934
 
1002
- def create_project_branch_role(self, project_id, branch_id, role) -> dict[str, Any]:
935
+ async def create_project_branch_role(self, project_id, branch_id, role) -> dict[str, Any]:
1003
936
  """
1004
937
  Creates a new role for a specific branch within a project and returns the created role information.
1005
938
 
@@ -1024,19 +957,15 @@ class NeonApp(APIApplication):
1024
957
  raise ValueError("Missing required parameter 'branch_id'")
1025
958
  if role is None:
1026
959
  raise ValueError("Missing required parameter 'role'")
1027
- request_body = {
1028
- "role": role,
1029
- }
960
+ request_body = {"role": role}
1030
961
  request_body = {k: v for k, v in request_body.items() if v is not None}
1031
962
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/roles"
1032
963
  query_params = {}
1033
- response = self._post(url, data=request_body, params=query_params)
964
+ response = await self._apost(url, data=request_body, params=query_params)
1034
965
  response.raise_for_status()
1035
966
  return response.json()
1036
967
 
1037
- def get_project_branch_role(
1038
- self, project_id, branch_id, role_name
1039
- ) -> dict[str, Any]:
968
+ async def get_project_branch_role(self, project_id, branch_id, role_name) -> dict[str, Any]:
1040
969
  """
1041
970
  Retrieves a specific role from a project branch.
1042
971
 
@@ -1063,13 +992,11 @@ class NeonApp(APIApplication):
1063
992
  raise ValueError("Missing required parameter 'role_name'")
1064
993
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/roles/{role_name}"
1065
994
  query_params = {}
1066
- response = self._get(url, params=query_params)
995
+ response = await self._aget(url, params=query_params)
1067
996
  response.raise_for_status()
1068
997
  return response.json()
1069
998
 
1070
- def delete_project_branch_role(
1071
- self, project_id, branch_id, role_name
1072
- ) -> dict[str, Any]:
999
+ async def delete_project_branch_role(self, project_id, branch_id, role_name) -> dict[str, Any]:
1073
1000
  """
1074
1001
  Deletes a specific role from a branch within a project.
1075
1002
 
@@ -1096,13 +1023,11 @@ class NeonApp(APIApplication):
1096
1023
  raise ValueError("Missing required parameter 'role_name'")
1097
1024
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/roles/{role_name}"
1098
1025
  query_params = {}
1099
- response = self._delete(url, params=query_params)
1026
+ response = await self._adelete(url, params=query_params)
1100
1027
  response.raise_for_status()
1101
1028
  return response.json()
1102
1029
 
1103
- def get_project_branch_role_password(
1104
- self, project_id, branch_id, role_name
1105
- ) -> dict[str, Any]:
1030
+ async def get_project_branch_role_password(self, project_id, branch_id, role_name) -> dict[str, Any]:
1106
1031
  """
1107
1032
  Retrieves the revealed password for a specified role within a project branch.
1108
1033
 
@@ -1129,13 +1054,11 @@ class NeonApp(APIApplication):
1129
1054
  raise ValueError("Missing required parameter 'role_name'")
1130
1055
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/roles/{role_name}/reveal_password"
1131
1056
  query_params = {}
1132
- response = self._get(url, params=query_params)
1057
+ response = await self._aget(url, params=query_params)
1133
1058
  response.raise_for_status()
1134
1059
  return response.json()
1135
1060
 
1136
- def reset_project_branch_role_password(
1137
- self, project_id, branch_id, role_name
1138
- ) -> dict[str, Any]:
1061
+ async def reset_project_branch_role_password(self, project_id, branch_id, role_name) -> dict[str, Any]:
1139
1062
  """
1140
1063
  Resets the password for a specific role in a project branch.
1141
1064
 
@@ -1162,11 +1085,11 @@ class NeonApp(APIApplication):
1162
1085
  raise ValueError("Missing required parameter 'role_name'")
1163
1086
  url = f"{self.base_url}/projects/{project_id}/branches/{branch_id}/roles/{role_name}/reset_password"
1164
1087
  query_params = {}
1165
- response = self._post(url, data={}, params=query_params)
1088
+ response = await self._apost(url, data={}, params=query_params)
1166
1089
  response.raise_for_status()
1167
1090
  return response.json()
1168
1091
 
1169
- def list_project_vpcendpoints(self, project_id) -> dict[str, Any]:
1092
+ async def list_project_vpcendpoints(self, project_id) -> dict[str, Any]:
1170
1093
  """
1171
1094
  Retrieves a list of VPC endpoints associated with a specific project.
1172
1095
 
@@ -1187,11 +1110,11 @@ class NeonApp(APIApplication):
1187
1110
  raise ValueError("Missing required parameter 'project_id'")
1188
1111
  url = f"{self.base_url}/projects/{project_id}/vpc-endpoints"
1189
1112
  query_params = {}
1190
- response = self._get(url, params=query_params)
1113
+ response = await self._aget(url, params=query_params)
1191
1114
  response.raise_for_status()
1192
1115
  return response.json()
1193
1116
 
1194
- def assign_project_vpcendpoint(self, project_id, vpc_endpoint_id, label) -> Any:
1117
+ async def assign_project_vpcendpoint(self, project_id, vpc_endpoint_id, label) -> Any:
1195
1118
  """
1196
1119
  Assigns a VPC endpoint to a project with a specified label and returns the server response.
1197
1120
 
@@ -1216,17 +1139,15 @@ class NeonApp(APIApplication):
1216
1139
  raise ValueError("Missing required parameter 'vpc_endpoint_id'")
1217
1140
  if label is None:
1218
1141
  raise ValueError("Missing required parameter 'label'")
1219
- request_body = {
1220
- "label": label,
1221
- }
1142
+ request_body = {"label": label}
1222
1143
  request_body = {k: v for k, v in request_body.items() if v is not None}
1223
1144
  url = f"{self.base_url}/projects/{project_id}/vpc-endpoints/{vpc_endpoint_id}"
1224
1145
  query_params = {}
1225
- response = self._post(url, data=request_body, params=query_params)
1146
+ response = await self._apost(url, data=request_body, params=query_params)
1226
1147
  response.raise_for_status()
1227
1148
  return response.json()
1228
1149
 
1229
- def delete_project_vpcendpoint(self, project_id, vpc_endpoint_id) -> Any:
1150
+ async def delete_project_vpcendpoint(self, project_id, vpc_endpoint_id) -> Any:
1230
1151
  """
1231
1152
  Deletes a VPC endpoint associated with a given project.
1232
1153
 
@@ -1250,11 +1171,11 @@ class NeonApp(APIApplication):
1250
1171
  raise ValueError("Missing required parameter 'vpc_endpoint_id'")
1251
1172
  url = f"{self.base_url}/projects/{project_id}/vpc-endpoints/{vpc_endpoint_id}"
1252
1173
  query_params = {}
1253
- response = self._delete(url, params=query_params)
1174
+ response = await self._adelete(url, params=query_params)
1254
1175
  response.raise_for_status()
1255
1176
  return response.json()
1256
1177
 
1257
- def create_project_endpoint(self, project_id, endpoint) -> dict[str, Any]:
1178
+ async def create_project_endpoint(self, project_id, endpoint) -> dict[str, Any]:
1258
1179
  """
1259
1180
  Creates a new endpoint for the specified project by sending a POST request to the project endpoint API.
1260
1181
 
@@ -1276,17 +1197,15 @@ class NeonApp(APIApplication):
1276
1197
  raise ValueError("Missing required parameter 'project_id'")
1277
1198
  if endpoint is None:
1278
1199
  raise ValueError("Missing required parameter 'endpoint'")
1279
- request_body = {
1280
- "endpoint": endpoint,
1281
- }
1200
+ request_body = {"endpoint": endpoint}
1282
1201
  request_body = {k: v for k, v in request_body.items() if v is not None}
1283
1202
  url = f"{self.base_url}/projects/{project_id}/endpoints"
1284
1203
  query_params = {}
1285
- response = self._post(url, data=request_body, params=query_params)
1204
+ response = await self._apost(url, data=request_body, params=query_params)
1286
1205
  response.raise_for_status()
1287
1206
  return response.json()
1288
1207
 
1289
- def list_project_endpoints(self, project_id) -> dict[str, Any]:
1208
+ async def list_project_endpoints(self, project_id) -> dict[str, Any]:
1290
1209
  """
1291
1210
  Retrieves a list of API endpoints associated with a specified project.
1292
1211
 
@@ -1307,11 +1226,11 @@ class NeonApp(APIApplication):
1307
1226
  raise ValueError("Missing required parameter 'project_id'")
1308
1227
  url = f"{self.base_url}/projects/{project_id}/endpoints"
1309
1228
  query_params = {}
1310
- response = self._get(url, params=query_params)
1229
+ response = await self._aget(url, params=query_params)
1311
1230
  response.raise_for_status()
1312
1231
  return response.json()
1313
1232
 
1314
- def get_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1233
+ async def get_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1315
1234
  """
1316
1235
  Retrieves the details of a specific endpoint within a project.
1317
1236
 
@@ -1335,11 +1254,11 @@ class NeonApp(APIApplication):
1335
1254
  raise ValueError("Missing required parameter 'endpoint_id'")
1336
1255
  url = f"{self.base_url}/projects/{project_id}/endpoints/{endpoint_id}"
1337
1256
  query_params = {}
1338
- response = self._get(url, params=query_params)
1257
+ response = await self._aget(url, params=query_params)
1339
1258
  response.raise_for_status()
1340
1259
  return response.json()
1341
1260
 
1342
- def delete_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1261
+ async def delete_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1343
1262
  """
1344
1263
  Deletes a specific endpoint from a given project.
1345
1264
 
@@ -1363,13 +1282,11 @@ class NeonApp(APIApplication):
1363
1282
  raise ValueError("Missing required parameter 'endpoint_id'")
1364
1283
  url = f"{self.base_url}/projects/{project_id}/endpoints/{endpoint_id}"
1365
1284
  query_params = {}
1366
- response = self._delete(url, params=query_params)
1285
+ response = await self._adelete(url, params=query_params)
1367
1286
  response.raise_for_status()
1368
1287
  return response.json()
1369
1288
 
1370
- def update_project_endpoint(
1371
- self, project_id, endpoint_id, endpoint
1372
- ) -> dict[str, Any]:
1289
+ async def update_project_endpoint(self, project_id, endpoint_id, endpoint) -> dict[str, Any]:
1373
1290
  """
1374
1291
  Updates the configuration of a specific endpoint within a project.
1375
1292
 
@@ -1394,9 +1311,7 @@ class NeonApp(APIApplication):
1394
1311
  raise ValueError("Missing required parameter 'endpoint_id'")
1395
1312
  if endpoint is None:
1396
1313
  raise ValueError("Missing required parameter 'endpoint'")
1397
- request_body = {
1398
- "endpoint": endpoint,
1399
- }
1314
+ request_body = {"endpoint": endpoint}
1400
1315
  request_body = {k: v for k, v in request_body.items() if v is not None}
1401
1316
  url = f"{self.base_url}/projects/{project_id}/endpoints/{endpoint_id}"
1402
1317
  query_params = {}
@@ -1404,7 +1319,7 @@ class NeonApp(APIApplication):
1404
1319
  response.raise_for_status()
1405
1320
  return response.json()
1406
1321
 
1407
- def start_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1322
+ async def start_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1408
1323
  """
1409
1324
  Starts the specified endpoint for a given project by making a POST request to the API.
1410
1325
 
@@ -1428,11 +1343,11 @@ class NeonApp(APIApplication):
1428
1343
  raise ValueError("Missing required parameter 'endpoint_id'")
1429
1344
  url = f"{self.base_url}/projects/{project_id}/endpoints/{endpoint_id}/start"
1430
1345
  query_params = {}
1431
- response = self._post(url, data={}, params=query_params)
1346
+ response = await self._apost(url, data={}, params=query_params)
1432
1347
  response.raise_for_status()
1433
1348
  return response.json()
1434
1349
 
1435
- def suspend_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1350
+ async def suspend_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1436
1351
  """
1437
1352
  Suspends a specific endpoint within a project by issuing a POST request to the suspend endpoint API.
1438
1353
 
@@ -1456,11 +1371,11 @@ class NeonApp(APIApplication):
1456
1371
  raise ValueError("Missing required parameter 'endpoint_id'")
1457
1372
  url = f"{self.base_url}/projects/{project_id}/endpoints/{endpoint_id}/suspend"
1458
1373
  query_params = {}
1459
- response = self._post(url, data={}, params=query_params)
1374
+ response = await self._apost(url, data={}, params=query_params)
1460
1375
  response.raise_for_status()
1461
1376
  return response.json()
1462
1377
 
1463
- def restart_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1378
+ async def restart_project_endpoint(self, project_id, endpoint_id) -> dict[str, Any]:
1464
1379
  """
1465
1380
  Restarts a specific project endpoint by sending a POST request to the server.
1466
1381
 
@@ -1484,11 +1399,11 @@ class NeonApp(APIApplication):
1484
1399
  raise ValueError("Missing required parameter 'endpoint_id'")
1485
1400
  url = f"{self.base_url}/projects/{project_id}/endpoints/{endpoint_id}/restart"
1486
1401
  query_params = {}
1487
- response = self._post(url, data={}, params=query_params)
1402
+ response = await self._apost(url, data={}, params=query_params)
1488
1403
  response.raise_for_status()
1489
1404
  return response.json()
1490
1405
 
1491
- def get_organization(self, org_id) -> dict[str, Any]:
1406
+ async def get_organization(self, org_id) -> dict[str, Any]:
1492
1407
  """
1493
1408
  Retrieves the details of a specific organization using its unique organization ID.
1494
1409
 
@@ -1509,11 +1424,11 @@ class NeonApp(APIApplication):
1509
1424
  raise ValueError("Missing required parameter 'org_id'")
1510
1425
  url = f"{self.base_url}/organizations/{org_id}"
1511
1426
  query_params = {}
1512
- response = self._get(url, params=query_params)
1427
+ response = await self._aget(url, params=query_params)
1513
1428
  response.raise_for_status()
1514
1429
  return response.json()
1515
1430
 
1516
- def revoke_org_api_key(self, org_id, key_id) -> dict[str, Any]:
1431
+ async def revoke_org_api_key(self, org_id, key_id) -> dict[str, Any]:
1517
1432
  """
1518
1433
  Revokes an API key for a specific organization by sending a DELETE request.
1519
1434
 
@@ -1537,11 +1452,11 @@ class NeonApp(APIApplication):
1537
1452
  raise ValueError("Missing required parameter 'key_id'")
1538
1453
  url = f"{self.base_url}/organizations/{org_id}/api_keys/{key_id}"
1539
1454
  query_params = {}
1540
- response = self._delete(url, params=query_params)
1455
+ response = await self._adelete(url, params=query_params)
1541
1456
  response.raise_for_status()
1542
1457
  return response.json()
1543
1458
 
1544
- def get_organization_members(self, org_id) -> dict[str, Any]:
1459
+ async def get_organization_members(self, org_id) -> dict[str, Any]:
1545
1460
  """
1546
1461
  Retrieves the list of members belonging to a specified organization by organization ID.
1547
1462
 
@@ -1562,11 +1477,11 @@ class NeonApp(APIApplication):
1562
1477
  raise ValueError("Missing required parameter 'org_id'")
1563
1478
  url = f"{self.base_url}/organizations/{org_id}/members"
1564
1479
  query_params = {}
1565
- response = self._get(url, params=query_params)
1480
+ response = await self._aget(url, params=query_params)
1566
1481
  response.raise_for_status()
1567
1482
  return response.json()
1568
1483
 
1569
- def get_organization_member(self, org_id, member_id) -> dict[str, Any]:
1484
+ async def get_organization_member(self, org_id, member_id) -> dict[str, Any]:
1570
1485
  """
1571
1486
  Retrieves information about a specific member within an organization by their identifiers.
1572
1487
 
@@ -1590,11 +1505,11 @@ class NeonApp(APIApplication):
1590
1505
  raise ValueError("Missing required parameter 'member_id'")
1591
1506
  url = f"{self.base_url}/organizations/{org_id}/members/{member_id}"
1592
1507
  query_params = {}
1593
- response = self._get(url, params=query_params)
1508
+ response = await self._aget(url, params=query_params)
1594
1509
  response.raise_for_status()
1595
1510
  return response.json()
1596
1511
 
1597
- def update_organization_member(self, org_id, member_id, role) -> dict[str, Any]:
1512
+ async def update_organization_member(self, org_id, member_id, role) -> dict[str, Any]:
1598
1513
  """
1599
1514
  Updates the role of a specific member within an organization.
1600
1515
 
@@ -1619,9 +1534,7 @@ class NeonApp(APIApplication):
1619
1534
  raise ValueError("Missing required parameter 'member_id'")
1620
1535
  if role is None:
1621
1536
  raise ValueError("Missing required parameter 'role'")
1622
- request_body = {
1623
- "role": role,
1624
- }
1537
+ request_body = {"role": role}
1625
1538
  request_body = {k: v for k, v in request_body.items() if v is not None}
1626
1539
  url = f"{self.base_url}/organizations/{org_id}/members/{member_id}"
1627
1540
  query_params = {}
@@ -1629,7 +1542,7 @@ class NeonApp(APIApplication):
1629
1542
  response.raise_for_status()
1630
1543
  return response.json()
1631
1544
 
1632
- def remove_organization_member(self, org_id, member_id) -> dict[str, Any]:
1545
+ async def remove_organization_member(self, org_id, member_id) -> dict[str, Any]:
1633
1546
  """
1634
1547
  Removes a specified member from an organization.
1635
1548
 
@@ -1653,11 +1566,11 @@ class NeonApp(APIApplication):
1653
1566
  raise ValueError("Missing required parameter 'member_id'")
1654
1567
  url = f"{self.base_url}/organizations/{org_id}/members/{member_id}"
1655
1568
  query_params = {}
1656
- response = self._delete(url, params=query_params)
1569
+ response = await self._adelete(url, params=query_params)
1657
1570
  response.raise_for_status()
1658
1571
  return response.json()
1659
1572
 
1660
- def get_organization_invitations(self, org_id) -> dict[str, Any]:
1573
+ async def get_organization_invitations(self, org_id) -> dict[str, Any]:
1661
1574
  """
1662
1575
  Retrieves the list of invitations for a specified organization.
1663
1576
 
@@ -1678,11 +1591,11 @@ class NeonApp(APIApplication):
1678
1591
  raise ValueError("Missing required parameter 'org_id'")
1679
1592
  url = f"{self.base_url}/organizations/{org_id}/invitations"
1680
1593
  query_params = {}
1681
- response = self._get(url, params=query_params)
1594
+ response = await self._aget(url, params=query_params)
1682
1595
  response.raise_for_status()
1683
1596
  return response.json()
1684
1597
 
1685
- def create_organization_invitations(self, org_id, invitations) -> dict[str, Any]:
1598
+ async def create_organization_invitations(self, org_id, invitations) -> dict[str, Any]:
1686
1599
  """
1687
1600
  Creates new invitations for users to join an organization by sending a POST request to the organization's invitations endpoint.
1688
1601
 
@@ -1704,17 +1617,15 @@ class NeonApp(APIApplication):
1704
1617
  raise ValueError("Missing required parameter 'org_id'")
1705
1618
  if invitations is None:
1706
1619
  raise ValueError("Missing required parameter 'invitations'")
1707
- request_body = {
1708
- "invitations": invitations,
1709
- }
1620
+ request_body = {"invitations": invitations}
1710
1621
  request_body = {k: v for k, v in request_body.items() if v is not None}
1711
1622
  url = f"{self.base_url}/organizations/{org_id}/invitations"
1712
1623
  query_params = {}
1713
- response = self._post(url, data=request_body, params=query_params)
1624
+ response = await self._apost(url, data=request_body, params=query_params)
1714
1625
  response.raise_for_status()
1715
1626
  return response.json()
1716
1627
 
1717
- def list_organization_vpcendpoints(self, org_id, region_id) -> dict[str, Any]:
1628
+ async def list_organization_vpcendpoints(self, org_id, region_id) -> dict[str, Any]:
1718
1629
  """
1719
1630
  Retrieves a list of VPC endpoints for a specified organization and region.
1720
1631
 
@@ -1738,13 +1649,11 @@ class NeonApp(APIApplication):
1738
1649
  raise ValueError("Missing required parameter 'region_id'")
1739
1650
  url = f"{self.base_url}/organizations/{org_id}/vpc/region/{region_id}/vpc-endpoints"
1740
1651
  query_params = {}
1741
- response = self._get(url, params=query_params)
1652
+ response = await self._aget(url, params=query_params)
1742
1653
  response.raise_for_status()
1743
1654
  return response.json()
1744
1655
 
1745
- def get_organization_vpcendpoint_details(
1746
- self, org_id, region_id, vpc_endpoint_id
1747
- ) -> dict[str, Any]:
1656
+ async def get_organization_vpcendpoint_details(self, org_id, region_id, vpc_endpoint_id) -> dict[str, Any]:
1748
1657
  """
1749
1658
  Retrieves details about a specific VPC endpoint for an organization in a given region.
1750
1659
 
@@ -1771,13 +1680,11 @@ class NeonApp(APIApplication):
1771
1680
  raise ValueError("Missing required parameter 'vpc_endpoint_id'")
1772
1681
  url = f"{self.base_url}/organizations/{org_id}/vpc/region/{region_id}/vpc-endpoints/{vpc_endpoint_id}"
1773
1682
  query_params = {}
1774
- response = self._get(url, params=query_params)
1683
+ response = await self._aget(url, params=query_params)
1775
1684
  response.raise_for_status()
1776
1685
  return response.json()
1777
1686
 
1778
- def assign_organization_vpcendpoint(
1779
- self, org_id, region_id, vpc_endpoint_id, label
1780
- ) -> Any:
1687
+ async def assign_organization_vpcendpoint(self, org_id, region_id, vpc_endpoint_id, label) -> Any:
1781
1688
  """
1782
1689
  Assigns a label to a specified organization VPC endpoint in a given region.
1783
1690
 
@@ -1805,19 +1712,15 @@ class NeonApp(APIApplication):
1805
1712
  raise ValueError("Missing required parameter 'vpc_endpoint_id'")
1806
1713
  if label is None:
1807
1714
  raise ValueError("Missing required parameter 'label'")
1808
- request_body = {
1809
- "label": label,
1810
- }
1715
+ request_body = {"label": label}
1811
1716
  request_body = {k: v for k, v in request_body.items() if v is not None}
1812
1717
  url = f"{self.base_url}/organizations/{org_id}/vpc/region/{region_id}/vpc-endpoints/{vpc_endpoint_id}"
1813
1718
  query_params = {}
1814
- response = self._post(url, data=request_body, params=query_params)
1719
+ response = await self._apost(url, data=request_body, params=query_params)
1815
1720
  response.raise_for_status()
1816
1721
  return response.json()
1817
1722
 
1818
- def delete_organization_vpcendpoint(
1819
- self, org_id, region_id, vpc_endpoint_id
1820
- ) -> Any:
1723
+ async def delete_organization_vpcendpoint(self, org_id, region_id, vpc_endpoint_id) -> Any:
1821
1724
  """
1822
1725
  Deletes a specific VPC endpoint associated with an organization and region.
1823
1726
 
@@ -1844,13 +1747,11 @@ class NeonApp(APIApplication):
1844
1747
  raise ValueError("Missing required parameter 'vpc_endpoint_id'")
1845
1748
  url = f"{self.base_url}/organizations/{org_id}/vpc/region/{region_id}/vpc-endpoints/{vpc_endpoint_id}"
1846
1749
  query_params = {}
1847
- response = self._delete(url, params=query_params)
1750
+ response = await self._adelete(url, params=query_params)
1848
1751
  response.raise_for_status()
1849
1752
  return response.json()
1850
1753
 
1851
- def get_active_regions(
1852
- self,
1853
- ) -> dict[str, Any]:
1754
+ async def get_active_regions(self) -> dict[str, Any]:
1854
1755
  """
1855
1756
  Retrieves a list of active regions available in the system.
1856
1757
 
@@ -1865,13 +1766,11 @@ class NeonApp(APIApplication):
1865
1766
  """
1866
1767
  url = f"{self.base_url}/regions"
1867
1768
  query_params = {}
1868
- response = self._get(url, params=query_params)
1769
+ response = await self._aget(url, params=query_params)
1869
1770
  response.raise_for_status()
1870
1771
  return response.json()
1871
1772
 
1872
- def get_current_user_info(
1873
- self,
1874
- ) -> dict[str, Any]:
1773
+ async def get_current_user_info(self) -> dict[str, Any]:
1875
1774
  """
1876
1775
  Retrieves information about the currently authenticated user from the API.
1877
1776
 
@@ -1889,13 +1788,11 @@ class NeonApp(APIApplication):
1889
1788
  """
1890
1789
  url = f"{self.base_url}/users/me"
1891
1790
  query_params = {}
1892
- response = self._get(url, params=query_params)
1791
+ response = await self._aget(url, params=query_params)
1893
1792
  response.raise_for_status()
1894
1793
  return response.json()
1895
1794
 
1896
- def get_current_user_organizations(
1897
- self,
1898
- ) -> dict[str, Any]:
1795
+ async def get_current_user_organizations(self) -> dict[str, Any]:
1899
1796
  """
1900
1797
  Retrieves a list of organizations associated with the current authenticated user.
1901
1798
 
@@ -1913,11 +1810,11 @@ class NeonApp(APIApplication):
1913
1810
  """
1914
1811
  url = f"{self.base_url}/users/me/organizations"
1915
1812
  query_params = {}
1916
- response = self._get(url, params=query_params)
1813
+ response = await self._aget(url, params=query_params)
1917
1814
  response.raise_for_status()
1918
1815
  return response.json()
1919
1816
 
1920
- def transfer_projects_from_user_to_org(self, org_id, project_ids) -> dict[str, Any]:
1817
+ async def transfer_projects_from_user_to_org(self, org_id, project_ids) -> dict[str, Any]:
1921
1818
  """
1922
1819
  Transfers ownership of specified projects from the authenticated user to a target organization.
1923
1820
 
@@ -1939,14 +1836,11 @@ class NeonApp(APIApplication):
1939
1836
  raise ValueError("Missing required parameter 'org_id'")
1940
1837
  if project_ids is None:
1941
1838
  raise ValueError("Missing required parameter 'project_ids'")
1942
- request_body = {
1943
- "org_id": org_id,
1944
- "project_ids": project_ids,
1945
- }
1839
+ request_body = {"org_id": org_id, "project_ids": project_ids}
1946
1840
  request_body = {k: v for k, v in request_body.items() if v is not None}
1947
1841
  url = f"{self.base_url}/users/me/projects/transfer"
1948
1842
  query_params = {}
1949
- response = self._post(url, data=request_body, params=query_params)
1843
+ response = await self._apost(url, data=request_body, params=query_params)
1950
1844
  response.raise_for_status()
1951
1845
  return response.json()
1952
1846