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 SentryApp(APIApplication):
9
8
  super().__init__(name="sentry", integration=integration, **kwargs)
10
9
  self.base_url = "https://us.sentry.io"
11
10
 
12
- def list_your_organizations(
13
- self, owner=None, cursor=None, query=None, sortBy=None
14
- ) -> list[Any]:
11
+ async def list_your_organizations(self, owner=None, cursor=None, query=None, sortBy=None) -> list[Any]:
15
12
  """
16
13
  Retrieves a list of organizations using the "GET" method, allowing filtering by owner, query, and sorting, and requires authentication with admin, read, or write permissions.
17
14
 
@@ -28,23 +25,12 @@ class SentryApp(APIApplication):
28
25
  Users, important
29
26
  """
30
27
  url = f"{self.base_url}/api/0/organizations/"
31
- query_params = {
32
- k: v
33
- for k, v in [
34
- ("owner", owner),
35
- ("cursor", cursor),
36
- ("query", query),
37
- ("sortBy", sortBy),
38
- ]
39
- if v is not None
40
- }
28
+ query_params = {k: v for k, v in [("owner", owner), ("cursor", cursor), ("query", query), ("sortBy", sortBy)] if v is not None}
41
29
  response = self._get(url, params=query_params)
42
30
  response.raise_for_status()
43
31
  return response.json()
44
32
 
45
- def retrieve_an_organization(
46
- self, organization_id_or_slug, detailed=None
47
- ) -> dict[str, Any]:
33
+ async def retrieve_an_organization(self, organization_id_or_slug, detailed=None) -> dict[str, Any]:
48
34
  """
49
35
  Retrieves detailed information about a specified organization by its ID or slug, optionally including extended details, requiring appropriate organizational permissions.
50
36
 
@@ -66,7 +52,7 @@ class SentryApp(APIApplication):
66
52
  response.raise_for_status()
67
53
  return response.json()
68
54
 
69
- def update_an_organization(
55
+ async def update_an_organization(
70
56
  self,
71
57
  organization_id_or_slug,
72
58
  slug=None,
@@ -165,7 +151,7 @@ class SentryApp(APIApplication):
165
151
  Below is an example of a payload for a set of advanced data scrubbing rules for masking credit card numbers from the log message (equivalent to `[Mask] [Credit card numbers] from [$message]` in the Sentry app) and removing a specific key called `foo` (equivalent to `[Remove] [Anything] from [extra.foo]` in the Sentry app):
166
152
  ```json
167
153
  {
168
- relayPiiConfig: "{\"rules":{\"0\":{\"type\":\"creditcard\",\"redaction\":{\"method\":\"mask\"}},\"1\":{\"type\":\"anything\",\"redaction\":{\"method\":\"remove\"}}},\"applications\":{\"$message\":[\"0\"],\"extra.foo\":[\"1\"]}}"
154
+ relayPiiConfig: "{"rules":{"0":{"type":"creditcard","redaction":{"method":"mask"}},"1":{"type":"anything","redaction":{"method":"remove"}}},"applications":{"$message":["0"],"extra.foo":["1"]}}"
169
155
  }
170
156
  ```
171
157
 
@@ -240,9 +226,7 @@ class SentryApp(APIApplication):
240
226
  response.raise_for_status()
241
227
  return response.json()
242
228
 
243
- def list_an_organization_s_metric_alert_rules(
244
- self, organization_id_or_slug
245
- ) -> list[Any]:
229
+ async def list_an_organization_s_metric_alert_rules(self, organization_id_or_slug) -> list[Any]:
246
230
  """
247
231
  Retrieves the list of alert rules associated with the specified organization and requires appropriate read and organization permissions.
248
232
 
@@ -263,7 +247,7 @@ class SentryApp(APIApplication):
263
247
  response.raise_for_status()
264
248
  return response.json()
265
249
 
266
- def create_organization_metric_alert_rule(
250
+ async def create_organization_metric_alert_rule(
267
251
  self,
268
252
  organization_id_or_slug,
269
253
  name,
@@ -391,9 +375,7 @@ class SentryApp(APIApplication):
391
375
  response.raise_for_status()
392
376
  return response.json()
393
377
 
394
- def get_organization_metric_alert_rule(
395
- self, organization_id_or_slug, alert_rule_id
396
- ) -> dict[str, Any]:
378
+ async def get_organization_metric_alert_rule(self, organization_id_or_slug, alert_rule_id) -> dict[str, Any]:
397
379
  """
398
380
  Retrieves an alert rule by its ID within a specified organization using the organization's ID or slug.
399
381
 
@@ -417,7 +399,7 @@ class SentryApp(APIApplication):
417
399
  response.raise_for_status()
418
400
  return response.json()
419
401
 
420
- def update_a_metric_alert_rule(
402
+ async def update_a_metric_alert_rule(
421
403
  self,
422
404
  organization_id_or_slug,
423
405
  alert_rule_id,
@@ -550,7 +532,7 @@ class SentryApp(APIApplication):
550
532
  response.raise_for_status()
551
533
  return response.json()
552
534
 
553
- def delete_a_metric_alert_rule(self, organization_id_or_slug, alert_rule_id) -> Any:
535
+ async def delete_a_metric_alert_rule(self, organization_id_or_slug, alert_rule_id) -> Any:
554
536
  """
555
537
  Deletes the specified alert rule for the given organization using the alert rule identifier, returning a 202 Accepted status if the deletion is initiated.
556
538
 
@@ -574,9 +556,7 @@ class SentryApp(APIApplication):
574
556
  response.raise_for_status()
575
557
  return response.json()
576
558
 
577
- def get_metric_alert_rule_activations(
578
- self, organization_id_or_slug, alert_rule_id
579
- ) -> list[Any]:
559
+ async def get_metric_alert_rule_activations(self, organization_id_or_slug, alert_rule_id) -> list[Any]:
580
560
  """
581
561
  Retrieves a list of activations for a specific alert rule within an organization.
582
562
 
@@ -600,9 +580,7 @@ class SentryApp(APIApplication):
600
580
  response.raise_for_status()
601
581
  return response.json()
602
582
 
603
- def get_integration_provider_information(
604
- self, organization_id_or_slug, providerKey=None
605
- ) -> dict[str, Any]:
583
+ async def get_integration_provider_information(self, organization_id_or_slug, providerKey=None) -> dict[str, Any]:
606
584
  """
607
585
  Retrieves the list of configured integrations for a specified organization, optionally filtered by provider key, and returns integration details if found.
608
586
 
@@ -619,16 +597,12 @@ class SentryApp(APIApplication):
619
597
  if organization_id_or_slug is None:
620
598
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
621
599
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/config/integrations/"
622
- query_params = {
623
- k: v for k, v in [("providerKey", providerKey)] if v is not None
624
- }
600
+ query_params = {k: v for k, v in [("providerKey", providerKey)] if v is not None}
625
601
  response = self._get(url, params=query_params)
626
602
  response.raise_for_status()
627
603
  return response.json()
628
604
 
629
- def list_an_organization_s_custom_dashboards(
630
- self, organization_id_or_slug, per_page=None, cursor=None
631
- ) -> list[Any]:
605
+ async def list_an_organization_s_custom_dashboards(self, organization_id_or_slug, per_page=None, cursor=None) -> list[Any]:
632
606
  """
633
607
  Retrieves a list of dashboards for a specified organization using pagination parameters.
634
608
 
@@ -645,19 +619,13 @@ class SentryApp(APIApplication):
645
619
  """
646
620
  if organization_id_or_slug is None:
647
621
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
648
- url = (
649
- f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/dashboards/"
650
- )
651
- query_params = {
652
- k: v
653
- for k, v in [("per_page", per_page), ("cursor", cursor)]
654
- if v is not None
655
- }
622
+ url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/dashboards/"
623
+ query_params = {k: v for k, v in [("per_page", per_page), ("cursor", cursor)] if v is not None}
656
624
  response = self._get(url, params=query_params)
657
625
  response.raise_for_status()
658
626
  return response.json()
659
627
 
660
- def create_a_new_dashboard_for_an_organization(
628
+ async def create_a_new_dashboard_for_an_organization(
661
629
  self,
662
630
  organization_id_or_slug,
663
631
  title,
@@ -711,17 +679,13 @@ class SentryApp(APIApplication):
711
679
  "permissions": permissions,
712
680
  }
713
681
  request_body = {k: v for k, v in request_body.items() if v is not None}
714
- url = (
715
- f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/dashboards/"
716
- )
682
+ url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/dashboards/"
717
683
  query_params = {}
718
684
  response = self._post(url, data=request_body, params=query_params)
719
685
  response.raise_for_status()
720
686
  return response.json()
721
687
 
722
- def retrieve_an_organization_s_custom_dashboard(
723
- self, organization_id_or_slug, dashboard_id
724
- ) -> dict[str, Any]:
688
+ async def retrieve_an_organization_s_custom_dashboard(self, organization_id_or_slug, dashboard_id) -> dict[str, Any]:
725
689
  """
726
690
  Retrieves details of a specific dashboard within an organization using its ID or slug and the dashboard ID.
727
691
 
@@ -745,7 +709,7 @@ class SentryApp(APIApplication):
745
709
  response.raise_for_status()
746
710
  return response.json()
747
711
 
748
- def edit_an_organization_s_custom_dashboard(
712
+ async def edit_an_organization_s_custom_dashboard(
749
713
  self,
750
714
  organization_id_or_slug,
751
715
  dashboard_id,
@@ -809,9 +773,7 @@ class SentryApp(APIApplication):
809
773
  response.raise_for_status()
810
774
  return response.json()
811
775
 
812
- def delete_an_organization_s_custom_dashboard(
813
- self, organization_id_or_slug, dashboard_id
814
- ) -> Any:
776
+ async def delete_an_organization_s_custom_dashboard(self, organization_id_or_slug, dashboard_id) -> Any:
815
777
  """
816
778
  Deletes a specific dashboard in an organization using the provided organization ID or slug and dashboard ID, requiring authentication with admin or write permissions.
817
779
 
@@ -835,13 +797,8 @@ class SentryApp(APIApplication):
835
797
  response.raise_for_status()
836
798
  return response.json()
837
799
 
838
- def list_an_organization_s_discover_saved_queries(
839
- self,
840
- organization_id_or_slug,
841
- per_page=None,
842
- cursor=None,
843
- query=None,
844
- sortBy=None,
800
+ async def list_an_organization_s_discover_saved_queries(
801
+ self, organization_id_or_slug, per_page=None, cursor=None, query=None, sortBy=None
845
802
  ) -> list[Any]:
846
803
  """
847
804
  Retrieves a list of saved discoveries for an organization, allowing filtering by query, sorting, and pagination.
@@ -863,20 +820,13 @@ class SentryApp(APIApplication):
863
820
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
864
821
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/discover/saved/"
865
822
  query_params = {
866
- k: v
867
- for k, v in [
868
- ("per_page", per_page),
869
- ("cursor", cursor),
870
- ("query", query),
871
- ("sortBy", sortBy),
872
- ]
873
- if v is not None
823
+ k: v for k, v in [("per_page", per_page), ("cursor", cursor), ("query", query), ("sortBy", sortBy)] if v is not None
874
824
  }
875
825
  response = self._get(url, params=query_params)
876
826
  response.raise_for_status()
877
827
  return response.json()
878
828
 
879
- def create_a_new_saved_query(
829
+ async def create_a_new_saved_query(
880
830
  self,
881
831
  organization_id_or_slug,
882
832
  name,
@@ -969,9 +919,7 @@ class SentryApp(APIApplication):
969
919
  response.raise_for_status()
970
920
  return response.json()
971
921
 
972
- def retrieve_an_organization_s_discover_saved_query(
973
- self, organization_id_or_slug, query_id
974
- ) -> dict[str, Any]:
922
+ async def retrieve_an_organization_s_discover_saved_query(self, organization_id_or_slug, query_id) -> dict[str, Any]:
975
923
  """
976
924
  Retrieves saved discovery data for a specified query within an organization using the provided organization ID or slug and query ID.
977
925
 
@@ -995,7 +943,7 @@ class SentryApp(APIApplication):
995
943
  response.raise_for_status()
996
944
  return response.json()
997
945
 
998
- def edit_organization_discover_saved_query(
946
+ async def edit_organization_discover_saved_query(
999
947
  self,
1000
948
  organization_id_or_slug,
1001
949
  query_id,
@@ -1092,9 +1040,7 @@ class SentryApp(APIApplication):
1092
1040
  response.raise_for_status()
1093
1041
  return response.json()
1094
1042
 
1095
- def delete_organization_discover_saved_query(
1096
- self, organization_id_or_slug, query_id
1097
- ) -> Any:
1043
+ async def delete_organization_discover_saved_query(self, organization_id_or_slug, query_id) -> Any:
1098
1044
  """
1099
1045
  Deletes a saved query for a specified organization and query ID, returning a 204 (No Content) on success.
1100
1046
 
@@ -1118,9 +1064,7 @@ class SentryApp(APIApplication):
1118
1064
  response.raise_for_status()
1119
1065
  return response.json()
1120
1066
 
1121
- def list_an_organization_s_environments(
1122
- self, organization_id_or_slug, visibility=None
1123
- ) -> list[Any]:
1067
+ async def list_an_organization_s_environments(self, organization_id_or_slug, visibility=None) -> list[Any]:
1124
1068
  """
1125
1069
  Lists all environments for a specified organization, optionally filtered by visibility, when authenticated with sufficient permissions.
1126
1070
 
@@ -1142,7 +1086,7 @@ class SentryApp(APIApplication):
1142
1086
  response.raise_for_status()
1143
1087
  return response.json()
1144
1088
 
1145
- def query_discover_events_in_table_format(
1089
+ async def query_discover_events_in_table_format(
1146
1090
  self,
1147
1091
  organization_id_or_slug,
1148
1092
  field,
@@ -1198,15 +1142,8 @@ class SentryApp(APIApplication):
1198
1142
  response.raise_for_status()
1199
1143
  return response.json()
1200
1144
 
1201
- def create_an_external_user(
1202
- self,
1203
- organization_id_or_slug,
1204
- user_id,
1205
- external_name,
1206
- provider,
1207
- integration_id,
1208
- id,
1209
- external_id=None,
1145
+ async def create_an_external_user(
1146
+ self, organization_id_or_slug, user_id, external_name, provider, integration_id, id, external_id=None
1210
1147
  ) -> dict[str, Any]:
1211
1148
  """
1212
1149
  Links a user from an external provider to a Sentry user within the specified organization and returns the external user resource.
@@ -1250,16 +1187,8 @@ class SentryApp(APIApplication):
1250
1187
  response.raise_for_status()
1251
1188
  return response.json()
1252
1189
 
1253
- def update_an_external_user(
1254
- self,
1255
- organization_id_or_slug,
1256
- external_user_id,
1257
- user_id,
1258
- external_name,
1259
- provider,
1260
- integration_id,
1261
- id,
1262
- external_id=None,
1190
+ async def update_an_external_user(
1191
+ self, organization_id_or_slug, external_user_id, user_id, external_name, provider, integration_id, id, external_id=None
1263
1192
  ) -> dict[str, Any]:
1264
1193
  """
1265
1194
  Updates the details of a specified external user within an organization using the provided request body.
@@ -1306,7 +1235,7 @@ class SentryApp(APIApplication):
1306
1235
  response.raise_for_status()
1307
1236
  return response.json()
1308
1237
 
1309
- def delete_an_external_user(self, organization_id_or_slug, external_user_id) -> Any:
1238
+ async def delete_an_external_user(self, organization_id_or_slug, external_user_id) -> Any:
1310
1239
  """
1311
1240
  Removes an external user from an organization using the organization ID or slug and the external user ID.
1312
1241
 
@@ -1330,12 +1259,8 @@ class SentryApp(APIApplication):
1330
1259
  response.raise_for_status()
1331
1260
  return response.json()
1332
1261
 
1333
- def list_organization_available_integrations(
1334
- self,
1335
- organization_id_or_slug,
1336
- providerKey=None,
1337
- features=None,
1338
- includeConfig=None,
1262
+ async def list_organization_available_integrations(
1263
+ self, organization_id_or_slug, providerKey=None, features=None, includeConfig=None
1339
1264
  ) -> list[Any]:
1340
1265
  """
1341
1266
  Retrieves a list of integrations for a specified organization using the provided organization ID or slug, allowing optional filtering by provider key, features, and configuration inclusion.
@@ -1356,21 +1281,13 @@ class SentryApp(APIApplication):
1356
1281
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
1357
1282
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/integrations/"
1358
1283
  query_params = {
1359
- k: v
1360
- for k, v in [
1361
- ("providerKey", providerKey),
1362
- ("features", features),
1363
- ("includeConfig", includeConfig),
1364
- ]
1365
- if v is not None
1284
+ k: v for k, v in [("providerKey", providerKey), ("features", features), ("includeConfig", includeConfig)] if v is not None
1366
1285
  }
1367
1286
  response = self._get(url, params=query_params)
1368
1287
  response.raise_for_status()
1369
1288
  return response.json()
1370
1289
 
1371
- def get_organization_integration(
1372
- self, organization_id_or_slug, integration_id
1373
- ) -> dict[str, Any]:
1290
+ async def get_organization_integration(self, organization_id_or_slug, integration_id) -> dict[str, Any]:
1374
1291
  """
1375
1292
  Retrieves details for a specific integration within an organization using its ID or slug.
1376
1293
 
@@ -1394,9 +1311,7 @@ class SentryApp(APIApplication):
1394
1311
  response.raise_for_status()
1395
1312
  return response.json()
1396
1313
 
1397
- def delete_organization_integration(
1398
- self, organization_id_or_slug, integration_id
1399
- ) -> Any:
1314
+ async def delete_organization_integration(self, organization_id_or_slug, integration_id) -> Any:
1400
1315
  """
1401
1316
  Deletes an integration from an organization using the provided organization ID or slug and integration ID, returning a 204 status code upon successful deletion.
1402
1317
 
@@ -1420,7 +1335,7 @@ class SentryApp(APIApplication):
1420
1335
  response.raise_for_status()
1421
1336
  return response.json()
1422
1337
 
1423
- def list_an_organization_s_members(self, organization_id_or_slug) -> list[Any]:
1338
+ async def list_an_organization_s_members(self, organization_id_or_slug) -> list[Any]:
1424
1339
  """
1425
1340
  Retrieves a list of members belonging to a specified organization, with access controlled by member-specific permissions.
1426
1341
 
@@ -1441,14 +1356,8 @@ class SentryApp(APIApplication):
1441
1356
  response.raise_for_status()
1442
1357
  return response.json()
1443
1358
 
1444
- def add_a_member_to_an_organization(
1445
- self,
1446
- organization_id_or_slug,
1447
- email,
1448
- orgRole=None,
1449
- teamRoles=None,
1450
- sendInvite=None,
1451
- reinvite=None,
1359
+ async def add_a_member_to_an_organization(
1360
+ self, organization_id_or_slug, email, orgRole=None, teamRoles=None, sendInvite=None, reinvite=None
1452
1361
  ) -> dict[str, Any]:
1453
1362
  """
1454
1363
  Invites a new member to the specified organization by creating their membership with the provided details.
@@ -1483,13 +1392,7 @@ class SentryApp(APIApplication):
1483
1392
  """
1484
1393
  if organization_id_or_slug is None:
1485
1394
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
1486
- request_body = {
1487
- "email": email,
1488
- "orgRole": orgRole,
1489
- "teamRoles": teamRoles,
1490
- "sendInvite": sendInvite,
1491
- "reinvite": reinvite,
1492
- }
1395
+ request_body = {"email": email, "orgRole": orgRole, "teamRoles": teamRoles, "sendInvite": sendInvite, "reinvite": reinvite}
1493
1396
  request_body = {k: v for k, v in request_body.items() if v is not None}
1494
1397
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/members/"
1495
1398
  query_params = {}
@@ -1497,9 +1400,7 @@ class SentryApp(APIApplication):
1497
1400
  response.raise_for_status()
1498
1401
  return response.json()
1499
1402
 
1500
- def retrieve_an_organization_member(
1501
- self, organization_id_or_slug, member_id
1502
- ) -> dict[str, Any]:
1403
+ async def retrieve_an_organization_member(self, organization_id_or_slug, member_id) -> dict[str, Any]:
1503
1404
  """
1504
1405
  Retrieves information about a specific member in an organization using the provided organization ID or slug and member ID.
1505
1406
 
@@ -1523,7 +1424,7 @@ class SentryApp(APIApplication):
1523
1424
  response.raise_for_status()
1524
1425
  return response.json()
1525
1426
 
1526
- def update_an_organization_member_s_roles(
1427
+ async def update_an_organization_member_s_roles(
1527
1428
  self, organization_id_or_slug, member_id, orgRole=None, teamRoles=None
1528
1429
  ) -> dict[str, Any]:
1529
1430
  """
@@ -1575,10 +1476,7 @@ class SentryApp(APIApplication):
1575
1476
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
1576
1477
  if member_id is None:
1577
1478
  raise ValueError("Missing required parameter 'member_id'")
1578
- request_body = {
1579
- "orgRole": orgRole,
1580
- "teamRoles": teamRoles,
1581
- }
1479
+ request_body = {"orgRole": orgRole, "teamRoles": teamRoles}
1582
1480
  request_body = {k: v for k, v in request_body.items() if v is not None}
1583
1481
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/members/{member_id}/"
1584
1482
  query_params = {}
@@ -1586,7 +1484,7 @@ class SentryApp(APIApplication):
1586
1484
  response.raise_for_status()
1587
1485
  return response.json()
1588
1486
 
1589
- def delete_an_organization_member(self, organization_id_or_slug, member_id) -> Any:
1487
+ async def delete_an_organization_member(self, organization_id_or_slug, member_id) -> Any:
1590
1488
  """
1591
1489
  Deletes a member from an organization using the provided organization ID or slug and member ID.
1592
1490
 
@@ -1610,9 +1508,7 @@ class SentryApp(APIApplication):
1610
1508
  response.raise_for_status()
1611
1509
  return response.json()
1612
1510
 
1613
- def add_an_organization_member_to_a_team(
1614
- self, organization_id_or_slug, member_id, team_id_or_slug
1615
- ) -> dict[str, Any]:
1511
+ async def add_an_organization_member_to_a_team(self, organization_id_or_slug, member_id, team_id_or_slug) -> dict[str, Any]:
1616
1512
  """
1617
1513
  Adds a member to a specified team within an organization.
1618
1514
 
@@ -1639,7 +1535,7 @@ class SentryApp(APIApplication):
1639
1535
  response.raise_for_status()
1640
1536
  return response.json()
1641
1537
 
1642
- def update_an_organization_member_s_team_role(
1538
+ async def update_an_organization_member_s_team_role(
1643
1539
  self, organization_id_or_slug, member_id, team_id_or_slug, teamRole=None
1644
1540
  ) -> dict[str, Any]:
1645
1541
  """
@@ -1666,9 +1562,7 @@ class SentryApp(APIApplication):
1666
1562
  raise ValueError("Missing required parameter 'member_id'")
1667
1563
  if team_id_or_slug is None:
1668
1564
  raise ValueError("Missing required parameter 'team_id_or_slug'")
1669
- request_body = {
1670
- "teamRole": teamRole,
1671
- }
1565
+ request_body = {"teamRole": teamRole}
1672
1566
  request_body = {k: v for k, v in request_body.items() if v is not None}
1673
1567
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/members/{member_id}/teams/{team_id_or_slug}/"
1674
1568
  query_params = {}
@@ -1676,9 +1570,7 @@ class SentryApp(APIApplication):
1676
1570
  response.raise_for_status()
1677
1571
  return response.json()
1678
1572
 
1679
- def delete_an_organization_member_from_a_team(
1680
- self, organization_id_or_slug, member_id, team_id_or_slug
1681
- ) -> dict[str, Any]:
1573
+ async def delete_an_organization_member_from_a_team(self, organization_id_or_slug, member_id, team_id_or_slug) -> dict[str, Any]:
1682
1574
  """
1683
1575
  Removes a member from a specific team in an organization using the provided organization ID or slug, member ID, and team ID or slug.
1684
1576
 
@@ -1705,9 +1597,7 @@ class SentryApp(APIApplication):
1705
1597
  response.raise_for_status()
1706
1598
  return response.json()
1707
1599
 
1708
- def retrieve_monitors_for_an_organization(
1709
- self, organization_id_or_slug, project=None, environment=None, owner=None
1710
- ) -> list[Any]:
1600
+ async def retrieve_monitors_for_an_organization(self, organization_id_or_slug, project=None, environment=None, owner=None) -> list[Any]:
1711
1601
  """
1712
1602
  Retrieves a list of monitors for an organization using the provided organization ID or slug, with optional filtering by project, environment, and owner.
1713
1603
 
@@ -1726,28 +1616,13 @@ class SentryApp(APIApplication):
1726
1616
  if organization_id_or_slug is None:
1727
1617
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
1728
1618
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/"
1729
- query_params = {
1730
- k: v
1731
- for k, v in [
1732
- ("project", project),
1733
- ("environment", environment),
1734
- ("owner", owner),
1735
- ]
1736
- if v is not None
1737
- }
1619
+ query_params = {k: v for k, v in [("project", project), ("environment", environment), ("owner", owner)] if v is not None}
1738
1620
  response = self._get(url, params=query_params)
1739
1621
  response.raise_for_status()
1740
1622
  return response.json()
1741
1623
 
1742
- def create_a_monitor(
1743
- self,
1744
- organization_id_or_slug,
1745
- name,
1746
- type,
1747
- slug=None,
1748
- status=None,
1749
- owner=None,
1750
- is_muted=None,
1624
+ async def create_a_monitor(
1625
+ self, organization_id_or_slug, name, type, slug=None, status=None, owner=None, is_muted=None
1751
1626
  ) -> dict[str, Any]:
1752
1627
  """
1753
1628
  Creates a new monitor for an organization using the provided JSON body and returns a status message, requiring authentication with permissions to read or write within the organization.
@@ -1772,14 +1647,7 @@ class SentryApp(APIApplication):
1772
1647
  """
1773
1648
  if organization_id_or_slug is None:
1774
1649
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
1775
- request_body = {
1776
- "name": name,
1777
- "type": type,
1778
- "slug": slug,
1779
- "status": status,
1780
- "owner": owner,
1781
- "is_muted": is_muted,
1782
- }
1650
+ request_body = {"name": name, "type": type, "slug": slug, "status": status, "owner": owner, "is_muted": is_muted}
1783
1651
  request_body = {k: v for k, v in request_body.items() if v is not None}
1784
1652
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/"
1785
1653
  query_params = {}
@@ -1787,9 +1655,7 @@ class SentryApp(APIApplication):
1787
1655
  response.raise_for_status()
1788
1656
  return response.json()
1789
1657
 
1790
- def retrieve_a_monitor(
1791
- self, organization_id_or_slug, monitor_id_or_slug, environment=None
1792
- ) -> dict[str, Any]:
1658
+ async def retrieve_a_monitor(self, organization_id_or_slug, monitor_id_or_slug, environment=None) -> dict[str, Any]:
1793
1659
  """
1794
1660
  Retrieves details about a specific monitor in an organization based on the provided organization ID or slug and monitor ID or slug, optionally filtered by environment.
1795
1661
 
@@ -1809,23 +1675,13 @@ class SentryApp(APIApplication):
1809
1675
  if monitor_id_or_slug is None:
1810
1676
  raise ValueError("Missing required parameter 'monitor_id_or_slug'")
1811
1677
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/"
1812
- query_params = {
1813
- k: v for k, v in [("environment", environment)] if v is not None
1814
- }
1678
+ query_params = {k: v for k, v in [("environment", environment)] if v is not None}
1815
1679
  response = self._get(url, params=query_params)
1816
1680
  response.raise_for_status()
1817
1681
  return response.json()
1818
1682
 
1819
- def update_a_monitor(
1820
- self,
1821
- organization_id_or_slug,
1822
- monitor_id_or_slug,
1823
- name,
1824
- type,
1825
- slug=None,
1826
- status=None,
1827
- owner=None,
1828
- is_muted=None,
1683
+ async def update_a_monitor(
1684
+ self, organization_id_or_slug, monitor_id_or_slug, name, type, slug=None, status=None, owner=None, is_muted=None
1829
1685
  ) -> dict[str, Any]:
1830
1686
  """
1831
1687
  Updates the specified monitor within the given organization by replacing its configuration using the provided JSON data.
@@ -1853,14 +1709,7 @@ class SentryApp(APIApplication):
1853
1709
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
1854
1710
  if monitor_id_or_slug is None:
1855
1711
  raise ValueError("Missing required parameter 'monitor_id_or_slug'")
1856
- request_body = {
1857
- "name": name,
1858
- "type": type,
1859
- "slug": slug,
1860
- "status": status,
1861
- "owner": owner,
1862
- "is_muted": is_muted,
1863
- }
1712
+ request_body = {"name": name, "type": type, "slug": slug, "status": status, "owner": owner, "is_muted": is_muted}
1864
1713
  request_body = {k: v for k, v in request_body.items() if v is not None}
1865
1714
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/"
1866
1715
  query_params = {}
@@ -1868,9 +1717,7 @@ class SentryApp(APIApplication):
1868
1717
  response.raise_for_status()
1869
1718
  return response.json()
1870
1719
 
1871
- def delete_a_monitor_or_monitor_environments(
1872
- self, organization_id_or_slug, monitor_id_or_slug, environment=None
1873
- ) -> Any:
1720
+ async def delete_a_monitor_or_monitor_environments(self, organization_id_or_slug, monitor_id_or_slug, environment=None) -> Any:
1874
1721
  """
1875
1722
  Deletes a monitor from a specified organization in an API, identified by organization ID or slug and monitor ID or slug, with optional environment parameters.
1876
1723
 
@@ -1890,16 +1737,12 @@ class SentryApp(APIApplication):
1890
1737
  if monitor_id_or_slug is None:
1891
1738
  raise ValueError("Missing required parameter 'monitor_id_or_slug'")
1892
1739
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/"
1893
- query_params = {
1894
- k: v for k, v in [("environment", environment)] if v is not None
1895
- }
1740
+ query_params = {k: v for k, v in [("environment", environment)] if v is not None}
1896
1741
  response = self._delete(url, params=query_params)
1897
1742
  response.raise_for_status()
1898
1743
  return response.json()
1899
1744
 
1900
- def retrieve_check_ins_for_a_monitor(
1901
- self, organization_id_or_slug, monitor_id_or_slug
1902
- ) -> list[Any]:
1745
+ async def retrieve_check_ins_for_a_monitor(self, organization_id_or_slug, monitor_id_or_slug) -> list[Any]:
1903
1746
  """
1904
1747
  Retrieves check-ins for a specific monitor within an organization using the provided organization ID or slug and monitor ID or slug.
1905
1748
 
@@ -1923,12 +1766,8 @@ class SentryApp(APIApplication):
1923
1766
  response.raise_for_status()
1924
1767
  return response.json()
1925
1768
 
1926
- def list_spike_protection_notifications(
1927
- self,
1928
- organization_id_or_slug,
1929
- project=None,
1930
- project_id_or_slug=None,
1931
- triggerType=None,
1769
+ async def list_spike_protection_notifications(
1770
+ self, organization_id_or_slug, project=None, project_id_or_slug=None, triggerType=None
1932
1771
  ) -> dict[str, Any]:
1933
1772
  """
1934
1773
  Retrieves a list of notification actions available for the specified organization, optionally filtered by project or trigger type.
@@ -1950,18 +1789,14 @@ class SentryApp(APIApplication):
1950
1789
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/notifications/actions/"
1951
1790
  query_params = {
1952
1791
  k: v
1953
- for k, v in [
1954
- ("project", project),
1955
- ("project_id_or_slug", project_id_or_slug),
1956
- ("triggerType", triggerType),
1957
- ]
1792
+ for k, v in [("project", project), ("project_id_or_slug", project_id_or_slug), ("triggerType", triggerType)]
1958
1793
  if v is not None
1959
1794
  }
1960
1795
  response = self._get(url, params=query_params)
1961
1796
  response.raise_for_status()
1962
1797
  return response.json()
1963
1798
 
1964
- def create_spike_protection_notification(
1799
+ async def create_spike_protection_notification(
1965
1800
  self,
1966
1801
  organization_id_or_slug,
1967
1802
  trigger_type,
@@ -2023,9 +1858,7 @@ class SentryApp(APIApplication):
2023
1858
  response.raise_for_status()
2024
1859
  return response.json()
2025
1860
 
2026
- def retrieve_a_spike_protection_notification_action(
2027
- self, organization_id_or_slug, action_id
2028
- ) -> dict[str, Any]:
1861
+ async def retrieve_a_spike_protection_notification_action(self, organization_id_or_slug, action_id) -> dict[str, Any]:
2029
1862
  """
2030
1863
  Retrieves information about a specific notification action for an organization using the provided organization identifier or slug and action ID.
2031
1864
 
@@ -2049,7 +1882,7 @@ class SentryApp(APIApplication):
2049
1882
  response.raise_for_status()
2050
1883
  return response.json()
2051
1884
 
2052
- def update_a_spike_protection_notification_action(
1885
+ async def update_a_spike_protection_notification_action(
2053
1886
  self,
2054
1887
  organization_id_or_slug,
2055
1888
  action_id,
@@ -2115,9 +1948,7 @@ class SentryApp(APIApplication):
2115
1948
  response.raise_for_status()
2116
1949
  return response.json()
2117
1950
 
2118
- def delete_a_spike_protection_notification_action(
2119
- self, organization_id_or_slug, action_id
2120
- ) -> Any:
1951
+ async def delete_a_spike_protection_notification_action(self, organization_id_or_slug, action_id) -> Any:
2121
1952
  """
2122
1953
  Deletes a notification action by its ID for a specific organization identified by its ID or slug, using the provided authentication token with appropriate permissions.
2123
1954
 
@@ -2141,9 +1972,7 @@ class SentryApp(APIApplication):
2141
1972
  response.raise_for_status()
2142
1973
  return response.json()
2143
1974
 
2144
- def list_an_organization_s_projects(
2145
- self, organization_id_or_slug, cursor=None
2146
- ) -> list[Any]:
1975
+ async def list_an_organization_s_projects(self, organization_id_or_slug, cursor=None) -> list[Any]:
2147
1976
  """
2148
1977
  Retrieves a paginated list of projects within the specified organization identified by its ID or slug.
2149
1978
 
@@ -2165,9 +1994,7 @@ class SentryApp(APIApplication):
2165
1994
  response.raise_for_status()
2166
1995
  return response.json()
2167
1996
 
2168
- def list_an_organization_s_trusted_relays(
2169
- self, organization_id_or_slug
2170
- ) -> list[Any]:
1997
+ async def list_an_organization_s_trusted_relays(self, organization_id_or_slug) -> list[Any]:
2171
1998
  """
2172
1999
  Retrieves relay usage information for a specified organization using its ID or slug, requiring appropriate authentication tokens for administrative or read access.
2173
2000
 
@@ -2188,14 +2015,8 @@ class SentryApp(APIApplication):
2188
2015
  response.raise_for_status()
2189
2016
  return response.json()
2190
2017
 
2191
- def get_release_threshold_statuses(
2192
- self,
2193
- organization_id_or_slug,
2194
- start,
2195
- end,
2196
- environment=None,
2197
- projectSlug=None,
2198
- release=None,
2018
+ async def get_release_threshold_statuses(
2019
+ self, organization_id_or_slug, start, end, environment=None, projectSlug=None, release=None
2199
2020
  ) -> dict[str, Any]:
2200
2021
  """
2201
2022
  Retrieves the current statuses of release thresholds for a specified organization within a given time range, optionally filtered by environment, project, or release.
@@ -2219,20 +2040,14 @@ class SentryApp(APIApplication):
2219
2040
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/release-threshold-statuses/"
2220
2041
  query_params = {
2221
2042
  k: v
2222
- for k, v in [
2223
- ("start", start),
2224
- ("end", end),
2225
- ("environment", environment),
2226
- ("projectSlug", projectSlug),
2227
- ("release", release),
2228
- ]
2043
+ for k, v in [("start", start), ("end", end), ("environment", environment), ("projectSlug", projectSlug), ("release", release)]
2229
2044
  if v is not None
2230
2045
  }
2231
2046
  response = self._get(url, params=query_params)
2232
2047
  response.raise_for_status()
2233
2048
  return response.json()
2234
2049
 
2235
- def retrieve_an_organization_s_release(
2050
+ async def retrieve_an_organization_s_release(
2236
2051
  self,
2237
2052
  organization_id_or_slug,
2238
2053
  version,
@@ -2289,15 +2104,8 @@ class SentryApp(APIApplication):
2289
2104
  response.raise_for_status()
2290
2105
  return response.json()
2291
2106
 
2292
- def update_an_organization_s_release(
2293
- self,
2294
- organization_id_or_slug,
2295
- version,
2296
- ref=None,
2297
- url=None,
2298
- dateReleased=None,
2299
- commits=None,
2300
- refs=None,
2107
+ async def update_an_organization_s_release(
2108
+ self, organization_id_or_slug, version, ref=None, url=None, dateReleased=None, commits=None, refs=None
2301
2109
  ) -> dict[str, Any]:
2302
2110
  """
2303
2111
  Updates a specific release version within an organization using the provided JSON data and returns a status message.
@@ -2321,13 +2129,7 @@ class SentryApp(APIApplication):
2321
2129
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
2322
2130
  if version is None:
2323
2131
  raise ValueError("Missing required parameter 'version'")
2324
- request_body = {
2325
- "ref": ref,
2326
- "url": url,
2327
- "dateReleased": dateReleased,
2328
- "commits": commits,
2329
- "refs": refs,
2330
- }
2132
+ request_body = {"ref": ref, "url": url, "dateReleased": dateReleased, "commits": commits, "refs": refs}
2331
2133
  request_body = {k: v for k, v in request_body.items() if v is not None}
2332
2134
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/releases/{version}/"
2333
2135
  query_params = {}
@@ -2335,7 +2137,7 @@ class SentryApp(APIApplication):
2335
2137
  response.raise_for_status()
2336
2138
  return response.json()
2337
2139
 
2338
- def delete_an_organization_s_release(self, organization_id_or_slug, version) -> Any:
2140
+ async def delete_an_organization_s_release(self, organization_id_or_slug, version) -> Any:
2339
2141
  """
2340
2142
  Deletes a release version associated with an organization in the API, identified by the organization ID or slug and the version number, and returns a successful deletion status with a 204 response code.
2341
2143
 
@@ -2359,15 +2161,8 @@ class SentryApp(APIApplication):
2359
2161
  response.raise_for_status()
2360
2162
  return response.json()
2361
2163
 
2362
- def retrieve_a_count_of_replays(
2363
- self,
2364
- organization_id_or_slug,
2365
- environment=None,
2366
- start=None,
2367
- end=None,
2368
- statsPeriod=None,
2369
- project=None,
2370
- query=None,
2164
+ async def retrieve_a_count_of_replays(
2165
+ self, organization_id_or_slug, environment=None, start=None, end=None, statsPeriod=None, project=None, query=None
2371
2166
  ) -> dict[str, Any]:
2372
2167
  """
2373
2168
  Retrieves the replay count for a specified organization, filtered by optional parameters such as environment, time range, project, and custom query.
@@ -2406,7 +2201,7 @@ class SentryApp(APIApplication):
2406
2201
  response.raise_for_status()
2407
2202
  return response.json()
2408
2203
 
2409
- def list_an_organization_s_selectors(
2204
+ async def list_an_organization_s_selectors(
2410
2205
  self,
2411
2206
  organization_id_or_slug,
2412
2207
  environment=None,
@@ -2462,7 +2257,7 @@ class SentryApp(APIApplication):
2462
2257
  response.raise_for_status()
2463
2258
  return response.json()
2464
2259
 
2465
- def list_an_organization_s_replays(
2260
+ async def list_an_organization_s_replays(
2466
2261
  self,
2467
2262
  organization_id_or_slug,
2468
2263
  statsPeriod=None,
@@ -2521,7 +2316,7 @@ class SentryApp(APIApplication):
2521
2316
  response.raise_for_status()
2522
2317
  return response.json()
2523
2318
 
2524
- def retrieve_a_replay_instance(
2319
+ async def retrieve_a_replay_instance(
2525
2320
  self,
2526
2321
  organization_id_or_slug,
2527
2322
  replay_id,
@@ -2584,13 +2379,8 @@ class SentryApp(APIApplication):
2584
2379
  response.raise_for_status()
2585
2380
  return response.json()
2586
2381
 
2587
- def list_an_organization_s_paginated_teams(
2588
- self,
2589
- organization_id_or_slug,
2590
- startIndex=None,
2591
- count=None,
2592
- filter=None,
2593
- excludedAttributes=None,
2382
+ async def list_an_organization_s_paginated_teams(
2383
+ self, organization_id_or_slug, startIndex=None, count=None, filter=None, excludedAttributes=None
2594
2384
  ) -> dict[str, Any]:
2595
2385
  """
2596
2386
  Retrieves a list of SCIM groups for a specified organization using query parameters such as startIndex, count, filter, and excludedAttributes.
@@ -2613,21 +2403,14 @@ class SentryApp(APIApplication):
2613
2403
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Groups"
2614
2404
  query_params = {
2615
2405
  k: v
2616
- for k, v in [
2617
- ("startIndex", startIndex),
2618
- ("count", count),
2619
- ("filter", filter),
2620
- ("excludedAttributes", excludedAttributes),
2621
- ]
2406
+ for k, v in [("startIndex", startIndex), ("count", count), ("filter", filter), ("excludedAttributes", excludedAttributes)]
2622
2407
  if v is not None
2623
2408
  }
2624
2409
  response = self._get(url, params=query_params)
2625
2410
  response.raise_for_status()
2626
2411
  return response.json()
2627
2412
 
2628
- def provision_a_new_team(
2629
- self, organization_id_or_slug, displayName
2630
- ) -> dict[str, Any]:
2413
+ async def provision_a_new_team(self, organization_id_or_slug, displayName) -> dict[str, Any]:
2631
2414
  """
2632
2415
  Creates a new SCIM group for the specified organization using a POST request to the Groups endpoint, requiring organization details in the request body.
2633
2416
 
@@ -2643,9 +2426,7 @@ class SentryApp(APIApplication):
2643
2426
  """
2644
2427
  if organization_id_or_slug is None:
2645
2428
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
2646
- request_body = {
2647
- "displayName": displayName,
2648
- }
2429
+ request_body = {"displayName": displayName}
2649
2430
  request_body = {k: v for k, v in request_body.items() if v is not None}
2650
2431
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Groups"
2651
2432
  query_params = {}
@@ -2653,9 +2434,7 @@ class SentryApp(APIApplication):
2653
2434
  response.raise_for_status()
2654
2435
  return response.json()
2655
2436
 
2656
- def query_an_individual_team(
2657
- self, organization_id_or_slug, team_id
2658
- ) -> dict[str, Any]:
2437
+ async def query_an_individual_team(self, organization_id_or_slug, team_id) -> dict[str, Any]:
2659
2438
  """
2660
2439
  Retrieves details about a specific team using its ID within an organization, returning relevant SCIM group information.
2661
2440
 
@@ -2679,9 +2458,7 @@ class SentryApp(APIApplication):
2679
2458
  response.raise_for_status()
2680
2459
  return response.json()
2681
2460
 
2682
- def update_a_team_s_attributes(
2683
- self, organization_id_or_slug, team_id, Operations
2684
- ) -> Any:
2461
+ async def update_a_team_s_attributes(self, organization_id_or_slug, team_id, Operations) -> Any:
2685
2462
  """
2686
2463
  Modifies a specific group within an organization using SCIM 2.0, allowing updates to group attributes with the provided JSON payload.
2687
2464
 
@@ -2756,9 +2533,7 @@ class SentryApp(APIApplication):
2756
2533
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
2757
2534
  if team_id is None:
2758
2535
  raise ValueError("Missing required parameter 'team_id'")
2759
- request_body = {
2760
- "Operations": Operations,
2761
- }
2536
+ request_body = {"Operations": Operations}
2762
2537
  request_body = {k: v for k, v in request_body.items() if v is not None}
2763
2538
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Groups/{team_id}"
2764
2539
  query_params = {}
@@ -2766,7 +2541,7 @@ class SentryApp(APIApplication):
2766
2541
  response.raise_for_status()
2767
2542
  return response.json()
2768
2543
 
2769
- def delete_an_individual_team(self, organization_id_or_slug, team_id) -> Any:
2544
+ async def delete_an_individual_team(self, organization_id_or_slug, team_id) -> Any:
2770
2545
  """
2771
2546
  Deletes a specific team from an organization using SCIM, identified by a team ID, and removes associated permissions and access.
2772
2547
 
@@ -2790,13 +2565,8 @@ class SentryApp(APIApplication):
2790
2565
  response.raise_for_status()
2791
2566
  return response.json()
2792
2567
 
2793
- def list_an_organization_s_scim_members(
2794
- self,
2795
- organization_id_or_slug,
2796
- startIndex=None,
2797
- count=None,
2798
- filter=None,
2799
- excludedAttributes=None,
2568
+ async def list_an_organization_s_scim_members(
2569
+ self, organization_id_or_slug, startIndex=None, count=None, filter=None, excludedAttributes=None
2800
2570
  ) -> dict[str, Any]:
2801
2571
  """
2802
2572
  Retrieves a list of users from the specified organization using SCIM 2.0, allowing pagination and filtering based on query parameters such as `startIndex`, `count`, and `filter`.
@@ -2819,21 +2589,14 @@ class SentryApp(APIApplication):
2819
2589
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Users"
2820
2590
  query_params = {
2821
2591
  k: v
2822
- for k, v in [
2823
- ("startIndex", startIndex),
2824
- ("count", count),
2825
- ("filter", filter),
2826
- ("excludedAttributes", excludedAttributes),
2827
- ]
2592
+ for k, v in [("startIndex", startIndex), ("count", count), ("filter", filter), ("excludedAttributes", excludedAttributes)]
2828
2593
  if v is not None
2829
2594
  }
2830
2595
  response = self._get(url, params=query_params)
2831
2596
  response.raise_for_status()
2832
2597
  return response.json()
2833
2598
 
2834
- def provision_a_new_organization_member(
2835
- self, organization_id_or_slug, userName, sentryOrgRole=None
2836
- ) -> dict[str, Any]:
2599
+ async def provision_a_new_organization_member(self, organization_id_or_slug, userName, sentryOrgRole=None) -> dict[str, Any]:
2837
2600
  """
2838
2601
  Creates a new user in an organization using the SCIM API by sending a POST request to the specified Users endpoint.
2839
2602
 
@@ -2860,10 +2623,7 @@ class SentryApp(APIApplication):
2860
2623
  """
2861
2624
  if organization_id_or_slug is None:
2862
2625
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
2863
- request_body = {
2864
- "userName": userName,
2865
- "sentryOrgRole": sentryOrgRole,
2866
- }
2626
+ request_body = {"userName": userName, "sentryOrgRole": sentryOrgRole}
2867
2627
  request_body = {k: v for k, v in request_body.items() if v is not None}
2868
2628
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Users"
2869
2629
  query_params = {}
@@ -2871,9 +2631,7 @@ class SentryApp(APIApplication):
2871
2631
  response.raise_for_status()
2872
2632
  return response.json()
2873
2633
 
2874
- def query_an_individual_organization_member(
2875
- self, organization_id_or_slug, member_id
2876
- ) -> dict[str, Any]:
2634
+ async def query_an_individual_organization_member(self, organization_id_or_slug, member_id) -> dict[str, Any]:
2877
2635
  """
2878
2636
  Retrieves a specific member's details within an organization using the SCIM API, based on the organization ID or slug and the member ID.
2879
2637
 
@@ -2897,9 +2655,7 @@ class SentryApp(APIApplication):
2897
2655
  response.raise_for_status()
2898
2656
  return response.json()
2899
2657
 
2900
- def update_an_organization_member_s_attributes(
2901
- self, organization_id_or_slug, member_id, Operations
2902
- ) -> Any:
2658
+ async def update_an_organization_member_s_attributes(self, organization_id_or_slug, member_id, Operations) -> Any:
2903
2659
  """
2904
2660
  Updates specific attributes of a SCIM user within an organization using a PATCH request.
2905
2661
 
@@ -2929,9 +2685,7 @@ class SentryApp(APIApplication):
2929
2685
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
2930
2686
  if member_id is None:
2931
2687
  raise ValueError("Missing required parameter 'member_id'")
2932
- request_body = {
2933
- "Operations": Operations,
2934
- }
2688
+ request_body = {"Operations": Operations}
2935
2689
  request_body = {k: v for k, v in request_body.items() if v is not None}
2936
2690
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Users/{member_id}"
2937
2691
  query_params = {}
@@ -2939,9 +2693,7 @@ class SentryApp(APIApplication):
2939
2693
  response.raise_for_status()
2940
2694
  return response.json()
2941
2695
 
2942
- def delete_an_organization_member_via_scim(
2943
- self, organization_id_or_slug, member_id
2944
- ) -> Any:
2696
+ async def delete_an_organization_member_via_scim(self, organization_id_or_slug, member_id) -> Any:
2945
2697
  """
2946
2698
  Deletes an organization member by ID using the SCIM API, requiring a valid admin token for authentication.
2947
2699
 
@@ -2965,7 +2717,7 @@ class SentryApp(APIApplication):
2965
2717
  response.raise_for_status()
2966
2718
  return response.json()
2967
2719
 
2968
- def retrieve_release_health_session_statistics(
2720
+ async def retrieve_release_health_session_statistics(
2969
2721
  self,
2970
2722
  organization_id_or_slug,
2971
2723
  field,
@@ -3033,7 +2785,7 @@ class SentryApp(APIApplication):
3033
2785
  response.raise_for_status()
3034
2786
  return response.json()
3035
2787
 
3036
- def get_organization_events_count_by_project(
2788
+ async def get_organization_events_count_by_project(
3037
2789
  self,
3038
2790
  organization_id_or_slug,
3039
2791
  field,
@@ -3092,7 +2844,7 @@ class SentryApp(APIApplication):
3092
2844
  response.raise_for_status()
3093
2845
  return response.json()
3094
2846
 
3095
- def get_organization_event_counts_v2(
2847
+ async def get_organization_event_counts_v2(
3096
2848
  self,
3097
2849
  organization_id_or_slug,
3098
2850
  groupBy,
@@ -3151,9 +2903,7 @@ class SentryApp(APIApplication):
3151
2903
  response.raise_for_status()
3152
2904
  return response.json()
3153
2905
 
3154
- def list_an_organization_s_teams(
3155
- self, organization_id_or_slug, detailed=None, cursor=None
3156
- ) -> list[Any]:
2906
+ async def list_an_organization_s_teams(self, organization_id_or_slug, detailed=None, cursor=None) -> list[Any]:
3157
2907
  """
3158
2908
  Retrieves a list of teams associated with the specified organization, optionally with detailed information and pagination support.
3159
2909
 
@@ -3171,18 +2921,12 @@ class SentryApp(APIApplication):
3171
2921
  if organization_id_or_slug is None:
3172
2922
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
3173
2923
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/teams/"
3174
- query_params = {
3175
- k: v
3176
- for k, v in [("detailed", detailed), ("cursor", cursor)]
3177
- if v is not None
3178
- }
2924
+ query_params = {k: v for k, v in [("detailed", detailed), ("cursor", cursor)] if v is not None}
3179
2925
  response = self._get(url, params=query_params)
3180
2926
  response.raise_for_status()
3181
2927
  return response.json()
3182
2928
 
3183
- def create_a_new_team(
3184
- self, organization_id_or_slug, slug=None, name=None
3185
- ) -> dict[str, Any]:
2929
+ async def create_a_new_team(self, organization_id_or_slug, slug=None, name=None) -> dict[str, Any]:
3186
2930
  """
3187
2931
  Creates a team within a specified organization using the provided JSON data and returns a status message upon successful creation.
3188
2932
 
@@ -3201,10 +2945,7 @@ class SentryApp(APIApplication):
3201
2945
  """
3202
2946
  if organization_id_or_slug is None:
3203
2947
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
3204
- request_body = {
3205
- "slug": slug,
3206
- "name": name,
3207
- }
2948
+ request_body = {"slug": slug, "name": name}
3208
2949
  request_body = {k: v for k, v in request_body.items() if v is not None}
3209
2950
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/teams/"
3210
2951
  query_params = {}
@@ -3212,9 +2953,7 @@ class SentryApp(APIApplication):
3212
2953
  response.raise_for_status()
3213
2954
  return response.json()
3214
2955
 
3215
- def list_a_user_s_teams_for_an_organization(
3216
- self, organization_id_or_slug
3217
- ) -> list[Any]:
2956
+ async def list_a_user_s_teams_for_an_organization(self, organization_id_or_slug) -> list[Any]:
3218
2957
  """
3219
2958
  Retrieves a list of user teams associated with the specified organization.
3220
2959
 
@@ -3229,17 +2968,13 @@ class SentryApp(APIApplication):
3229
2968
  """
3230
2969
  if organization_id_or_slug is None:
3231
2970
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
3232
- url = (
3233
- f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/user-teams/"
3234
- )
2971
+ url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/user-teams/"
3235
2972
  query_params = {}
3236
2973
  response = self._get(url, params=query_params)
3237
2974
  response.raise_for_status()
3238
2975
  return response.json()
3239
2976
 
3240
- def retrieve_a_project(
3241
- self, organization_id_or_slug, project_id_or_slug
3242
- ) -> dict[str, Any]:
2977
+ async def retrieve_a_project(self, organization_id_or_slug, project_id_or_slug) -> dict[str, Any]:
3243
2978
  """
3244
2979
  Retrieves details about a specific project within an organization using the organization ID or slug and project ID or slug.
3245
2980
 
@@ -3263,7 +2998,7 @@ class SentryApp(APIApplication):
3263
2998
  response.raise_for_status()
3264
2999
  return response.json()
3265
3000
 
3266
- def update_a_project(
3001
+ async def update_a_project(
3267
3002
  self,
3268
3003
  organization_id_or_slug,
3269
3004
  project_id_or_slug,
@@ -3328,7 +3063,7 @@ class SentryApp(APIApplication):
3328
3063
  response.raise_for_status()
3329
3064
  return response.json()
3330
3065
 
3331
- def delete_a_project(self, organization_id_or_slug, project_id_or_slug) -> Any:
3066
+ async def delete_a_project(self, organization_id_or_slug, project_id_or_slug) -> Any:
3332
3067
  """
3333
3068
  Deletes a project identified by the specified organization ID or slug and project ID or slug using the DELETE method, requiring admin authentication.
3334
3069
 
@@ -3352,9 +3087,7 @@ class SentryApp(APIApplication):
3352
3087
  response.raise_for_status()
3353
3088
  return response.json()
3354
3089
 
3355
- def list_a_project_s_environments(
3356
- self, organization_id_or_slug, project_id_or_slug, visibility=None
3357
- ) -> list[Any]:
3090
+ async def list_a_project_s_environments(self, organization_id_or_slug, project_id_or_slug, visibility=None) -> list[Any]:
3358
3091
  """
3359
3092
  Get a list of environments for a specified project within an organization, optionally filtered by visibility.
3360
3093
 
@@ -3379,9 +3112,7 @@ class SentryApp(APIApplication):
3379
3112
  response.raise_for_status()
3380
3113
  return response.json()
3381
3114
 
3382
- def retrieve_a_project_environment(
3383
- self, organization_id_or_slug, project_id_or_slug, environment
3384
- ) -> dict[str, Any]:
3115
+ async def retrieve_a_project_environment(self, organization_id_or_slug, project_id_or_slug, environment) -> dict[str, Any]:
3385
3116
  """
3386
3117
  Retrieves details for a specific environment within a project using the organization ID or slug, project ID or slug, and environment name.
3387
3118
 
@@ -3408,9 +3139,7 @@ class SentryApp(APIApplication):
3408
3139
  response.raise_for_status()
3409
3140
  return response.json()
3410
3141
 
3411
- def update_a_project_environment(
3412
- self, organization_id_or_slug, project_id_or_slug, environment, isHidden
3413
- ) -> dict[str, Any]:
3142
+ async def update_a_project_environment(self, organization_id_or_slug, project_id_or_slug, environment, isHidden) -> dict[str, Any]:
3414
3143
  """
3415
3144
  Updates the environment settings for a specific project using the provided JSON data and returns a status message.
3416
3145
 
@@ -3432,9 +3161,7 @@ class SentryApp(APIApplication):
3432
3161
  raise ValueError("Missing required parameter 'project_id_or_slug'")
3433
3162
  if environment is None:
3434
3163
  raise ValueError("Missing required parameter 'environment'")
3435
- request_body = {
3436
- "isHidden": isHidden,
3437
- }
3164
+ request_body = {"isHidden": isHidden}
3438
3165
  request_body = {k: v for k, v in request_body.items() if v is not None}
3439
3166
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/environments/{environment}/"
3440
3167
  query_params = {}
@@ -3442,13 +3169,8 @@ class SentryApp(APIApplication):
3442
3169
  response.raise_for_status()
3443
3170
  return response.json()
3444
3171
 
3445
- def list_a_project_s_error_events(
3446
- self,
3447
- organization_id_or_slug,
3448
- project_id_or_slug,
3449
- cursor=None,
3450
- full=None,
3451
- sample=None,
3172
+ async def list_a_project_s_error_events(
3173
+ self, organization_id_or_slug, project_id_or_slug, cursor=None, full=None, sample=None
3452
3174
  ) -> list[Any]:
3453
3175
  """
3454
3176
  Retrieves a list of events for a specific project in an organization using the provided identifiers and optional query parameters for pagination and data filtering.
@@ -3471,22 +3193,13 @@ class SentryApp(APIApplication):
3471
3193
  if project_id_or_slug is None:
3472
3194
  raise ValueError("Missing required parameter 'project_id_or_slug'")
3473
3195
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/events/"
3474
- query_params = {
3475
- k: v
3476
- for k, v in [("cursor", cursor), ("full", full), ("sample", sample)]
3477
- if v is not None
3478
- }
3196
+ query_params = {k: v for k, v in [("cursor", cursor), ("full", full), ("sample", sample)] if v is not None}
3479
3197
  response = self._get(url, params=query_params)
3480
3198
  response.raise_for_status()
3481
3199
  return response.json()
3482
3200
 
3483
- def debug_event_source_maps(
3484
- self,
3485
- organization_id_or_slug,
3486
- project_id_or_slug,
3487
- event_id,
3488
- frame_idx,
3489
- exception_idx,
3201
+ async def debug_event_source_maps(
3202
+ self, organization_id_or_slug, project_id_or_slug, event_id, frame_idx, exception_idx
3490
3203
  ) -> dict[str, Any]:
3491
3204
  """
3492
3205
  Retrieves source map debug information for a specific event within a project, using the `GET` method and requiring an organization ID or slug, project ID or slug, event ID, frame index, and exception index.
@@ -3511,18 +3224,12 @@ class SentryApp(APIApplication):
3511
3224
  if event_id is None:
3512
3225
  raise ValueError("Missing required parameter 'event_id'")
3513
3226
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/events/{event_id}/source-map-debug/"
3514
- query_params = {
3515
- k: v
3516
- for k, v in [("frame_idx", frame_idx), ("exception_idx", exception_idx)]
3517
- if v is not None
3518
- }
3227
+ query_params = {k: v for k, v in [("frame_idx", frame_idx), ("exception_idx", exception_idx)] if v is not None}
3519
3228
  response = self._get(url, params=query_params)
3520
3229
  response.raise_for_status()
3521
3230
  return response.json()
3522
3231
 
3523
- def list_a_project_s_data_filters(
3524
- self, organization_id_or_slug, project_id_or_slug
3525
- ) -> list[Any]:
3232
+ async def list_a_project_s_data_filters(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
3526
3233
  """
3527
3234
  Retrieves a list of filters for a project in a specified organization using the provided organization ID or slug and project ID or slug.
3528
3235
 
@@ -3546,13 +3253,8 @@ class SentryApp(APIApplication):
3546
3253
  response.raise_for_status()
3547
3254
  return response.json()
3548
3255
 
3549
- def update_an_inbound_data_filter(
3550
- self,
3551
- organization_id_or_slug,
3552
- project_id_or_slug,
3553
- filter_id,
3554
- active=None,
3555
- subfilters=None,
3256
+ async def update_an_inbound_data_filter(
3257
+ self, organization_id_or_slug, project_id_or_slug, filter_id, active=None, subfilters=None
3556
3258
  ) -> Any:
3557
3259
  """
3558
3260
  Updates a filter in a project using the organization ID or slug, project ID or slug, and filter ID, with the new filter details provided in the JSON body, requiring appropriate authentication for project administration or writing permissions.
@@ -3598,10 +3300,7 @@ class SentryApp(APIApplication):
3598
3300
  raise ValueError("Missing required parameter 'project_id_or_slug'")
3599
3301
  if filter_id is None:
3600
3302
  raise ValueError("Missing required parameter 'filter_id'")
3601
- request_body = {
3602
- "active": active,
3603
- "subfilters": subfilters,
3604
- }
3303
+ request_body = {"active": active, "subfilters": subfilters}
3605
3304
  request_body = {k: v for k, v in request_body.items() if v is not None}
3606
3305
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/filters/{filter_id}/"
3607
3306
  query_params = {}
@@ -3609,9 +3308,7 @@ class SentryApp(APIApplication):
3609
3308
  response.raise_for_status()
3610
3309
  return response.json()
3611
3310
 
3612
- def list_a_project_s_client_keys(
3613
- self, organization_id_or_slug, project_id_or_slug, cursor=None, status=None
3614
- ) -> list[Any]:
3311
+ async def list_a_project_s_client_keys(self, organization_id_or_slug, project_id_or_slug, cursor=None, status=None) -> list[Any]:
3615
3312
  """
3616
3313
  Retrieves a list of keys for a project, allowing optional filtering by status and pagination with a cursor.
3617
3314
 
@@ -3632,16 +3329,12 @@ class SentryApp(APIApplication):
3632
3329
  if project_id_or_slug is None:
3633
3330
  raise ValueError("Missing required parameter 'project_id_or_slug'")
3634
3331
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/"
3635
- query_params = {
3636
- k: v for k, v in [("cursor", cursor), ("status", status)] if v is not None
3637
- }
3332
+ query_params = {k: v for k, v in [("cursor", cursor), ("status", status)] if v is not None}
3638
3333
  response = self._get(url, params=query_params)
3639
3334
  response.raise_for_status()
3640
3335
  return response.json()
3641
3336
 
3642
- def create_a_new_client_key(
3643
- self, organization_id_or_slug, project_id_or_slug, name=None, rateLimit=None
3644
- ) -> dict[str, Any]:
3337
+ async def create_a_new_client_key(self, organization_id_or_slug, project_id_or_slug, name=None, rateLimit=None) -> dict[str, Any]:
3645
3338
  """
3646
3339
  Create a new key for a specific project within an organization by providing the necessary details in the request body.
3647
3340
 
@@ -3670,10 +3363,7 @@ class SentryApp(APIApplication):
3670
3363
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
3671
3364
  if project_id_or_slug is None:
3672
3365
  raise ValueError("Missing required parameter 'project_id_or_slug'")
3673
- request_body = {
3674
- "name": name,
3675
- "rateLimit": rateLimit,
3676
- }
3366
+ request_body = {"name": name, "rateLimit": rateLimit}
3677
3367
  request_body = {k: v for k, v in request_body.items() if v is not None}
3678
3368
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/"
3679
3369
  query_params = {}
@@ -3681,9 +3371,7 @@ class SentryApp(APIApplication):
3681
3371
  response.raise_for_status()
3682
3372
  return response.json()
3683
3373
 
3684
- def retrieve_a_client_key(
3685
- self, organization_id_or_slug, project_id_or_slug, key_id
3686
- ) -> dict[str, Any]:
3374
+ async def retrieve_a_client_key(self, organization_id_or_slug, project_id_or_slug, key_id) -> dict[str, Any]:
3687
3375
  """
3688
3376
  Retrieves details about a specific project key using the organization ID or slug and project ID or slug.
3689
3377
 
@@ -3710,7 +3398,7 @@ class SentryApp(APIApplication):
3710
3398
  response.raise_for_status()
3711
3399
  return response.json()
3712
3400
 
3713
- def update_a_client_key(
3401
+ async def update_a_client_key(
3714
3402
  self,
3715
3403
  organization_id_or_slug,
3716
3404
  project_id_or_slug,
@@ -3784,9 +3472,7 @@ class SentryApp(APIApplication):
3784
3472
  response.raise_for_status()
3785
3473
  return response.json()
3786
3474
 
3787
- def delete_a_client_key(
3788
- self, organization_id_or_slug, project_id_or_slug, key_id
3789
- ) -> Any:
3475
+ async def delete_a_client_key(self, organization_id_or_slug, project_id_or_slug, key_id) -> Any:
3790
3476
  """
3791
3477
  Deletes a specified API key within a project under an organization, requiring project admin authorization.
3792
3478
 
@@ -3813,9 +3499,7 @@ class SentryApp(APIApplication):
3813
3499
  response.raise_for_status()
3814
3500
  return response.json()
3815
3501
 
3816
- def list_a_project_s_organization_members(
3817
- self, organization_id_or_slug, project_id_or_slug
3818
- ) -> list[Any]:
3502
+ async def list_a_project_s_organization_members(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
3819
3503
  """
3820
3504
  Retrieves a list of members for a specific project within an organization using the provided organization ID or slug and project ID or slug.
3821
3505
 
@@ -3839,9 +3523,7 @@ class SentryApp(APIApplication):
3839
3523
  response.raise_for_status()
3840
3524
  return response.json()
3841
3525
 
3842
- def retrieve_a_monitor_for_a_project(
3843
- self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug
3844
- ) -> dict[str, Any]:
3526
+ async def retrieve_a_monitor_for_a_project(self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug) -> dict[str, Any]:
3845
3527
  """
3846
3528
  Retrieves details for a specific monitor within a project and organization using their respective IDs or slugs.
3847
3529
 
@@ -3868,17 +3550,8 @@ class SentryApp(APIApplication):
3868
3550
  response.raise_for_status()
3869
3551
  return response.json()
3870
3552
 
3871
- def update_a_monitor_for_a_project(
3872
- self,
3873
- organization_id_or_slug,
3874
- project_id_or_slug,
3875
- monitor_id_or_slug,
3876
- name,
3877
- type,
3878
- slug=None,
3879
- status=None,
3880
- owner=None,
3881
- is_muted=None,
3553
+ async def update_a_monitor_for_a_project(
3554
+ self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug, name, type, slug=None, status=None, owner=None, is_muted=None
3882
3555
  ) -> dict[str, Any]:
3883
3556
  """
3884
3557
  Updates a monitor in a project using the organization and project identifiers.
@@ -3909,14 +3582,7 @@ class SentryApp(APIApplication):
3909
3582
  raise ValueError("Missing required parameter 'project_id_or_slug'")
3910
3583
  if monitor_id_or_slug is None:
3911
3584
  raise ValueError("Missing required parameter 'monitor_id_or_slug'")
3912
- request_body = {
3913
- "name": name,
3914
- "type": type,
3915
- "slug": slug,
3916
- "status": status,
3917
- "owner": owner,
3918
- "is_muted": is_muted,
3919
- }
3585
+ request_body = {"name": name, "type": type, "slug": slug, "status": status, "owner": owner, "is_muted": is_muted}
3920
3586
  request_body = {k: v for k, v in request_body.items() if v is not None}
3921
3587
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/"
3922
3588
  query_params = {}
@@ -3924,12 +3590,8 @@ class SentryApp(APIApplication):
3924
3590
  response.raise_for_status()
3925
3591
  return response.json()
3926
3592
 
3927
- def delete_project_monitor_or_environments(
3928
- self,
3929
- organization_id_or_slug,
3930
- project_id_or_slug,
3931
- monitor_id_or_slug,
3932
- environment=None,
3593
+ async def delete_project_monitor_or_environments(
3594
+ self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug, environment=None
3933
3595
  ) -> Any:
3934
3596
  """
3935
3597
  Deletes a specific monitor from a project in an organization and returns an HTTP status indicating the outcome.
@@ -3953,14 +3615,12 @@ class SentryApp(APIApplication):
3953
3615
  if monitor_id_or_slug is None:
3954
3616
  raise ValueError("Missing required parameter 'monitor_id_or_slug'")
3955
3617
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/"
3956
- query_params = {
3957
- k: v for k, v in [("environment", environment)] if v is not None
3958
- }
3618
+ query_params = {k: v for k, v in [("environment", environment)] if v is not None}
3959
3619
  response = self._delete(url, params=query_params)
3960
3620
  response.raise_for_status()
3961
3621
  return response.json()
3962
3622
 
3963
- def retrieve_check_ins_for_a_monitor_by_project(
3623
+ async def retrieve_check_ins_for_a_monitor_by_project(
3964
3624
  self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug
3965
3625
  ) -> list[Any]:
3966
3626
  """
@@ -3989,9 +3649,7 @@ class SentryApp(APIApplication):
3989
3649
  response.raise_for_status()
3990
3650
  return response.json()
3991
3651
 
3992
- def get_project_ownership_config(
3993
- self, organization_id_or_slug, project_id_or_slug
3994
- ) -> dict[str, Any]:
3652
+ async def get_project_ownership_config(self, organization_id_or_slug, project_id_or_slug) -> dict[str, Any]:
3995
3653
  """
3996
3654
  Retrieves project ownership details for a specific project within an organization using the provided organization ID or slug and project ID or slug.
3997
3655
 
@@ -4015,14 +3673,8 @@ class SentryApp(APIApplication):
4015
3673
  response.raise_for_status()
4016
3674
  return response.json()
4017
3675
 
4018
- def update_project_ownership_config(
4019
- self,
4020
- organization_id_or_slug,
4021
- project_id_or_slug,
4022
- raw=None,
4023
- fallthrough=None,
4024
- autoAssignment=None,
4025
- codeownersAutoSync=None,
3676
+ async def update_project_ownership_config(
3677
+ self, organization_id_or_slug, project_id_or_slug, raw=None, fallthrough=None, autoAssignment=None, codeownersAutoSync=None
4026
3678
  ) -> dict[str, Any]:
4027
3679
  """
4028
3680
  Updates the ownership configuration for a specific project, allowing modification of ownership rules, fallthrough assignment, auto-assignment settings, and CODEOWNERS synchronization[1].
@@ -4048,12 +3700,7 @@ class SentryApp(APIApplication):
4048
3700
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
4049
3701
  if project_id_or_slug is None:
4050
3702
  raise ValueError("Missing required parameter 'project_id_or_slug'")
4051
- request_body = {
4052
- "raw": raw,
4053
- "fallthrough": fallthrough,
4054
- "autoAssignment": autoAssignment,
4055
- "codeownersAutoSync": codeownersAutoSync,
4056
- }
3703
+ request_body = {"raw": raw, "fallthrough": fallthrough, "autoAssignment": autoAssignment, "codeownersAutoSync": codeownersAutoSync}
4057
3704
  request_body = {k: v for k, v in request_body.items() if v is not None}
4058
3705
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/ownership/"
4059
3706
  query_params = {}
@@ -4061,9 +3708,7 @@ class SentryApp(APIApplication):
4061
3708
  response.raise_for_status()
4062
3709
  return response.json()
4063
3710
 
4064
- def delete_a_replay_instance(
4065
- self, organization_id_or_slug, project_id_or_slug, replay_id
4066
- ) -> Any:
3711
+ async def delete_a_replay_instance(self, organization_id_or_slug, project_id_or_slug, replay_id) -> Any:
4067
3712
  """
4068
3713
  Deletes a specified replay associated with a project and organization using its unique identifier.
4069
3714
 
@@ -4090,15 +3735,8 @@ class SentryApp(APIApplication):
4090
3735
  response.raise_for_status()
4091
3736
  return response.json()
4092
3737
 
4093
- def list_clicked_nodes(
4094
- self,
4095
- organization_id_or_slug,
4096
- project_id_or_slug,
4097
- replay_id,
4098
- cursor=None,
4099
- environment=None,
4100
- per_page=None,
4101
- query=None,
3738
+ async def list_clicked_nodes(
3739
+ self, organization_id_or_slug, project_id_or_slug, replay_id, cursor=None, environment=None, per_page=None, query=None
4102
3740
  ) -> dict[str, Any]:
4103
3741
  """
4104
3742
  Retrieves a list of user click events recorded during a specific replay session within a project and organization, with optional filtering and pagination.
@@ -4126,26 +3764,14 @@ class SentryApp(APIApplication):
4126
3764
  raise ValueError("Missing required parameter 'replay_id'")
4127
3765
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/{replay_id}/clicks/"
4128
3766
  query_params = {
4129
- k: v
4130
- for k, v in [
4131
- ("cursor", cursor),
4132
- ("environment", environment),
4133
- ("per_page", per_page),
4134
- ("query", query),
4135
- ]
4136
- if v is not None
3767
+ k: v for k, v in [("cursor", cursor), ("environment", environment), ("per_page", per_page), ("query", query)] if v is not None
4137
3768
  }
4138
3769
  response = self._get(url, params=query_params)
4139
3770
  response.raise_for_status()
4140
3771
  return response.json()
4141
3772
 
4142
- def list_recording_segments(
4143
- self,
4144
- organization_id_or_slug,
4145
- project_id_or_slug,
4146
- replay_id,
4147
- cursor=None,
4148
- per_page=None,
3773
+ async def list_recording_segments(
3774
+ self, organization_id_or_slug, project_id_or_slug, replay_id, cursor=None, per_page=None
4149
3775
  ) -> list[Any]:
4150
3776
  """
4151
3777
  Retrieves a paginated list of recording segments for a specified replay within a project and organization.
@@ -4170,18 +3796,12 @@ class SentryApp(APIApplication):
4170
3796
  if replay_id is None:
4171
3797
  raise ValueError("Missing required parameter 'replay_id'")
4172
3798
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/{replay_id}/recording-segments/"
4173
- query_params = {
4174
- k: v
4175
- for k, v in [("cursor", cursor), ("per_page", per_page)]
4176
- if v is not None
4177
- }
3799
+ query_params = {k: v for k, v in [("cursor", cursor), ("per_page", per_page)] if v is not None}
4178
3800
  response = self._get(url, params=query_params)
4179
3801
  response.raise_for_status()
4180
3802
  return response.json()
4181
3803
 
4182
- def retrieve_a_recording_segment(
4183
- self, organization_id_or_slug, project_id_or_slug, replay_id, segment_id
4184
- ) -> list[Any]:
3804
+ async def retrieve_a_recording_segment(self, organization_id_or_slug, project_id_or_slug, replay_id, segment_id) -> list[Any]:
4185
3805
  """
4186
3806
  Retrieves a specific recording segment from a replay within a project using the organization ID or slug and project ID or slug.
4187
3807
 
@@ -4211,9 +3831,7 @@ class SentryApp(APIApplication):
4211
3831
  response.raise_for_status()
4212
3832
  return response.json()
4213
3833
 
4214
- def list_users_who_have_viewed_a_replay(
4215
- self, organization_id_or_slug, project_id_or_slug, replay_id
4216
- ) -> dict[str, Any]:
3834
+ async def list_users_who_have_viewed_a_replay(self, organization_id_or_slug, project_id_or_slug, replay_id) -> dict[str, Any]:
4217
3835
  """
4218
3836
  Get a list of users who have viewed a specific replay in a project within an organization.
4219
3837
 
@@ -4240,9 +3858,7 @@ class SentryApp(APIApplication):
4240
3858
  response.raise_for_status()
4241
3859
  return response.json()
4242
3860
 
4243
- def list_a_project_s_issue_alert_rules(
4244
- self, organization_id_or_slug, project_id_or_slug
4245
- ) -> list[Any]:
3861
+ async def list_a_project_s_issue_alert_rules(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
4246
3862
  """
4247
3863
  Retrieves the list of rules configured for a specified project within an organization.
4248
3864
 
@@ -4266,7 +3882,7 @@ class SentryApp(APIApplication):
4266
3882
  response.raise_for_status()
4267
3883
  return response.json()
4268
3884
 
4269
- def create_an_issue_alert_rule_for_a_project(
3885
+ async def create_an_issue_alert_rule_for_a_project(
4270
3886
  self,
4271
3887
  organization_id_or_slug,
4272
3888
  project_id_or_slug,
@@ -4679,9 +4295,7 @@ class SentryApp(APIApplication):
4679
4295
  response.raise_for_status()
4680
4296
  return response.json()
4681
4297
 
4682
- def retrieve_an_issue_alert_rule_for_a_project(
4683
- self, organization_id_or_slug, project_id_or_slug, rule_id
4684
- ) -> dict[str, Any]:
4298
+ async def retrieve_an_issue_alert_rule_for_a_project(self, organization_id_or_slug, project_id_or_slug, rule_id) -> dict[str, Any]:
4685
4299
  """
4686
4300
  Retrieves information about a specific rule in a project using the organization ID or slug, project ID or slug, and rule ID.
4687
4301
 
@@ -4708,7 +4322,7 @@ class SentryApp(APIApplication):
4708
4322
  response.raise_for_status()
4709
4323
  return response.json()
4710
4324
 
4711
- def update_an_issue_alert_rule(
4325
+ async def update_an_issue_alert_rule(
4712
4326
  self,
4713
4327
  organization_id_or_slug,
4714
4328
  project_id_or_slug,
@@ -4778,9 +4392,7 @@ class SentryApp(APIApplication):
4778
4392
  response.raise_for_status()
4779
4393
  return response.json()
4780
4394
 
4781
- def delete_an_issue_alert_rule(
4782
- self, organization_id_or_slug, project_id_or_slug, rule_id
4783
- ) -> Any:
4395
+ async def delete_an_issue_alert_rule(self, organization_id_or_slug, project_id_or_slug, rule_id) -> Any:
4784
4396
  """
4785
4397
  Deletes a specific rule from a project within an organization by rule ID.
4786
4398
 
@@ -4807,9 +4419,7 @@ class SentryApp(APIApplication):
4807
4419
  response.raise_for_status()
4808
4420
  return response.json()
4809
4421
 
4810
- def retrieve_a_project_s_symbol_sources(
4811
- self, organization_id_or_slug, project_id_or_slug, id=None
4812
- ) -> list[Any]:
4422
+ async def retrieve_a_project_s_symbol_sources(self, organization_id_or_slug, project_id_or_slug, id=None) -> list[Any]:
4813
4423
  """
4814
4424
  Retrieves a list of symbol sources for a specified project within an organization using the provided organization and project identifiers.
4815
4425
 
@@ -4834,7 +4444,7 @@ class SentryApp(APIApplication):
4834
4444
  response.raise_for_status()
4835
4445
  return response.json()
4836
4446
 
4837
- def add_a_symbol_source_to_a_project(
4447
+ async def add_a_symbol_source_to_a_project(
4838
4448
  self,
4839
4449
  organization_id_or_slug,
4840
4450
  project_id_or_slug,
@@ -4955,7 +4565,7 @@ class SentryApp(APIApplication):
4955
4565
  response.raise_for_status()
4956
4566
  return response.json()
4957
4567
 
4958
- def update_a_project_s_symbol_source(
4568
+ async def update_a_project_s_symbol_source(
4959
4569
  self,
4960
4570
  organization_id_or_slug,
4961
4571
  project_id_or_slug,
@@ -5078,9 +4688,7 @@ class SentryApp(APIApplication):
5078
4688
  response.raise_for_status()
5079
4689
  return response.json()
5080
4690
 
5081
- def delete_a_symbol_source_from_a_project(
5082
- self, organization_id_or_slug, project_id_or_slug, id
5083
- ) -> Any:
4691
+ async def delete_a_symbol_source_from_a_project(self, organization_id_or_slug, project_id_or_slug, id) -> Any:
5084
4692
  """
5085
4693
  Deletes symbol sources from a specific project identified by organization ID or slug and project ID or slug using the provided ID, requiring project admin authentication.
5086
4694
 
@@ -5105,9 +4713,7 @@ class SentryApp(APIApplication):
5105
4713
  response.raise_for_status()
5106
4714
  return response.json()
5107
4715
 
5108
- def list_a_project_s_teams(
5109
- self, organization_id_or_slug, project_id_or_slug
5110
- ) -> list[Any]:
4716
+ async def list_a_project_s_teams(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
5111
4717
  """
5112
4718
  Retrieves a list of teams within a specified project using the provided organization and project identifiers.
5113
4719
 
@@ -5131,9 +4737,7 @@ class SentryApp(APIApplication):
5131
4737
  response.raise_for_status()
5132
4738
  return response.json()
5133
4739
 
5134
- def add_a_team_to_a_project(
5135
- self, organization_id_or_slug, project_id_or_slug, team_id_or_slug
5136
- ) -> dict[str, Any]:
4740
+ async def add_a_team_to_a_project(self, organization_id_or_slug, project_id_or_slug, team_id_or_slug) -> dict[str, Any]:
5137
4741
  """
5138
4742
  Adds a specified team to a project within an organization and returns a response indicating successful creation.
5139
4743
 
@@ -5160,9 +4764,7 @@ class SentryApp(APIApplication):
5160
4764
  response.raise_for_status()
5161
4765
  return response.json()
5162
4766
 
5163
- def delete_a_team_from_a_project(
5164
- self, organization_id_or_slug, project_id_or_slug, team_id_or_slug
5165
- ) -> dict[str, Any]:
4767
+ async def delete_a_team_from_a_project(self, organization_id_or_slug, project_id_or_slug, team_id_or_slug) -> dict[str, Any]:
5166
4768
  """
5167
4769
  Deletes a team from a project within a specified organization using the API with appropriate permissions.
5168
4770
 
@@ -5189,9 +4791,7 @@ class SentryApp(APIApplication):
5189
4791
  response.raise_for_status()
5190
4792
  return response.json()
5191
4793
 
5192
- def retrieve_a_team(
5193
- self, organization_id_or_slug, team_id_or_slug, expand=None, collapse=None
5194
- ) -> dict[str, Any]:
4794
+ async def retrieve_a_team(self, organization_id_or_slug, team_id_or_slug, expand=None, collapse=None) -> dict[str, Any]:
5195
4795
  """
5196
4796
  Retrieves information about a team within an organization using the provided organization ID or slug and team ID or slug, allowing optional expansion or collapse of additional details.
5197
4797
 
@@ -5211,21 +4811,13 @@ class SentryApp(APIApplication):
5211
4811
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
5212
4812
  if team_id_or_slug is None:
5213
4813
  raise ValueError("Missing required parameter 'team_id_or_slug'")
5214
- url = (
5215
- f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
5216
- )
5217
- query_params = {
5218
- k: v
5219
- for k, v in [("expand", expand), ("collapse", collapse)]
5220
- if v is not None
5221
- }
4814
+ url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
4815
+ query_params = {k: v for k, v in [("expand", expand), ("collapse", collapse)] if v is not None}
5222
4816
  response = self._get(url, params=query_params)
5223
4817
  response.raise_for_status()
5224
4818
  return response.json()
5225
4819
 
5226
- def update_a_team(
5227
- self, organization_id_or_slug, team_id_or_slug, slug
5228
- ) -> dict[str, Any]:
4820
+ async def update_a_team(self, organization_id_or_slug, team_id_or_slug, slug) -> dict[str, Any]:
5229
4821
  """
5230
4822
  Updates the details of a specified team within a given organization using the provided data and requires administrative or write permissions.
5231
4823
 
@@ -5244,19 +4836,15 @@ class SentryApp(APIApplication):
5244
4836
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
5245
4837
  if team_id_or_slug is None:
5246
4838
  raise ValueError("Missing required parameter 'team_id_or_slug'")
5247
- request_body = {
5248
- "slug": slug,
5249
- }
4839
+ request_body = {"slug": slug}
5250
4840
  request_body = {k: v for k, v in request_body.items() if v is not None}
5251
- url = (
5252
- f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
5253
- )
4841
+ url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
5254
4842
  query_params = {}
5255
4843
  response = self._put(url, data=request_body, params=query_params)
5256
4844
  response.raise_for_status()
5257
4845
  return response.json()
5258
4846
 
5259
- def delete_a_team(self, organization_id_or_slug, team_id_or_slug) -> Any:
4847
+ async def delete_a_team(self, organization_id_or_slug, team_id_or_slug) -> Any:
5260
4848
  """
5261
4849
  Deletes a team from an organization using the provided organization ID or slug and team ID or slug, requiring the team admin authentication token for authorization.
5262
4850
 
@@ -5274,22 +4862,14 @@ class SentryApp(APIApplication):
5274
4862
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
5275
4863
  if team_id_or_slug is None:
5276
4864
  raise ValueError("Missing required parameter 'team_id_or_slug'")
5277
- url = (
5278
- f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
5279
- )
4865
+ url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
5280
4866
  query_params = {}
5281
4867
  response = self._delete(url, params=query_params)
5282
4868
  response.raise_for_status()
5283
4869
  return response.json()
5284
4870
 
5285
- def create_an_external_team(
5286
- self,
5287
- organization_id_or_slug,
5288
- team_id_or_slug,
5289
- external_name,
5290
- provider,
5291
- integration_id,
5292
- external_id=None,
4871
+ async def create_an_external_team(
4872
+ self, organization_id_or_slug, team_id_or_slug, external_name, provider, integration_id, external_id=None
5293
4873
  ) -> dict[str, Any]:
5294
4874
  """
5295
4875
  Create a new external team associated with a specified organization and team using the provided JSON data.
@@ -5319,12 +4899,7 @@ class SentryApp(APIApplication):
5319
4899
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
5320
4900
  if team_id_or_slug is None:
5321
4901
  raise ValueError("Missing required parameter 'team_id_or_slug'")
5322
- request_body = {
5323
- "external_name": external_name,
5324
- "provider": provider,
5325
- "integration_id": integration_id,
5326
- "external_id": external_id,
5327
- }
4902
+ request_body = {"external_name": external_name, "provider": provider, "integration_id": integration_id, "external_id": external_id}
5328
4903
  request_body = {k: v for k, v in request_body.items() if v is not None}
5329
4904
  url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/external-teams/"
5330
4905
  query_params = {}
@@ -5332,15 +4907,8 @@ class SentryApp(APIApplication):
5332
4907
  response.raise_for_status()
5333
4908
  return response.json()
5334
4909
 
5335
- def update_an_external_team(
5336
- self,
5337
- organization_id_or_slug,
5338
- team_id_or_slug,
5339
- external_team_id,
5340
- external_name,
5341
- provider,
5342
- integration_id,
5343
- external_id=None,
4910
+ async def update_an_external_team(
4911
+ self, organization_id_or_slug, team_id_or_slug, external_team_id, external_name, provider, integration_id, external_id=None
5344
4912
  ) -> dict[str, Any]:
5345
4913
  """
5346
4914
  Updates an external team's details for a specified team and organization, requiring admin or write permissions, with the request body containing the updated data.
@@ -5373,12 +4941,7 @@ class SentryApp(APIApplication):
5373
4941
  raise ValueError("Missing required parameter 'team_id_or_slug'")
5374
4942
  if external_team_id is None:
5375
4943
  raise ValueError("Missing required parameter 'external_team_id'")
5376
- request_body = {
5377
- "external_name": external_name,
5378
- "provider": provider,
5379
- "integration_id": integration_id,
5380
- "external_id": external_id,
5381
- }
4944
+ request_body = {"external_name": external_name, "provider": provider, "integration_id": integration_id, "external_id": external_id}
5382
4945
  request_body = {k: v for k, v in request_body.items() if v is not None}
5383
4946
  url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/external-teams/{external_team_id}/"
5384
4947
  query_params = {}
@@ -5386,9 +4949,7 @@ class SentryApp(APIApplication):
5386
4949
  response.raise_for_status()
5387
4950
  return response.json()
5388
4951
 
5389
- def delete_an_external_team(
5390
- self, organization_id_or_slug, team_id_or_slug, external_team_id
5391
- ) -> Any:
4952
+ async def delete_an_external_team(self, organization_id_or_slug, team_id_or_slug, external_team_id) -> Any:
5392
4953
  """
5393
4954
  Deletes an external team association with the specified team in an organization using the provided organization identifier, team identifier, and external team ID.
5394
4955
 
@@ -5415,9 +4976,7 @@ class SentryApp(APIApplication):
5415
4976
  response.raise_for_status()
5416
4977
  return response.json()
5417
4978
 
5418
- def list_a_team_s_members(
5419
- self, organization_id_or_slug, team_id_or_slug, cursor=None
5420
- ) -> list[Any]:
4979
+ async def list_a_team_s_members(self, organization_id_or_slug, team_id_or_slug, cursor=None) -> list[Any]:
5421
4980
  """
5422
4981
  Retrieves a list of members belonging to the specified team within the given organization, supporting pagination via a cursor parameter.
5423
4982
 
@@ -5442,9 +5001,7 @@ class SentryApp(APIApplication):
5442
5001
  response.raise_for_status()
5443
5002
  return response.json()
5444
5003
 
5445
- def list_a_team_s_projects(
5446
- self, organization_id_or_slug, team_id_or_slug, cursor=None
5447
- ) -> list[Any]:
5004
+ async def list_a_team_s_projects(self, organization_id_or_slug, team_id_or_slug, cursor=None) -> list[Any]:
5448
5005
  """
5449
5006
  Retrieves a paginated list of projects associated with a specific team within an organization, using optional cursor-based pagination.
5450
5007
 
@@ -5469,14 +5026,8 @@ class SentryApp(APIApplication):
5469
5026
  response.raise_for_status()
5470
5027
  return response.json()
5471
5028
 
5472
- def create_a_new_project(
5473
- self,
5474
- organization_id_or_slug,
5475
- team_id_or_slug,
5476
- name,
5477
- slug=None,
5478
- platform=None,
5479
- default_rules=None,
5029
+ async def create_a_new_project(
5030
+ self, organization_id_or_slug, team_id_or_slug, name, slug=None, platform=None, default_rules=None
5480
5031
  ) -> dict[str, Any]:
5481
5032
  """
5482
5033
  Creates a new project within the specified team and organization using provided details and returns the project resource upon success.
@@ -5504,12 +5055,7 @@ class SentryApp(APIApplication):
5504
5055
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
5505
5056
  if team_id_or_slug is None:
5506
5057
  raise ValueError("Missing required parameter 'team_id_or_slug'")
5507
- request_body = {
5508
- "name": name,
5509
- "slug": slug,
5510
- "platform": platform,
5511
- "default_rules": default_rules,
5512
- }
5058
+ request_body = {"name": name, "slug": slug, "platform": platform, "default_rules": default_rules}
5513
5059
  request_body = {k: v for k, v in request_body.items() if v is not None}
5514
5060
  url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/projects/"
5515
5061
  query_params = {}
@@ -5517,7 +5063,7 @@ class SentryApp(APIApplication):
5517
5063
  response.raise_for_status()
5518
5064
  return response.json()
5519
5065
 
5520
- def list_user_emails(self, user_id) -> list[Any]:
5066
+ async def list_user_emails(self, user_id) -> list[Any]:
5521
5067
  """
5522
5068
  Retrieves a list of email addresses associated with the specified user ID, requiring authentication.
5523
5069
 
@@ -5538,7 +5084,7 @@ class SentryApp(APIApplication):
5538
5084
  response.raise_for_status()
5539
5085
  return response.json()
5540
5086
 
5541
- def add_a_secondary_email_address(self, user_id, email) -> list[Any]:
5087
+ async def add_a_secondary_email_address(self, user_id, email) -> list[Any]:
5542
5088
  """
5543
5089
  Adds a new email address for a specified user using the provided JSON data and returns a success message.
5544
5090
 
@@ -5554,9 +5100,7 @@ class SentryApp(APIApplication):
5554
5100
  """
5555
5101
  if user_id is None:
5556
5102
  raise ValueError("Missing required parameter 'user_id'")
5557
- request_body = {
5558
- "email": email,
5559
- }
5103
+ request_body = {"email": email}
5560
5104
  request_body = {k: v for k, v in request_body.items() if v is not None}
5561
5105
  url = f"{self.base_url}/api/0/users/{user_id}/emails/"
5562
5106
  query_params = {}
@@ -5564,7 +5108,7 @@ class SentryApp(APIApplication):
5564
5108
  response.raise_for_status()
5565
5109
  return response.json()
5566
5110
 
5567
- def update_a_primary_email_address(self, user_id, email) -> list[Any]:
5111
+ async def update_a_primary_email_address(self, user_id, email) -> list[Any]:
5568
5112
  """
5569
5113
  Updates the email address of a user specified by the `user_id` using the provided JSON data in the request body.
5570
5114
 
@@ -5580,9 +5124,7 @@ class SentryApp(APIApplication):
5580
5124
  """
5581
5125
  if user_id is None:
5582
5126
  raise ValueError("Missing required parameter 'user_id'")
5583
- request_body = {
5584
- "email": email,
5585
- }
5127
+ request_body = {"email": email}
5586
5128
  request_body = {k: v for k, v in request_body.items() if v is not None}
5587
5129
  url = f"{self.base_url}/api/0/users/{user_id}/emails/"
5588
5130
  query_params = {}
@@ -5590,7 +5132,7 @@ class SentryApp(APIApplication):
5590
5132
  response.raise_for_status()
5591
5133
  return response.json()
5592
5134
 
5593
- def remove_an_email_address(self, user_id) -> Any:
5135
+ async def remove_an_email_address(self, user_id) -> Any:
5594
5136
  """
5595
5137
  Deletes a user's email configurations associated with the specified user ID using the DELETE method.
5596
5138
 
@@ -5611,14 +5153,8 @@ class SentryApp(APIApplication):
5611
5153
  response.raise_for_status()
5612
5154
  return response.json()
5613
5155
 
5614
- def retrieve_event_counts_for_a_team(
5615
- self,
5616
- organization_id_or_slug,
5617
- team_id_or_slug,
5618
- stat=None,
5619
- since=None,
5620
- until=None,
5621
- resolution=None,
5156
+ async def retrieve_event_counts_for_a_team(
5157
+ self, organization_id_or_slug, team_id_or_slug, stat=None, since=None, until=None, resolution=None
5622
5158
  ) -> list[Any]:
5623
5159
  """
5624
5160
  Retrieves team statistics for a specified organization and team, allowing filtering by specific stat, date range, and resolution.
@@ -5642,21 +5178,12 @@ class SentryApp(APIApplication):
5642
5178
  if team_id_or_slug is None:
5643
5179
  raise ValueError("Missing required parameter 'team_id_or_slug'")
5644
5180
  url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/stats/"
5645
- query_params = {
5646
- k: v
5647
- for k, v in [
5648
- ("stat", stat),
5649
- ("since", since),
5650
- ("until", until),
5651
- ("resolution", resolution),
5652
- ]
5653
- if v is not None
5654
- }
5181
+ query_params = {k: v for k, v in [("stat", stat), ("since", since), ("until", until), ("resolution", resolution)] if v is not None}
5655
5182
  response = self._get(url, params=query_params)
5656
5183
  response.raise_for_status()
5657
5184
  return response.json()
5658
5185
 
5659
- def resolve_an_event_id(self, organization_id_or_slug, event_id) -> dict[str, Any]:
5186
+ async def resolve_an_event_id(self, organization_id_or_slug, event_id) -> dict[str, Any]:
5660
5187
  """
5661
5188
  Retrieves event details for a specific event within an organization identified by the provided organization ID or slug and event ID.
5662
5189
 
@@ -5680,7 +5207,7 @@ class SentryApp(APIApplication):
5680
5207
  response.raise_for_status()
5681
5208
  return response.json()
5682
5209
 
5683
- def list_an_organization_s_repositories(self, organization_id_or_slug) -> list[Any]:
5210
+ async def list_an_organization_s_repositories(self, organization_id_or_slug) -> list[Any]:
5684
5211
  """
5685
5212
  Retrieves a list of repositories for the specified organization identified by its ID or slug, requiring organization read authorization.
5686
5213
 
@@ -5701,9 +5228,7 @@ class SentryApp(APIApplication):
5701
5228
  response.raise_for_status()
5702
5229
  return response.json()
5703
5230
 
5704
- def list_a_repository_s_commits(
5705
- self, organization_id_or_slug, repo_id
5706
- ) -> list[Any]:
5231
+ async def list_a_repository_s_commits(self, organization_id_or_slug, repo_id) -> list[Any]:
5707
5232
  """
5708
5233
  Retrieves a list of commits from a specified repository within an organization, requiring read access for authentication.
5709
5234
 
@@ -5727,7 +5252,7 @@ class SentryApp(APIApplication):
5727
5252
  response.raise_for_status()
5728
5253
  return response.json()
5729
5254
 
5730
- def resolve_a_short_id(self, organization_id_or_slug, short_id) -> dict[str, Any]:
5255
+ async def resolve_a_short_id(self, organization_id_or_slug, short_id) -> dict[str, Any]:
5731
5256
  """
5732
5257
  Retrieves information for a specific short ID within an organization using the provided organization ID or slug.
5733
5258
 
@@ -5751,7 +5276,7 @@ class SentryApp(APIApplication):
5751
5276
  response.raise_for_status()
5752
5277
  return response.json()
5753
5278
 
5754
- def list_your_projects(self, cursor=None) -> list[Any]:
5279
+ async def list_your_projects(self, cursor=None) -> list[Any]:
5755
5280
  """
5756
5281
  Get a list of projects accessible to the user, optionally paginated using a cursor.
5757
5282
 
@@ -5770,9 +5295,7 @@ class SentryApp(APIApplication):
5770
5295
  response.raise_for_status()
5771
5296
  return response.json()
5772
5297
 
5773
- def list_project_debug_files(
5774
- self, organization_id_or_slug, project_id_or_slug
5775
- ) -> Any:
5298
+ async def list_project_debug_files(self, organization_id_or_slug, project_id_or_slug) -> Any:
5776
5299
  """
5777
5300
  Retrieves a list of dSYM files for a specific project within an organization using the provided organization ID or slug and project ID or slug.
5778
5301
 
@@ -5796,9 +5319,7 @@ class SentryApp(APIApplication):
5796
5319
  response.raise_for_status()
5797
5320
  return response.json()
5798
5321
 
5799
- def delete_project_debug_file(
5800
- self, organization_id_or_slug, project_id_or_slug, id
5801
- ) -> Any:
5322
+ async def delete_project_debug_file(self, organization_id_or_slug, project_id_or_slug, id) -> Any:
5802
5323
  """
5803
5324
  Deletes a dSYM file from a project using its ID, requiring a write authorization token for the project.
5804
5325
 
@@ -5823,9 +5344,7 @@ class SentryApp(APIApplication):
5823
5344
  response.raise_for_status()
5824
5345
  return response.json()
5825
5346
 
5826
- def list_a_project_s_users(
5827
- self, organization_id_or_slug, project_id_or_slug, query=None
5828
- ) -> list[Any]:
5347
+ async def list_a_project_s_users(self, organization_id_or_slug, project_id_or_slug, query=None) -> list[Any]:
5829
5348
  """
5830
5349
  Retrieves a list of users associated with a specified project within an organization, optionally filtered by a query parameter.
5831
5350
 
@@ -5850,9 +5369,7 @@ class SentryApp(APIApplication):
5850
5369
  response.raise_for_status()
5851
5370
  return response.json()
5852
5371
 
5853
- def list_a_tag_s_values(
5854
- self, organization_id_or_slug, project_id_or_slug, key
5855
- ) -> list[Any]:
5372
+ async def list_a_tag_s_values(self, organization_id_or_slug, project_id_or_slug, key) -> list[Any]:
5856
5373
  """
5857
5374
  Retrieves a list of values for a specific tag key within a project, using the organization ID or slug and project ID or slug.
5858
5375
 
@@ -5879,14 +5396,8 @@ class SentryApp(APIApplication):
5879
5396
  response.raise_for_status()
5880
5397
  return response.json()
5881
5398
 
5882
- def retrieve_event_counts_for_a_project(
5883
- self,
5884
- organization_id_or_slug,
5885
- project_id_or_slug,
5886
- stat=None,
5887
- since=None,
5888
- until=None,
5889
- resolution=None,
5399
+ async def retrieve_event_counts_for_a_project(
5400
+ self, organization_id_or_slug, project_id_or_slug, stat=None, since=None, until=None, resolution=None
5890
5401
  ) -> list[Any]:
5891
5402
  """
5892
5403
  Retrieves statistics for a specific project within an organization, optionally filtered by stat type, time range, and resolution.
@@ -5910,23 +5421,12 @@ class SentryApp(APIApplication):
5910
5421
  if project_id_or_slug is None:
5911
5422
  raise ValueError("Missing required parameter 'project_id_or_slug'")
5912
5423
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/stats/"
5913
- query_params = {
5914
- k: v
5915
- for k, v in [
5916
- ("stat", stat),
5917
- ("since", since),
5918
- ("until", until),
5919
- ("resolution", resolution),
5920
- ]
5921
- if v is not None
5922
- }
5424
+ query_params = {k: v for k, v in [("stat", stat), ("since", since), ("until", until), ("resolution", resolution)] if v is not None}
5923
5425
  response = self._get(url, params=query_params)
5924
5426
  response.raise_for_status()
5925
5427
  return response.json()
5926
5428
 
5927
- def list_a_project_s_user_feedback(
5928
- self, organization_id_or_slug, project_id_or_slug
5929
- ) -> list[Any]:
5429
+ async def list_a_project_s_user_feedback(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
5930
5430
  """
5931
5431
  Retrieves a list of user feedback items for a specified project within an organization.
5932
5432
 
@@ -5950,14 +5450,8 @@ class SentryApp(APIApplication):
5950
5450
  response.raise_for_status()
5951
5451
  return response.json()
5952
5452
 
5953
- def submit_user_feedback(
5954
- self,
5955
- organization_id_or_slug,
5956
- project_id_or_slug,
5957
- event_id=None,
5958
- name=None,
5959
- email=None,
5960
- comments=None,
5453
+ async def submit_user_feedback(
5454
+ self, organization_id_or_slug, project_id_or_slug, event_id=None, name=None, email=None, comments=None
5961
5455
  ) -> dict[str, Any]:
5962
5456
  """
5963
5457
  Submits user feedback for a specific project within an organization using the provided JSON body and authenticates via an authentication token with project write permissions.
@@ -5989,12 +5483,7 @@ class SentryApp(APIApplication):
5989
5483
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
5990
5484
  if project_id_or_slug is None:
5991
5485
  raise ValueError("Missing required parameter 'project_id_or_slug'")
5992
- request_body = {
5993
- "event_id": event_id,
5994
- "name": name,
5995
- "email": email,
5996
- "comments": comments,
5997
- }
5486
+ request_body = {"event_id": event_id, "name": name, "email": email, "comments": comments}
5998
5487
  request_body = {k: v for k, v in request_body.items() if v is not None}
5999
5488
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/user-feedback/"
6000
5489
  query_params = {}
@@ -6002,9 +5491,7 @@ class SentryApp(APIApplication):
6002
5491
  response.raise_for_status()
6003
5492
  return response.json()
6004
5493
 
6005
- def list_a_project_s_service_hooks(
6006
- self, organization_id_or_slug, project_id_or_slug, cursor=None
6007
- ) -> list[Any]:
5494
+ async def list_a_project_s_service_hooks(self, organization_id_or_slug, project_id_or_slug, cursor=None) -> list[Any]:
6008
5495
  """
6009
5496
  Retrieves a list of hooks for a specific project within an organization using the project and organization identifiers.
6010
5497
 
@@ -6029,9 +5516,7 @@ class SentryApp(APIApplication):
6029
5516
  response.raise_for_status()
6030
5517
  return response.json()
6031
5518
 
6032
- def register_a_new_service_hook(
6033
- self, organization_id_or_slug, project_id_or_slug, url, events
6034
- ) -> dict[str, Any]:
5519
+ async def register_a_new_service_hook(self, organization_id_or_slug, project_id_or_slug, url, events) -> dict[str, Any]:
6035
5520
  """
6036
5521
  Creates a new webhook for the specified project within an organization and returns a success status upon creation.
6037
5522
 
@@ -6061,10 +5546,7 @@ class SentryApp(APIApplication):
6061
5546
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
6062
5547
  if project_id_or_slug is None:
6063
5548
  raise ValueError("Missing required parameter 'project_id_or_slug'")
6064
- request_body = {
6065
- "url": url,
6066
- "events": events,
6067
- }
5549
+ request_body = {"url": url, "events": events}
6068
5550
  request_body = {k: v for k, v in request_body.items() if v is not None}
6069
5551
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/hooks/"
6070
5552
  query_params = {}
@@ -6072,9 +5554,7 @@ class SentryApp(APIApplication):
6072
5554
  response.raise_for_status()
6073
5555
  return response.json()
6074
5556
 
6075
- def retrieve_a_service_hook(
6076
- self, organization_id_or_slug, project_id_or_slug, hook_id
6077
- ) -> dict[str, Any]:
5557
+ async def retrieve_a_service_hook(self, organization_id_or_slug, project_id_or_slug, hook_id) -> dict[str, Any]:
6078
5558
  """
6079
5559
  Retrieves a specific hook from a project using organization and project identifiers.
6080
5560
 
@@ -6101,14 +5581,7 @@ class SentryApp(APIApplication):
6101
5581
  response.raise_for_status()
6102
5582
  return response.json()
6103
5583
 
6104
- def update_a_service_hook(
6105
- self,
6106
- organization_id_or_slug,
6107
- project_id_or_slug,
6108
- hook_id,
6109
- url=None,
6110
- events=None,
6111
- ) -> dict[str, Any]:
5584
+ async def update_a_service_hook(self, organization_id_or_slug, project_id_or_slug, hook_id, url=None, events=None) -> dict[str, Any]:
6112
5585
  """
6113
5586
  Updates a specific hook in a project using the provided JSON payload and returns a success response upon completion.
6114
5587
 
@@ -6141,10 +5614,7 @@ class SentryApp(APIApplication):
6141
5614
  raise ValueError("Missing required parameter 'project_id_or_slug'")
6142
5615
  if hook_id is None:
6143
5616
  raise ValueError("Missing required parameter 'hook_id'")
6144
- request_body = {
6145
- "url": url,
6146
- "events": events,
6147
- }
5617
+ request_body = {"url": url, "events": events}
6148
5618
  request_body = {k: v for k, v in request_body.items() if v is not None}
6149
5619
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/hooks/{hook_id}/"
6150
5620
  query_params = {}
@@ -6152,9 +5622,7 @@ class SentryApp(APIApplication):
6152
5622
  response.raise_for_status()
6153
5623
  return response.json()
6154
5624
 
6155
- def remove_a_service_hook(
6156
- self, organization_id_or_slug, project_id_or_slug, hook_id
6157
- ) -> Any:
5625
+ async def remove_a_service_hook(self, organization_id_or_slug, project_id_or_slug, hook_id) -> Any:
6158
5626
  """
6159
5627
  Deletes a webhook hook identified by the specified hook ID within a project, requiring administrative privileges for the project.
6160
5628
 
@@ -6181,9 +5649,7 @@ class SentryApp(APIApplication):
6181
5649
  response.raise_for_status()
6182
5650
  return response.json()
6183
5651
 
6184
- def retrieve_an_event_for_a_project(
6185
- self, organization_id_or_slug, project_id_or_slug, event_id
6186
- ) -> dict[str, Any]:
5652
+ async def retrieve_an_event_for_a_project(self, organization_id_or_slug, project_id_or_slug, event_id) -> dict[str, Any]:
6187
5653
  """
6188
5654
  Retrieves details for a specific event within a project using the organization ID or slug and project ID or slug.
6189
5655
 
@@ -6210,15 +5676,8 @@ class SentryApp(APIApplication):
6210
5676
  response.raise_for_status()
6211
5677
  return response.json()
6212
5678
 
6213
- def list_project_issues(
6214
- self,
6215
- organization_id_or_slug,
6216
- project_id_or_slug,
6217
- statsPeriod=None,
6218
- shortIdLookup=None,
6219
- query=None,
6220
- hashes=None,
6221
- cursor=None,
5679
+ async def list_project_issues(
5680
+ self, organization_id_or_slug, project_id_or_slug, statsPeriod=None, shortIdLookup=None, query=None, hashes=None, cursor=None
6222
5681
  ) -> list[Any]:
6223
5682
  """
6224
5683
  Get a list of issues for a specified project within an organization, with optional filters for query, stats period, short ID lookup, hashes, and pagination.
@@ -6258,7 +5717,7 @@ class SentryApp(APIApplication):
6258
5717
  response.raise_for_status()
6259
5718
  return response.json()
6260
5719
 
6261
- def bulk_mutate_a_list_of_issues(
5720
+ async def bulk_mutate_a_list_of_issues(
6262
5721
  self,
6263
5722
  organization_id_or_slug,
6264
5723
  project_id_or_slug,
@@ -6319,16 +5778,12 @@ class SentryApp(APIApplication):
6319
5778
  }
6320
5779
  request_body = {k: v for k, v in request_body.items() if v is not None}
6321
5780
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/issues/"
6322
- query_params = {
6323
- k: v for k, v in [("id", id), ("status", status)] if v is not None
6324
- }
5781
+ query_params = {k: v for k, v in [("id", id), ("status", status)] if v is not None}
6325
5782
  response = self._put(url, data=request_body, params=query_params)
6326
5783
  response.raise_for_status()
6327
5784
  return response.json()
6328
5785
 
6329
- def bulk_remove_a_list_of_issues(
6330
- self, organization_id_or_slug, project_id_or_slug, id=None
6331
- ) -> Any:
5786
+ async def bulk_remove_a_list_of_issues(self, organization_id_or_slug, project_id_or_slug, id=None) -> Any:
6332
5787
  """
6333
5788
  Deletes issues from a project by organization or project identifier using the "DELETE" method, requiring authentication as an event administrator.
6334
5789
 
@@ -6353,9 +5808,7 @@ class SentryApp(APIApplication):
6353
5808
  response.raise_for_status()
6354
5809
  return response.json()
6355
5810
 
6356
- def list_a_tag_s_values_related_to_an_issue(
6357
- self, organization_id_or_slug, issue_id, key
6358
- ) -> list[Any]:
5811
+ async def list_a_tag_s_values_related_to_an_issue(self, organization_id_or_slug, issue_id, key) -> list[Any]:
6359
5812
  """
6360
5813
  Retrieves the available values for a specific tag key associated with an issue within the specified organization.
6361
5814
 
@@ -6382,9 +5835,7 @@ class SentryApp(APIApplication):
6382
5835
  response.raise_for_status()
6383
5836
  return response.json()
6384
5837
 
6385
- def list_an_issue_s_hashes(
6386
- self, organization_id_or_slug, issue_id, full=None, cursor=None
6387
- ) -> list[Any]:
5838
+ async def list_an_issue_s_hashes(self, organization_id_or_slug, issue_id, full=None, cursor=None) -> list[Any]:
6388
5839
  """
6389
5840
  Retrieves hashes for a specific issue in an organization using the provided organization ID or slug and issue ID, optionally including additional details if the "full" query parameter is set.
6390
5841
 
@@ -6405,14 +5856,12 @@ class SentryApp(APIApplication):
6405
5856
  if issue_id is None:
6406
5857
  raise ValueError("Missing required parameter 'issue_id'")
6407
5858
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/hashes/"
6408
- query_params = {
6409
- k: v for k, v in [("full", full), ("cursor", cursor)] if v is not None
6410
- }
5859
+ query_params = {k: v for k, v in [("full", full), ("cursor", cursor)] if v is not None}
6411
5860
  response = self._get(url, params=query_params)
6412
5861
  response.raise_for_status()
6413
5862
  return response.json()
6414
5863
 
6415
- def retrieve_an_issue(self, organization_id_or_slug, issue_id) -> dict[str, Any]:
5864
+ async def retrieve_an_issue(self, organization_id_or_slug, issue_id) -> dict[str, Any]:
6416
5865
  """
6417
5866
  Retrieves details about a specific issue within an organization using the provided organization ID or slug and issue ID.
6418
5867
 
@@ -6436,7 +5885,7 @@ class SentryApp(APIApplication):
6436
5885
  response.raise_for_status()
6437
5886
  return response.json()
6438
5887
 
6439
- def update_an_issue(
5888
+ async def update_an_issue(
6440
5889
  self,
6441
5890
  organization_id_or_slug,
6442
5891
  issue_id,
@@ -6494,7 +5943,7 @@ class SentryApp(APIApplication):
6494
5943
  response.raise_for_status()
6495
5944
  return response.json()
6496
5945
 
6497
- def remove_an_issue(self, organization_id_or_slug, issue_id) -> Any:
5946
+ async def remove_an_issue(self, organization_id_or_slug, issue_id) -> Any:
6498
5947
  """
6499
5948
  Deletes an issue identified by `{issue_id}` within an organization specified by `{organization_id_or_slug}` using the DELETE method.
6500
5949
 
@@ -6518,9 +5967,7 @@ class SentryApp(APIApplication):
6518
5967
  response.raise_for_status()
6519
5968
  return response.json()
6520
5969
 
6521
- def list_an_organization_s_releases(
6522
- self, organization_id_or_slug, query=None
6523
- ) -> list[Any]:
5970
+ async def list_an_organization_s_releases(self, organization_id_or_slug, query=None) -> list[Any]:
6524
5971
  """
6525
5972
  Retrieves a list of releases for a specified organization using the provided organization ID or slug, with optional query filtering.
6526
5973
 
@@ -6542,16 +5989,8 @@ class SentryApp(APIApplication):
6542
5989
  response.raise_for_status()
6543
5990
  return response.json()
6544
5991
 
6545
- def create_a_new_release_for_an_organization(
6546
- self,
6547
- organization_id_or_slug,
6548
- version=None,
6549
- projects=None,
6550
- ref=None,
6551
- url=None,
6552
- dateReleased=None,
6553
- commits=None,
6554
- refs=None,
5992
+ async def create_a_new_release_for_an_organization(
5993
+ self, organization_id_or_slug, version=None, projects=None, ref=None, url=None, dateReleased=None, commits=None, refs=None
6555
5994
  ) -> dict[str, Any]:
6556
5995
  """
6557
5996
  Creates a new release for the specified organization using the provided release data.
@@ -6600,9 +6039,7 @@ class SentryApp(APIApplication):
6600
6039
  response.raise_for_status()
6601
6040
  return response.json()
6602
6041
 
6603
- def list_an_organization_s_release_files(
6604
- self, organization_id_or_slug, version
6605
- ) -> list[Any]:
6042
+ async def list_an_organization_s_release_files(self, organization_id_or_slug, version) -> list[Any]:
6606
6043
  """
6607
6044
  Retrieves a list of files associated with a specific release version within an organization using the provided organization ID or slug and version number.
6608
6045
 
@@ -6626,9 +6063,7 @@ class SentryApp(APIApplication):
6626
6063
  response.raise_for_status()
6627
6064
  return response.json()
6628
6065
 
6629
- def list_a_project_s_release_files(
6630
- self, organization_id_or_slug, project_id_or_slug, version
6631
- ) -> list[Any]:
6066
+ async def list_a_project_s_release_files(self, organization_id_or_slug, project_id_or_slug, version) -> list[Any]:
6632
6067
  """
6633
6068
  Get a list of files associated with a specific release version for a project within an organization.
6634
6069
 
@@ -6655,9 +6090,7 @@ class SentryApp(APIApplication):
6655
6090
  response.raise_for_status()
6656
6091
  return response.json()
6657
6092
 
6658
- def retrieve_an_organization_release_s_file(
6659
- self, organization_id_or_slug, version, file_id, download=None
6660
- ) -> dict[str, Any]:
6093
+ async def retrieve_an_organization_release_s_file(self, organization_id_or_slug, version, file_id, download=None) -> dict[str, Any]:
6661
6094
  """
6662
6095
  Retrieves a file from a release in an organization using the provided organization ID or slug, version, and file ID, optionally allowing for file download.
6663
6096
 
@@ -6685,9 +6118,7 @@ class SentryApp(APIApplication):
6685
6118
  response.raise_for_status()
6686
6119
  return response.json()
6687
6120
 
6688
- def update_an_organization_release_file(
6689
- self, organization_id_or_slug, version, file_id, name=None, dist=None
6690
- ) -> dict[str, Any]:
6121
+ async def update_an_organization_release_file(self, organization_id_or_slug, version, file_id, name=None, dist=None) -> dict[str, Any]:
6691
6122
  """
6692
6123
  Updates a file with the specified ID in a release of an organization using the provided JSON data.
6693
6124
 
@@ -6716,10 +6147,7 @@ class SentryApp(APIApplication):
6716
6147
  raise ValueError("Missing required parameter 'version'")
6717
6148
  if file_id is None:
6718
6149
  raise ValueError("Missing required parameter 'file_id'")
6719
- request_body = {
6720
- "name": name,
6721
- "dist": dist,
6722
- }
6150
+ request_body = {"name": name, "dist": dist}
6723
6151
  request_body = {k: v for k, v in request_body.items() if v is not None}
6724
6152
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/releases/{version}/files/{file_id}/"
6725
6153
  query_params = {}
@@ -6727,9 +6155,7 @@ class SentryApp(APIApplication):
6727
6155
  response.raise_for_status()
6728
6156
  return response.json()
6729
6157
 
6730
- def delete_an_organization_release_s_file(
6731
- self, organization_id_or_slug, version, file_id
6732
- ) -> Any:
6158
+ async def delete_an_organization_release_s_file(self, organization_id_or_slug, version, file_id) -> Any:
6733
6159
  """
6734
6160
  Deletes a specific file associated with a release in an organization using the provided organization ID or slug, version, and file ID.
6735
6161
 
@@ -6756,13 +6182,8 @@ class SentryApp(APIApplication):
6756
6182
  response.raise_for_status()
6757
6183
  return response.json()
6758
6184
 
6759
- def retrieve_a_project_release_s_file(
6760
- self,
6761
- organization_id_or_slug,
6762
- project_id_or_slug,
6763
- version,
6764
- file_id,
6765
- download=None,
6185
+ async def retrieve_a_project_release_s_file(
6186
+ self, organization_id_or_slug, project_id_or_slug, version, file_id, download=None
6766
6187
  ) -> dict[str, Any]:
6767
6188
  """
6768
6189
  Retrieves a specific file from a project release using the "GET" method, requiring organization ID or slug, project ID or slug, version, and file ID, and optionally allows for a download option via query parameter.
@@ -6794,14 +6215,8 @@ class SentryApp(APIApplication):
6794
6215
  response.raise_for_status()
6795
6216
  return response.json()
6796
6217
 
6797
- def update_a_project_release_file(
6798
- self,
6799
- organization_id_or_slug,
6800
- project_id_or_slug,
6801
- version,
6802
- file_id,
6803
- name=None,
6804
- dist=None,
6218
+ async def update_a_project_release_file(
6219
+ self, organization_id_or_slug, project_id_or_slug, version, file_id, name=None, dist=None
6805
6220
  ) -> dict[str, Any]:
6806
6221
  """
6807
6222
  Updates a specific file associated with a project release using the provided JSON data.
@@ -6834,10 +6249,7 @@ class SentryApp(APIApplication):
6834
6249
  raise ValueError("Missing required parameter 'version'")
6835
6250
  if file_id is None:
6836
6251
  raise ValueError("Missing required parameter 'file_id'")
6837
- request_body = {
6838
- "name": name,
6839
- "dist": dist,
6840
- }
6252
+ request_body = {"name": name, "dist": dist}
6841
6253
  request_body = {k: v for k, v in request_body.items() if v is not None}
6842
6254
  url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/releases/{version}/files/{file_id}/"
6843
6255
  query_params = {}
@@ -6845,9 +6257,7 @@ class SentryApp(APIApplication):
6845
6257
  response.raise_for_status()
6846
6258
  return response.json()
6847
6259
 
6848
- def delete_a_project_release_s_file(
6849
- self, organization_id_or_slug, project_id_or_slug, version, file_id
6850
- ) -> Any:
6260
+ async def delete_a_project_release_s_file(self, organization_id_or_slug, project_id_or_slug, version, file_id) -> Any:
6851
6261
  """
6852
6262
  Deletes a specific file from a release version in a project using the organization and project identifiers.
6853
6263
 
@@ -6877,9 +6287,7 @@ class SentryApp(APIApplication):
6877
6287
  response.raise_for_status()
6878
6288
  return response.json()
6879
6289
 
6880
- def list_an_organization_release_s_commits(
6881
- self, organization_id_or_slug, version
6882
- ) -> list[Any]:
6290
+ async def list_an_organization_release_s_commits(self, organization_id_or_slug, version) -> list[Any]:
6883
6291
  """
6884
6292
  Retrieves a list of commits for a specific version within an organization using the provided organization ID or slug and version number.
6885
6293
 
@@ -6903,9 +6311,7 @@ class SentryApp(APIApplication):
6903
6311
  response.raise_for_status()
6904
6312
  return response.json()
6905
6313
 
6906
- def list_a_project_release_s_commits(
6907
- self, organization_id_or_slug, project_id_or_slug, version
6908
- ) -> list[Any]:
6314
+ async def list_a_project_release_s_commits(self, organization_id_or_slug, project_id_or_slug, version) -> list[Any]:
6909
6315
  """
6910
6316
  Get the list of commits associated with a specific release version in a project within an organization.
6911
6317
 
@@ -6932,9 +6338,7 @@ class SentryApp(APIApplication):
6932
6338
  response.raise_for_status()
6933
6339
  return response.json()
6934
6340
 
6935
- def retrieve_files_changed_in_a_release_s_commits(
6936
- self, organization_id_or_slug, version
6937
- ) -> Any:
6341
+ async def retrieve_files_changed_in_a_release_s_commits(self, organization_id_or_slug, version) -> Any:
6938
6342
  """
6939
6343
  Retrieves a list of commit files for a specific release version within an organization, identified by its ID or slug.
6940
6344
 
@@ -6958,7 +6362,7 @@ class SentryApp(APIApplication):
6958
6362
  response.raise_for_status()
6959
6363
  return response.json()
6960
6364
 
6961
- def list_a_release_s_deploys(self, organization_id_or_slug, version) -> list[Any]:
6365
+ async def list_a_release_s_deploys(self, organization_id_or_slug, version) -> list[Any]:
6962
6366
  """
6963
6367
  Retrieves deployment information for a specific release version within an organization.
6964
6368
 
@@ -6982,16 +6386,8 @@ class SentryApp(APIApplication):
6982
6386
  response.raise_for_status()
6983
6387
  return response.json()
6984
6388
 
6985
- def create_a_new_deploy_for_an_organization(
6986
- self,
6987
- organization_id_or_slug,
6988
- version,
6989
- environment=None,
6990
- url=None,
6991
- name=None,
6992
- projects=None,
6993
- dateStarted=None,
6994
- dateFinished=None,
6389
+ async def create_a_new_deploy_for_an_organization(
6390
+ self, organization_id_or_slug, version, environment=None, url=None, name=None, projects=None, dateStarted=None, dateFinished=None
6995
6391
  ) -> dict[str, Any]:
6996
6392
  """
6997
6393
  Records a new deployment of a specific release version for an organization identified by its ID or slug and returns status codes indicating success, conflict, or error.
@@ -7037,9 +6433,7 @@ class SentryApp(APIApplication):
7037
6433
  response.raise_for_status()
7038
6434
  return response.json()
7039
6435
 
7040
- def list_organization_integration_installations(
7041
- self, organization_id_or_slug
7042
- ) -> list[Any]:
6436
+ async def list_organization_integration_installations(self, organization_id_or_slug) -> list[Any]:
7043
6437
  """
7044
6438
  Retrieves a list of Sentry app installations for a specified organization using the organization ID or slug.
7045
6439
 
@@ -7060,9 +6454,7 @@ class SentryApp(APIApplication):
7060
6454
  response.raise_for_status()
7061
6455
  return response.json()
7062
6456
 
7063
- def create_or_update_an_external_issue(
7064
- self, uuid, issueId, webUrl, project, identifier
7065
- ) -> dict[str, Any]:
6457
+ async def create_or_update_an_external_issue(self, uuid, issueId, webUrl, project, identifier) -> dict[str, Any]:
7066
6458
  """
7067
6459
  Creates or updates an external issue linked to a Sentry issue using the integration platform integration specified by the `uuid` path parameter, requiring authentication with a token having the `event:write` scope.
7068
6460
 
@@ -7090,12 +6482,7 @@ class SentryApp(APIApplication):
7090
6482
  """
7091
6483
  if uuid is None:
7092
6484
  raise ValueError("Missing required parameter 'uuid'")
7093
- request_body = {
7094
- "issueId": issueId,
7095
- "webUrl": webUrl,
7096
- "project": project,
7097
- "identifier": identifier,
7098
- }
6485
+ request_body = {"issueId": issueId, "webUrl": webUrl, "project": project, "identifier": identifier}
7099
6486
  request_body = {k: v for k, v in request_body.items() if v is not None}
7100
6487
  url = f"{self.base_url}/api/0/sentry-app-installations/{uuid}/external-issues/"
7101
6488
  query_params = {}
@@ -7103,7 +6490,7 @@ class SentryApp(APIApplication):
7103
6490
  response.raise_for_status()
7104
6491
  return response.json()
7105
6492
 
7106
- def delete_an_external_issue(self, uuid, external_issue_id) -> Any:
6493
+ async def delete_an_external_issue(self, uuid, external_issue_id) -> Any:
7107
6494
  """
7108
6495
  Deletes an external issue associated with a specific integration installation in Sentry, requiring authentication with the `event:admin` scope.
7109
6496
 
@@ -7127,7 +6514,7 @@ class SentryApp(APIApplication):
7127
6514
  response.raise_for_status()
7128
6515
  return response.json()
7129
6516
 
7130
- def enable_spike_protection(self, organization_id_or_slug, projects) -> Any:
6517
+ async def enable_spike_protection(self, organization_id_or_slug, projects) -> Any:
7131
6518
  """
7132
6519
  Creates a new spike protection for an organization using the provided JSON data and returns a status message, requiring authentication with permissions to read, write, or administer projects.
7133
6520
 
@@ -7143,9 +6530,7 @@ class SentryApp(APIApplication):
7143
6530
  """
7144
6531
  if organization_id_or_slug is None:
7145
6532
  raise ValueError("Missing required parameter 'organization_id_or_slug'")
7146
- request_body = {
7147
- "projects": projects,
7148
- }
6533
+ request_body = {"projects": projects}
7149
6534
  request_body = {k: v for k, v in request_body.items() if v is not None}
7150
6535
  url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/spike-protections/"
7151
6536
  query_params = {}
@@ -7153,16 +6538,8 @@ class SentryApp(APIApplication):
7153
6538
  response.raise_for_status()
7154
6539
  return response.json()
7155
6540
 
7156
- def list_an_issue_s_events(
7157
- self,
7158
- issue_id,
7159
- start=None,
7160
- end=None,
7161
- statsPeriod=None,
7162
- environment=None,
7163
- full=None,
7164
- sample=None,
7165
- query=None,
6541
+ async def list_an_issue_s_events(
6542
+ self, issue_id, start=None, end=None, statsPeriod=None, environment=None, full=None, sample=None, query=None
7166
6543
  ) -> list[Any]:
7167
6544
  """
7168
6545
  Retrieves a list of events associated with a specific issue, optionally filtered by date range, environment, and other query parameters.
@@ -7203,9 +6580,7 @@ class SentryApp(APIApplication):
7203
6580
  response.raise_for_status()
7204
6581
  return response.json()
7205
6582
 
7206
- def retrieve_an_issue_event(
7207
- self, issue_id, event_id, environment=None
7208
- ) -> dict[str, Any]:
6583
+ async def retrieve_an_issue_event(self, issue_id, event_id, environment=None) -> dict[str, Any]:
7209
6584
  """
7210
6585
  Retrieves event details for a specific event within an issue using the provided issue ID and event ID, optionally filtered by environment.
7211
6586
 
@@ -7225,14 +6600,12 @@ class SentryApp(APIApplication):
7225
6600
  if event_id is None:
7226
6601
  raise ValueError("Missing required parameter 'event_id'")
7227
6602
  url = f"{self.base_url}/api/0/issues/{issue_id}/events/{event_id}/"
7228
- query_params = {
7229
- k: v for k, v in [("environment", environment)] if v is not None
7230
- }
6603
+ query_params = {k: v for k, v in [("environment", environment)] if v is not None}
7231
6604
  response = self._get(url, params=query_params)
7232
6605
  response.raise_for_status()
7233
6606
  return response.json()
7234
6607
 
7235
- def retrieve_tag_details(self, issue_id, key, environment=None) -> dict[str, Any]:
6608
+ async def retrieve_tag_details(self, issue_id, key, environment=None) -> dict[str, Any]:
7236
6609
  """
7237
6610
  Retrieves a tag for a specific issue based on the provided key, with optional filtering by environment.
7238
6611
 
@@ -7252,16 +6625,12 @@ class SentryApp(APIApplication):
7252
6625
  if key is None:
7253
6626
  raise ValueError("Missing required parameter 'key'")
7254
6627
  url = f"{self.base_url}/api/0/issues/{issue_id}/tags/{key}/"
7255
- query_params = {
7256
- k: v for k, v in [("environment", environment)] if v is not None
7257
- }
6628
+ query_params = {k: v for k, v in [("environment", environment)] if v is not None}
7258
6629
  response = self._get(url, params=query_params)
7259
6630
  response.raise_for_status()
7260
6631
  return response.json()
7261
6632
 
7262
- def list_a_tag_s_values_for_an_issue(
7263
- self, issue_id, key, sort=None, environment=None
7264
- ) -> list[Any]:
6633
+ async def list_a_tag_s_values_for_an_issue(self, issue_id, key, sort=None, environment=None) -> list[Any]:
7265
6634
  """
7266
6635
  Retrieves a list of values for a specific tag key associated with an issue, allowing optional sorting and filtering by environment.
7267
6636
 
@@ -7282,11 +6651,7 @@ class SentryApp(APIApplication):
7282
6651
  if key is None:
7283
6652
  raise ValueError("Missing required parameter 'key'")
7284
6653
  url = f"{self.base_url}/api/0/issues/{issue_id}/tags/{key}/values/"
7285
- query_params = {
7286
- k: v
7287
- for k, v in [("sort", sort), ("environment", environment)]
7288
- if v is not None
7289
- }
6654
+ query_params = {k: v for k, v in [("sort", sort), ("environment", environment)] if v is not None}
7290
6655
  response = self._get(url, params=query_params)
7291
6656
  response.raise_for_status()
7292
6657
  return response.json()