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.
- universal_mcp/applications/ahrefs/app.py +52 -198
- universal_mcp/applications/airtable/app.py +23 -122
- universal_mcp/applications/apollo/app.py +111 -464
- universal_mcp/applications/asana/app.py +417 -1567
- universal_mcp/applications/aws_s3/app.py +33 -100
- universal_mcp/applications/bill/app.py +546 -1957
- universal_mcp/applications/box/app.py +1068 -3981
- universal_mcp/applications/braze/app.py +364 -1430
- universal_mcp/applications/browser_use/app.py +2 -8
- universal_mcp/applications/cal_com_v2/app.py +207 -625
- universal_mcp/applications/calendly/app.py +61 -200
- universal_mcp/applications/canva/app.py +45 -110
- universal_mcp/applications/clickup/app.py +207 -674
- universal_mcp/applications/coda/app.py +146 -426
- universal_mcp/applications/confluence/app.py +310 -1098
- universal_mcp/applications/contentful/app.py +36 -151
- universal_mcp/applications/crustdata/app.py +28 -107
- universal_mcp/applications/dialpad/app.py +283 -756
- universal_mcp/applications/digitalocean/app.py +1766 -5777
- universal_mcp/applications/domain_checker/app.py +3 -54
- universal_mcp/applications/e2b/app.py +14 -64
- universal_mcp/applications/elevenlabs/app.py +9 -47
- universal_mcp/applications/exa/app.py +6 -17
- universal_mcp/applications/falai/app.py +23 -100
- universal_mcp/applications/figma/app.py +53 -137
- universal_mcp/applications/file_system/app.py +2 -13
- universal_mcp/applications/firecrawl/app.py +51 -152
- universal_mcp/applications/fireflies/app.py +59 -281
- universal_mcp/applications/fpl/app.py +91 -528
- universal_mcp/applications/fpl/utils/fixtures.py +15 -49
- universal_mcp/applications/fpl/utils/helper.py +25 -89
- universal_mcp/applications/fpl/utils/league_utils.py +20 -64
- universal_mcp/applications/ghost_content/app.py +52 -161
- universal_mcp/applications/github/app.py +19 -56
- universal_mcp/applications/gong/app.py +88 -248
- universal_mcp/applications/google_calendar/app.py +16 -68
- universal_mcp/applications/google_docs/app.py +88 -188
- universal_mcp/applications/google_drive/app.py +140 -462
- universal_mcp/applications/google_gemini/app.py +12 -64
- universal_mcp/applications/google_mail/app.py +28 -157
- universal_mcp/applications/google_searchconsole/app.py +15 -48
- universal_mcp/applications/google_sheet/app.py +101 -578
- universal_mcp/applications/google_sheet/helper.py +10 -37
- universal_mcp/applications/hashnode/app.py +57 -269
- universal_mcp/applications/heygen/app.py +44 -122
- universal_mcp/applications/http_tools/app.py +10 -32
- universal_mcp/applications/hubspot/api_segments/crm_api.py +460 -1573
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +74 -262
- universal_mcp/applications/hubspot/app.py +23 -87
- universal_mcp/applications/jira/app.py +2071 -7986
- universal_mcp/applications/klaviyo/app.py +494 -1376
- universal_mcp/applications/linkedin/README.md +9 -2
- universal_mcp/applications/linkedin/app.py +392 -212
- universal_mcp/applications/mailchimp/app.py +450 -1605
- universal_mcp/applications/markitdown/app.py +8 -20
- universal_mcp/applications/miro/app.py +217 -699
- universal_mcp/applications/ms_teams/app.py +64 -186
- universal_mcp/applications/neon/app.py +86 -192
- universal_mcp/applications/notion/app.py +21 -36
- universal_mcp/applications/onedrive/app.py +14 -36
- universal_mcp/applications/openai/app.py +42 -165
- universal_mcp/applications/outlook/app.py +16 -76
- universal_mcp/applications/perplexity/app.py +4 -19
- universal_mcp/applications/pipedrive/app.py +832 -3142
- universal_mcp/applications/posthog/app.py +163 -432
- universal_mcp/applications/reddit/app.py +40 -139
- universal_mcp/applications/resend/app.py +41 -107
- universal_mcp/applications/retell/app.py +14 -41
- universal_mcp/applications/rocketlane/app.py +221 -934
- universal_mcp/applications/scraper/README.md +7 -4
- universal_mcp/applications/scraper/app.py +216 -102
- universal_mcp/applications/semanticscholar/app.py +22 -64
- universal_mcp/applications/semrush/app.py +43 -77
- universal_mcp/applications/sendgrid/app.py +512 -1262
- universal_mcp/applications/sentry/app.py +271 -906
- universal_mcp/applications/serpapi/app.py +40 -143
- universal_mcp/applications/sharepoint/app.py +15 -37
- universal_mcp/applications/shopify/app.py +1551 -4287
- universal_mcp/applications/shortcut/app.py +155 -417
- universal_mcp/applications/slack/app.py +50 -101
- universal_mcp/applications/spotify/app.py +126 -325
- universal_mcp/applications/supabase/app.py +104 -213
- universal_mcp/applications/tavily/app.py +1 -1
- universal_mcp/applications/trello/app.py +693 -2656
- universal_mcp/applications/twilio/app.py +14 -50
- universal_mcp/applications/twitter/api_segments/compliance_api.py +4 -14
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +6 -18
- universal_mcp/applications/twitter/api_segments/likes_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/lists_api.py +5 -15
- universal_mcp/applications/twitter/api_segments/trends_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/tweets_api.py +9 -31
- universal_mcp/applications/twitter/api_segments/usage_api.py +1 -5
- universal_mcp/applications/twitter/api_segments/users_api.py +14 -42
- universal_mcp/applications/whatsapp/app.py +35 -186
- universal_mcp/applications/whatsapp/audio.py +2 -6
- universal_mcp/applications/whatsapp/whatsapp.py +17 -51
- universal_mcp/applications/whatsapp_business/app.py +70 -283
- universal_mcp/applications/wrike/app.py +45 -118
- universal_mcp/applications/yahoo_finance/app.py +19 -65
- universal_mcp/applications/youtube/app.py +75 -261
- universal_mcp/applications/zenquotes/app.py +2 -2
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/RECORD +105 -105
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/WHEEL +0 -0
- {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,7 +8,7 @@ class MiroApp(APIApplication):
|
|
|
9
8
|
super().__init__(name="miro", integration=integration, **kwargs)
|
|
10
9
|
self.base_url = "https://api.miro.com"
|
|
11
10
|
|
|
12
|
-
def revoke_token_v1(self, access_token=None) -> Any:
|
|
11
|
+
async def revoke_token_v1(self, access_token=None) -> Any:
|
|
13
12
|
"""
|
|
14
13
|
Revokes an OAuth access token using the POST method at "/v1/oauth/revoke", allowing clients to invalidate tokens as needed.
|
|
15
14
|
|
|
@@ -23,14 +22,12 @@ class MiroApp(APIApplication):
|
|
|
23
22
|
Tokens
|
|
24
23
|
"""
|
|
25
24
|
url = f"{self.base_url}/v1/oauth/revoke"
|
|
26
|
-
query_params = {
|
|
27
|
-
k: v for k, v in [("access_token", access_token)] if v is not None
|
|
28
|
-
}
|
|
25
|
+
query_params = {k: v for k, v in [("access_token", access_token)] if v is not None}
|
|
29
26
|
response = self._post(url, data={}, params=query_params)
|
|
30
27
|
response.raise_for_status()
|
|
31
28
|
return response.json()
|
|
32
29
|
|
|
33
|
-
def get_access_token_information(self) -> Any:
|
|
30
|
+
async def get_access_token_information(self) -> Any:
|
|
34
31
|
"""
|
|
35
32
|
Retrieves an OAuth 2.0 token using the GET method for client authorization purposes.
|
|
36
33
|
|
|
@@ -46,14 +43,7 @@ class MiroApp(APIApplication):
|
|
|
46
43
|
response.raise_for_status()
|
|
47
44
|
return response.json()
|
|
48
45
|
|
|
49
|
-
def get_audit_logs(
|
|
50
|
-
self,
|
|
51
|
-
createdAfter=None,
|
|
52
|
-
createdBefore=None,
|
|
53
|
-
cursor=None,
|
|
54
|
-
limit=None,
|
|
55
|
-
sorting=None,
|
|
56
|
-
) -> Any:
|
|
46
|
+
async def get_audit_logs(self, createdAfter=None, createdBefore=None, cursor=None, limit=None, sorting=None) -> Any:
|
|
57
47
|
"""
|
|
58
48
|
Retrieves audit logs with optional filtering by time range, pagination, and sorting parameters.
|
|
59
49
|
|
|
@@ -86,7 +76,7 @@ class MiroApp(APIApplication):
|
|
|
86
76
|
response.raise_for_status()
|
|
87
77
|
return response.json()
|
|
88
78
|
|
|
89
|
-
def get_organization_settings(self, org_id) -> Any:
|
|
79
|
+
async def get_organization_settings(self, org_id) -> Any:
|
|
90
80
|
"""
|
|
91
81
|
Retrieves data classification settings for an organization, providing information on how data is categorized and handled within the specified organization.
|
|
92
82
|
|
|
@@ -107,9 +97,7 @@ class MiroApp(APIApplication):
|
|
|
107
97
|
response.raise_for_status()
|
|
108
98
|
return response.json()
|
|
109
99
|
|
|
110
|
-
def bulk_update_boards_classification(
|
|
111
|
-
self, org_id, team_id, labelId=None, notClassifiedOnly=None
|
|
112
|
-
) -> Any:
|
|
100
|
+
async def bulk_update_boards_classification(self, org_id, team_id, labelId=None, notClassifiedOnly=None) -> Any:
|
|
113
101
|
"""
|
|
114
102
|
Updates the data classification settings for a specific team in an organization using the "PATCH" method.
|
|
115
103
|
|
|
@@ -136,10 +124,7 @@ class MiroApp(APIApplication):
|
|
|
136
124
|
raise ValueError("Missing required parameter 'org_id'")
|
|
137
125
|
if team_id is None:
|
|
138
126
|
raise ValueError("Missing required parameter 'team_id'")
|
|
139
|
-
request_body = {
|
|
140
|
-
"labelId": labelId,
|
|
141
|
-
"notClassifiedOnly": notClassifiedOnly,
|
|
142
|
-
}
|
|
127
|
+
request_body = {"labelId": labelId, "notClassifiedOnly": notClassifiedOnly}
|
|
143
128
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
144
129
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/data-classification"
|
|
145
130
|
query_params = {}
|
|
@@ -147,7 +132,7 @@ class MiroApp(APIApplication):
|
|
|
147
132
|
response.raise_for_status()
|
|
148
133
|
return response.json()
|
|
149
134
|
|
|
150
|
-
def get_team_settings(self, org_id, team_id) -> Any:
|
|
135
|
+
async def get_team_settings(self, org_id, team_id) -> Any:
|
|
151
136
|
"""
|
|
152
137
|
Retrieves the data classification settings for a specific team within an organization.
|
|
153
138
|
|
|
@@ -171,9 +156,7 @@ class MiroApp(APIApplication):
|
|
|
171
156
|
response.raise_for_status()
|
|
172
157
|
return response.json()
|
|
173
158
|
|
|
174
|
-
def update_team_settings(
|
|
175
|
-
self, org_id, team_id, defaultLabelId=None, enabled=None
|
|
176
|
-
) -> Any:
|
|
159
|
+
async def update_team_settings(self, org_id, team_id, defaultLabelId=None, enabled=None) -> Any:
|
|
177
160
|
"""
|
|
178
161
|
Updates data classification settings for a specific team within an organization using the PATCH method.
|
|
179
162
|
|
|
@@ -200,10 +183,7 @@ class MiroApp(APIApplication):
|
|
|
200
183
|
raise ValueError("Missing required parameter 'org_id'")
|
|
201
184
|
if team_id is None:
|
|
202
185
|
raise ValueError("Missing required parameter 'team_id'")
|
|
203
|
-
request_body = {
|
|
204
|
-
"defaultLabelId": defaultLabelId,
|
|
205
|
-
"enabled": enabled,
|
|
206
|
-
}
|
|
186
|
+
request_body = {"defaultLabelId": defaultLabelId, "enabled": enabled}
|
|
207
187
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
208
188
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/data-classification-settings"
|
|
209
189
|
query_params = {}
|
|
@@ -211,7 +191,7 @@ class MiroApp(APIApplication):
|
|
|
211
191
|
response.raise_for_status()
|
|
212
192
|
return response.json()
|
|
213
193
|
|
|
214
|
-
def get_board_classification(self, org_id, team_id, board_id) -> Any:
|
|
194
|
+
async def get_board_classification(self, org_id, team_id, board_id) -> Any:
|
|
215
195
|
"""
|
|
216
196
|
Retrieves data classification details for a specified organization, team, and board using the provided identifiers.
|
|
217
197
|
|
|
@@ -238,9 +218,7 @@ class MiroApp(APIApplication):
|
|
|
238
218
|
response.raise_for_status()
|
|
239
219
|
return response.json()
|
|
240
220
|
|
|
241
|
-
def update_board_classification(
|
|
242
|
-
self, org_id, team_id, board_id, labelId=None
|
|
243
|
-
) -> Any:
|
|
221
|
+
async def update_board_classification(self, org_id, team_id, board_id, labelId=None) -> Any:
|
|
244
222
|
"""
|
|
245
223
|
Assigns data classifications to a board within a specified organization and team using the provided criteria and returns a success status upon completion.
|
|
246
224
|
|
|
@@ -268,9 +246,7 @@ class MiroApp(APIApplication):
|
|
|
268
246
|
raise ValueError("Missing required parameter 'team_id'")
|
|
269
247
|
if board_id is None:
|
|
270
248
|
raise ValueError("Missing required parameter 'board_id'")
|
|
271
|
-
request_body = {
|
|
272
|
-
"labelId": labelId,
|
|
273
|
-
}
|
|
249
|
+
request_body = {"labelId": labelId}
|
|
274
250
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
275
251
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/boards/{board_id}/data-classification"
|
|
276
252
|
query_params = {}
|
|
@@ -278,7 +254,7 @@ class MiroApp(APIApplication):
|
|
|
278
254
|
response.raise_for_status()
|
|
279
255
|
return response.json()
|
|
280
256
|
|
|
281
|
-
def get_all_cases(self, org_id, limit=None, cursor=None) -> Any:
|
|
257
|
+
async def get_all_cases(self, org_id, limit=None, cursor=None) -> Any:
|
|
282
258
|
"""
|
|
283
259
|
Retrieves a list of cases for a specified organization using the "GET" method, allowing optional query parameters for pagination via "limit" and "cursor".
|
|
284
260
|
|
|
@@ -296,14 +272,12 @@ class MiroApp(APIApplication):
|
|
|
296
272
|
if org_id is None:
|
|
297
273
|
raise ValueError("Missing required parameter 'org_id'")
|
|
298
274
|
url = f"{self.base_url}/v2/orgs/{org_id}/cases"
|
|
299
|
-
query_params = {
|
|
300
|
-
k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None
|
|
301
|
-
}
|
|
275
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
302
276
|
response = self._get(url, params=query_params)
|
|
303
277
|
response.raise_for_status()
|
|
304
278
|
return response.json()
|
|
305
279
|
|
|
306
|
-
def get_case(self, org_id, case_id) -> Any:
|
|
280
|
+
async def get_case(self, org_id, case_id) -> Any:
|
|
307
281
|
"""
|
|
308
282
|
Retrieves a specific case for an organization with the provided org_id and case_id.
|
|
309
283
|
|
|
@@ -327,9 +301,7 @@ class MiroApp(APIApplication):
|
|
|
327
301
|
response.raise_for_status()
|
|
328
302
|
return response.json()
|
|
329
303
|
|
|
330
|
-
def get_all_legal_holds_within_acase(
|
|
331
|
-
self, org_id, case_id, limit=None, cursor=None
|
|
332
|
-
) -> Any:
|
|
304
|
+
async def get_all_legal_holds_within_acase(self, org_id, case_id, limit=None, cursor=None) -> Any:
|
|
333
305
|
"""
|
|
334
306
|
Retrieves a paginated list of legal holds for a specific case and organization using cursor-based pagination.
|
|
335
307
|
|
|
@@ -350,14 +322,12 @@ class MiroApp(APIApplication):
|
|
|
350
322
|
if case_id is None:
|
|
351
323
|
raise ValueError("Missing required parameter 'case_id'")
|
|
352
324
|
url = f"{self.base_url}/v2/orgs/{org_id}/cases/{case_id}/legal-holds"
|
|
353
|
-
query_params = {
|
|
354
|
-
k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None
|
|
355
|
-
}
|
|
325
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
356
326
|
response = self._get(url, params=query_params)
|
|
357
327
|
response.raise_for_status()
|
|
358
328
|
return response.json()
|
|
359
329
|
|
|
360
|
-
def get_legal_hold_information(self, org_id, case_id, legal_hold_id) -> Any:
|
|
330
|
+
async def get_legal_hold_information(self, org_id, case_id, legal_hold_id) -> Any:
|
|
361
331
|
"""
|
|
362
332
|
Retrieves a specific legal hold for a case within an organization using the provided identifiers.
|
|
363
333
|
|
|
@@ -384,9 +354,7 @@ class MiroApp(APIApplication):
|
|
|
384
354
|
response.raise_for_status()
|
|
385
355
|
return response.json()
|
|
386
356
|
|
|
387
|
-
def get_content_items_under_legal_hold(
|
|
388
|
-
self, org_id, case_id, legal_hold_id, limit=None, cursor=None
|
|
389
|
-
) -> Any:
|
|
357
|
+
async def get_content_items_under_legal_hold(self, org_id, case_id, legal_hold_id, limit=None, cursor=None) -> Any:
|
|
390
358
|
"""
|
|
391
359
|
Retrieves a list of content items under a specific legal hold in a case for an organization, allowing for pagination using limit and cursor parameters.
|
|
392
360
|
|
|
@@ -410,16 +378,12 @@ class MiroApp(APIApplication):
|
|
|
410
378
|
if legal_hold_id is None:
|
|
411
379
|
raise ValueError("Missing required parameter 'legal_hold_id'")
|
|
412
380
|
url = f"{self.base_url}/v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}/content-items"
|
|
413
|
-
query_params = {
|
|
414
|
-
k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None
|
|
415
|
-
}
|
|
381
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
416
382
|
response = self._get(url, params=query_params)
|
|
417
383
|
response.raise_for_status()
|
|
418
384
|
return response.json()
|
|
419
385
|
|
|
420
|
-
def create_board_export_job(
|
|
421
|
-
self, org_id, request_id=None, boardFormat=None, boardIds=None
|
|
422
|
-
) -> Any:
|
|
386
|
+
async def create_board_export_job(self, org_id, request_id=None, boardFormat=None, boardIds=None) -> Any:
|
|
423
387
|
"""
|
|
424
388
|
Exports board data for a specified organization using the "POST" method and returns a job status.
|
|
425
389
|
|
|
@@ -446,10 +410,7 @@ class MiroApp(APIApplication):
|
|
|
446
410
|
"""
|
|
447
411
|
if org_id is None:
|
|
448
412
|
raise ValueError("Missing required parameter 'org_id'")
|
|
449
|
-
request_body = {
|
|
450
|
-
"boardFormat": boardFormat,
|
|
451
|
-
"boardIds": boardIds,
|
|
452
|
-
}
|
|
413
|
+
request_body = {"boardFormat": boardFormat, "boardIds": boardIds}
|
|
453
414
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
454
415
|
url = f"{self.base_url}/v2/orgs/{org_id}/boards/export/jobs"
|
|
455
416
|
query_params = {k: v for k, v in [("request_id", request_id)] if v is not None}
|
|
@@ -457,7 +418,7 @@ class MiroApp(APIApplication):
|
|
|
457
418
|
response.raise_for_status()
|
|
458
419
|
return response.json()
|
|
459
420
|
|
|
460
|
-
def get_board_export_job_status(self, org_id, job_id) -> Any:
|
|
421
|
+
async def get_board_export_job_status(self, org_id, job_id) -> Any:
|
|
461
422
|
"""
|
|
462
423
|
Retrieves the status and details of a specified board export job for an organization using the API.
|
|
463
424
|
|
|
@@ -481,7 +442,7 @@ class MiroApp(APIApplication):
|
|
|
481
442
|
response.raise_for_status()
|
|
482
443
|
return response.json()
|
|
483
444
|
|
|
484
|
-
def get_results_for_board_export_job(self, org_id, job_id) -> Any:
|
|
445
|
+
async def get_results_for_board_export_job(self, org_id, job_id) -> Any:
|
|
485
446
|
"""
|
|
486
447
|
Retrieves the export results for a specific organization's board export job using the API.
|
|
487
448
|
|
|
@@ -505,16 +466,8 @@ class MiroApp(APIApplication):
|
|
|
505
466
|
response.raise_for_status()
|
|
506
467
|
return response.json()
|
|
507
468
|
|
|
508
|
-
def retrieve_content_change_logs_of_board_items(
|
|
509
|
-
self,
|
|
510
|
-
org_id,
|
|
511
|
-
board_ids=None,
|
|
512
|
-
emails=None,
|
|
513
|
-
from_=None,
|
|
514
|
-
to=None,
|
|
515
|
-
cursor=None,
|
|
516
|
-
limit=None,
|
|
517
|
-
sorting=None,
|
|
469
|
+
async def retrieve_content_change_logs_of_board_items(
|
|
470
|
+
self, org_id, board_ids=None, emails=None, from_=None, to=None, cursor=None, limit=None, sorting=None
|
|
518
471
|
) -> Any:
|
|
519
472
|
"""
|
|
520
473
|
Retrieves organization content logs with filtering options such as board IDs, email addresses, date ranges, and pagination parameters.
|
|
@@ -557,7 +510,7 @@ class MiroApp(APIApplication):
|
|
|
557
510
|
response.raise_for_status()
|
|
558
511
|
return response.json()
|
|
559
512
|
|
|
560
|
-
def reset_all_sessions_of_auser(self, email=None) -> Any:
|
|
513
|
+
async def reset_all_sessions_of_auser(self, email=None) -> Any:
|
|
561
514
|
"""
|
|
562
515
|
Resets all active sessions for a specified user (identified by email), requiring reauthentication.
|
|
563
516
|
|
|
@@ -576,7 +529,7 @@ class MiroApp(APIApplication):
|
|
|
576
529
|
response.raise_for_status()
|
|
577
530
|
return response.json()
|
|
578
531
|
|
|
579
|
-
def get_organization_info(self, org_id) -> Any:
|
|
532
|
+
async def get_organization_info(self, org_id) -> Any:
|
|
580
533
|
"""
|
|
581
534
|
Retrieves information about an organization specified by its ID using the API endpoint "/v2/orgs/{org_id}" with the GET method.
|
|
582
535
|
|
|
@@ -597,16 +550,7 @@ class MiroApp(APIApplication):
|
|
|
597
550
|
response.raise_for_status()
|
|
598
551
|
return response.json()
|
|
599
552
|
|
|
600
|
-
def get_organization_members(
|
|
601
|
-
self,
|
|
602
|
-
org_id,
|
|
603
|
-
emails=None,
|
|
604
|
-
role=None,
|
|
605
|
-
license=None,
|
|
606
|
-
active=None,
|
|
607
|
-
cursor=None,
|
|
608
|
-
limit=None,
|
|
609
|
-
) -> Any:
|
|
553
|
+
async def get_organization_members(self, org_id, emails=None, role=None, license=None, active=None, cursor=None, limit=None) -> Any:
|
|
610
554
|
"""
|
|
611
555
|
Retrieves a list of members from an organization specified by `{org_id}` using query parameters for filtering by email, role, license status, and member activity, with pagination options.
|
|
612
556
|
|
|
@@ -630,21 +574,14 @@ class MiroApp(APIApplication):
|
|
|
630
574
|
url = f"{self.base_url}/v2/orgs/{org_id}/members"
|
|
631
575
|
query_params = {
|
|
632
576
|
k: v
|
|
633
|
-
for k, v in [
|
|
634
|
-
("emails", emails),
|
|
635
|
-
("role", role),
|
|
636
|
-
("license", license),
|
|
637
|
-
("active", active),
|
|
638
|
-
("cursor", cursor),
|
|
639
|
-
("limit", limit),
|
|
640
|
-
]
|
|
577
|
+
for k, v in [("emails", emails), ("role", role), ("license", license), ("active", active), ("cursor", cursor), ("limit", limit)]
|
|
641
578
|
if v is not None
|
|
642
579
|
}
|
|
643
580
|
response = self._get(url, params=query_params)
|
|
644
581
|
response.raise_for_status()
|
|
645
582
|
return response.json()
|
|
646
583
|
|
|
647
|
-
def get_organization_member(self, org_id, member_id) -> Any:
|
|
584
|
+
async def get_organization_member(self, org_id, member_id) -> Any:
|
|
648
585
|
"""
|
|
649
586
|
Retrieves a specific member's details within an organization using their unique identifiers.
|
|
650
587
|
|
|
@@ -668,16 +605,7 @@ class MiroApp(APIApplication):
|
|
|
668
605
|
response.raise_for_status()
|
|
669
606
|
return response.json()
|
|
670
607
|
|
|
671
|
-
def get_boards(
|
|
672
|
-
self,
|
|
673
|
-
team_id=None,
|
|
674
|
-
project_id=None,
|
|
675
|
-
query=None,
|
|
676
|
-
owner=None,
|
|
677
|
-
limit=None,
|
|
678
|
-
offset=None,
|
|
679
|
-
sort=None,
|
|
680
|
-
) -> Any:
|
|
608
|
+
async def get_boards(self, team_id=None, project_id=None, query=None, owner=None, limit=None, offset=None, sort=None) -> Any:
|
|
681
609
|
"""
|
|
682
610
|
Retrieves a list of boards filtered by team, project, search query, owner, and pagination parameters.
|
|
683
611
|
|
|
@@ -714,9 +642,7 @@ class MiroApp(APIApplication):
|
|
|
714
642
|
response.raise_for_status()
|
|
715
643
|
return response.json()
|
|
716
644
|
|
|
717
|
-
def copy_board(
|
|
718
|
-
self, copy_from=None, description=None, name=None, policy=None, teamId=None
|
|
719
|
-
) -> Any:
|
|
645
|
+
async def copy_board(self, copy_from=None, description=None, name=None, policy=None, teamId=None) -> Any:
|
|
720
646
|
"""
|
|
721
647
|
Updates a board's configuration (with optional source copying) and returns the updated board details.
|
|
722
648
|
|
|
@@ -754,12 +680,7 @@ class MiroApp(APIApplication):
|
|
|
754
680
|
Tags:
|
|
755
681
|
Boards
|
|
756
682
|
"""
|
|
757
|
-
request_body = {
|
|
758
|
-
"description": description,
|
|
759
|
-
"name": name,
|
|
760
|
-
"policy": policy,
|
|
761
|
-
"teamId": teamId,
|
|
762
|
-
}
|
|
683
|
+
request_body = {"description": description, "name": name, "policy": policy, "teamId": teamId}
|
|
763
684
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
764
685
|
url = f"{self.base_url}/v2/boards"
|
|
765
686
|
query_params = {k: v for k, v in [("copy_from", copy_from)] if v is not None}
|
|
@@ -767,9 +688,7 @@ class MiroApp(APIApplication):
|
|
|
767
688
|
response.raise_for_status()
|
|
768
689
|
return response.json()
|
|
769
690
|
|
|
770
|
-
def create_board(
|
|
771
|
-
self, description=None, name=None, policy=None, projectId=None, teamId=None
|
|
772
|
-
) -> Any:
|
|
691
|
+
async def create_board(self, description=None, name=None, policy=None, projectId=None, teamId=None) -> Any:
|
|
773
692
|
"""
|
|
774
693
|
Creates a new board resource and returns a success status upon completion.
|
|
775
694
|
|
|
@@ -808,13 +727,7 @@ class MiroApp(APIApplication):
|
|
|
808
727
|
Tags:
|
|
809
728
|
Boards
|
|
810
729
|
"""
|
|
811
|
-
request_body = {
|
|
812
|
-
"description": description,
|
|
813
|
-
"name": name,
|
|
814
|
-
"policy": policy,
|
|
815
|
-
"projectId": projectId,
|
|
816
|
-
"teamId": teamId,
|
|
817
|
-
}
|
|
730
|
+
request_body = {"description": description, "name": name, "policy": policy, "projectId": projectId, "teamId": teamId}
|
|
818
731
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
819
732
|
url = f"{self.base_url}/v2/boards"
|
|
820
733
|
query_params = {}
|
|
@@ -822,7 +735,7 @@ class MiroApp(APIApplication):
|
|
|
822
735
|
response.raise_for_status()
|
|
823
736
|
return response.json()
|
|
824
737
|
|
|
825
|
-
def get_specific_board(self, board_id) -> Any:
|
|
738
|
+
async def get_specific_board(self, board_id) -> Any:
|
|
826
739
|
"""
|
|
827
740
|
Retrieves information about a specific board identified by its ID using the API endpoint "/v2/boards/{board_id}" with the GET method.
|
|
828
741
|
|
|
@@ -843,7 +756,7 @@ class MiroApp(APIApplication):
|
|
|
843
756
|
response.raise_for_status()
|
|
844
757
|
return response.json()
|
|
845
758
|
|
|
846
|
-
def delete_board(self, board_id) -> Any:
|
|
759
|
+
async def delete_board(self, board_id) -> Any:
|
|
847
760
|
"""
|
|
848
761
|
Deletes a specific board identified by its ID using the "DELETE" method, effectively removing it from the system and returning a success status when completed.
|
|
849
762
|
|
|
@@ -864,15 +777,7 @@ class MiroApp(APIApplication):
|
|
|
864
777
|
response.raise_for_status()
|
|
865
778
|
return response.json()
|
|
866
779
|
|
|
867
|
-
def update_board(
|
|
868
|
-
self,
|
|
869
|
-
board_id,
|
|
870
|
-
description=None,
|
|
871
|
-
name=None,
|
|
872
|
-
policy=None,
|
|
873
|
-
projectId=None,
|
|
874
|
-
teamId=None,
|
|
875
|
-
) -> Any:
|
|
780
|
+
async def update_board(self, board_id, description=None, name=None, policy=None, projectId=None, teamId=None) -> Any:
|
|
876
781
|
"""
|
|
877
782
|
Updates a Trello board identified by `{board_id}` using the Trello API and returns a status message.
|
|
878
783
|
|
|
@@ -914,13 +819,7 @@ class MiroApp(APIApplication):
|
|
|
914
819
|
"""
|
|
915
820
|
if board_id is None:
|
|
916
821
|
raise ValueError("Missing required parameter 'board_id'")
|
|
917
|
-
request_body = {
|
|
918
|
-
"description": description,
|
|
919
|
-
"name": name,
|
|
920
|
-
"policy": policy,
|
|
921
|
-
"projectId": projectId,
|
|
922
|
-
"teamId": teamId,
|
|
923
|
-
}
|
|
822
|
+
request_body = {"description": description, "name": name, "policy": policy, "projectId": projectId, "teamId": teamId}
|
|
924
823
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
925
824
|
url = f"{self.base_url}/v2/boards/{board_id}"
|
|
926
825
|
query_params = {}
|
|
@@ -928,9 +827,7 @@ class MiroApp(APIApplication):
|
|
|
928
827
|
response.raise_for_status()
|
|
929
828
|
return response.json()
|
|
930
829
|
|
|
931
|
-
def create_app_card_item(
|
|
932
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
933
|
-
) -> Any:
|
|
830
|
+
async def create_app_card_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
934
831
|
"""
|
|
935
832
|
Creates a new app card on a specified board using the "POST" method, identified by the path "/v2/boards/{board_id}/app_cards".
|
|
936
833
|
|
|
@@ -1017,13 +914,7 @@ class MiroApp(APIApplication):
|
|
|
1017
914
|
"""
|
|
1018
915
|
if board_id is None:
|
|
1019
916
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1020
|
-
request_body = {
|
|
1021
|
-
"data": data,
|
|
1022
|
-
"geometry": geometry,
|
|
1023
|
-
"parent": parent,
|
|
1024
|
-
"position": position,
|
|
1025
|
-
"style": style,
|
|
1026
|
-
}
|
|
917
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
1027
918
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1028
919
|
url = f"{self.base_url}/v2/boards/{board_id}/app_cards"
|
|
1029
920
|
query_params = {}
|
|
@@ -1031,7 +922,7 @@ class MiroApp(APIApplication):
|
|
|
1031
922
|
response.raise_for_status()
|
|
1032
923
|
return response.json()
|
|
1033
924
|
|
|
1034
|
-
def get_app_card_item(self, board_id, item_id) -> Any:
|
|
925
|
+
async def get_app_card_item(self, board_id, item_id) -> Any:
|
|
1035
926
|
"""
|
|
1036
927
|
Retrieves the details of an app card with the specified item ID from a board using the GET method.
|
|
1037
928
|
|
|
@@ -1055,7 +946,7 @@ class MiroApp(APIApplication):
|
|
|
1055
946
|
response.raise_for_status()
|
|
1056
947
|
return response.json()
|
|
1057
948
|
|
|
1058
|
-
def delete_app_card_item(self, board_id, item_id) -> Any:
|
|
949
|
+
async def delete_app_card_item(self, board_id, item_id) -> Any:
|
|
1059
950
|
"""
|
|
1060
951
|
Deletes an app card item from the specified board using the DELETE method and returns a success status upon completion.
|
|
1061
952
|
|
|
@@ -1079,16 +970,7 @@ class MiroApp(APIApplication):
|
|
|
1079
970
|
response.raise_for_status()
|
|
1080
971
|
return response.json()
|
|
1081
972
|
|
|
1082
|
-
def update_app_card_item(
|
|
1083
|
-
self,
|
|
1084
|
-
board_id,
|
|
1085
|
-
item_id,
|
|
1086
|
-
data=None,
|
|
1087
|
-
geometry=None,
|
|
1088
|
-
parent=None,
|
|
1089
|
-
position=None,
|
|
1090
|
-
style=None,
|
|
1091
|
-
) -> Any:
|
|
973
|
+
async def update_app_card_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
1092
974
|
"""
|
|
1093
975
|
Updates a specific app card on the specified board using partial modifications via the PATCH method.
|
|
1094
976
|
|
|
@@ -1178,13 +1060,7 @@ class MiroApp(APIApplication):
|
|
|
1178
1060
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1179
1061
|
if item_id is None:
|
|
1180
1062
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1181
|
-
request_body = {
|
|
1182
|
-
"data": data,
|
|
1183
|
-
"geometry": geometry,
|
|
1184
|
-
"parent": parent,
|
|
1185
|
-
"position": position,
|
|
1186
|
-
"style": style,
|
|
1187
|
-
}
|
|
1063
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
1188
1064
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1189
1065
|
url = f"{self.base_url}/v2/boards/{board_id}/app_cards/{item_id}"
|
|
1190
1066
|
query_params = {}
|
|
@@ -1192,9 +1068,7 @@ class MiroApp(APIApplication):
|
|
|
1192
1068
|
response.raise_for_status()
|
|
1193
1069
|
return response.json()
|
|
1194
1070
|
|
|
1195
|
-
def create_card_item(
|
|
1196
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
1197
|
-
) -> Any:
|
|
1071
|
+
async def create_card_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
1198
1072
|
"""
|
|
1199
1073
|
Creates a new card on the specified board using the provided data and returns the operation status upon success.
|
|
1200
1074
|
|
|
@@ -1240,13 +1114,7 @@ class MiroApp(APIApplication):
|
|
|
1240
1114
|
"""
|
|
1241
1115
|
if board_id is None:
|
|
1242
1116
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1243
|
-
request_body = {
|
|
1244
|
-
"data": data,
|
|
1245
|
-
"geometry": geometry,
|
|
1246
|
-
"parent": parent,
|
|
1247
|
-
"position": position,
|
|
1248
|
-
"style": style,
|
|
1249
|
-
}
|
|
1117
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
1250
1118
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1251
1119
|
url = f"{self.base_url}/v2/boards/{board_id}/cards"
|
|
1252
1120
|
query_params = {}
|
|
@@ -1254,7 +1122,7 @@ class MiroApp(APIApplication):
|
|
|
1254
1122
|
response.raise_for_status()
|
|
1255
1123
|
return response.json()
|
|
1256
1124
|
|
|
1257
|
-
def get_card_item(self, board_id, item_id) -> Any:
|
|
1125
|
+
async def get_card_item(self, board_id, item_id) -> Any:
|
|
1258
1126
|
"""
|
|
1259
1127
|
Retrieves a specific card from a board using its board ID and item ID, returning relevant details in the response.
|
|
1260
1128
|
|
|
@@ -1278,7 +1146,7 @@ class MiroApp(APIApplication):
|
|
|
1278
1146
|
response.raise_for_status()
|
|
1279
1147
|
return response.json()
|
|
1280
1148
|
|
|
1281
|
-
def delete_card_item(self, board_id, item_id) -> Any:
|
|
1149
|
+
async def delete_card_item(self, board_id, item_id) -> Any:
|
|
1282
1150
|
"""
|
|
1283
1151
|
Deletes a specific card item from a board by ID and returns a success status upon removal.
|
|
1284
1152
|
|
|
@@ -1302,16 +1170,7 @@ class MiroApp(APIApplication):
|
|
|
1302
1170
|
response.raise_for_status()
|
|
1303
1171
|
return response.json()
|
|
1304
1172
|
|
|
1305
|
-
def update_card_item(
|
|
1306
|
-
self,
|
|
1307
|
-
board_id,
|
|
1308
|
-
item_id,
|
|
1309
|
-
data=None,
|
|
1310
|
-
geometry=None,
|
|
1311
|
-
parent=None,
|
|
1312
|
-
position=None,
|
|
1313
|
-
style=None,
|
|
1314
|
-
) -> Any:
|
|
1173
|
+
async def update_card_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
1315
1174
|
"""
|
|
1316
1175
|
Updates specified fields of a card item on a board using partial modifications.
|
|
1317
1176
|
|
|
@@ -1360,13 +1219,7 @@ class MiroApp(APIApplication):
|
|
|
1360
1219
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1361
1220
|
if item_id is None:
|
|
1362
1221
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1363
|
-
request_body = {
|
|
1364
|
-
"data": data,
|
|
1365
|
-
"geometry": geometry,
|
|
1366
|
-
"parent": parent,
|
|
1367
|
-
"position": position,
|
|
1368
|
-
"style": style,
|
|
1369
|
-
}
|
|
1222
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
1370
1223
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1371
1224
|
url = f"{self.base_url}/v2/boards/{board_id}/cards/{item_id}"
|
|
1372
1225
|
query_params = {}
|
|
@@ -1374,7 +1227,7 @@ class MiroApp(APIApplication):
|
|
|
1374
1227
|
response.raise_for_status()
|
|
1375
1228
|
return response.json()
|
|
1376
1229
|
|
|
1377
|
-
def get_connectors(self, board_id, limit=None, cursor=None) -> Any:
|
|
1230
|
+
async def get_connectors(self, board_id, limit=None, cursor=None) -> Any:
|
|
1378
1231
|
"""
|
|
1379
1232
|
Retrieves a list of connectors associated with a specific board, allowing optional filtering by limit and cursor parameters.
|
|
1380
1233
|
|
|
@@ -1392,22 +1245,12 @@ class MiroApp(APIApplication):
|
|
|
1392
1245
|
if board_id is None:
|
|
1393
1246
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1394
1247
|
url = f"{self.base_url}/v2/boards/{board_id}/connectors"
|
|
1395
|
-
query_params = {
|
|
1396
|
-
k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None
|
|
1397
|
-
}
|
|
1248
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
1398
1249
|
response = self._get(url, params=query_params)
|
|
1399
1250
|
response.raise_for_status()
|
|
1400
1251
|
return response.json()
|
|
1401
1252
|
|
|
1402
|
-
def create_connector(
|
|
1403
|
-
self,
|
|
1404
|
-
board_id,
|
|
1405
|
-
captions=None,
|
|
1406
|
-
endItem=None,
|
|
1407
|
-
shape=None,
|
|
1408
|
-
startItem=None,
|
|
1409
|
-
style=None,
|
|
1410
|
-
) -> Any:
|
|
1253
|
+
async def create_connector(self, board_id, captions=None, endItem=None, shape=None, startItem=None, style=None) -> Any:
|
|
1411
1254
|
"""
|
|
1412
1255
|
Establishes a connection to a specific board by creating a new connector using the API at the path "/v2/boards/{board_id}/connectors" with the POST method.
|
|
1413
1256
|
|
|
@@ -1561,13 +1404,7 @@ class MiroApp(APIApplication):
|
|
|
1561
1404
|
"""
|
|
1562
1405
|
if board_id is None:
|
|
1563
1406
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1564
|
-
request_body = {
|
|
1565
|
-
"captions": captions,
|
|
1566
|
-
"endItem": endItem,
|
|
1567
|
-
"shape": shape,
|
|
1568
|
-
"startItem": startItem,
|
|
1569
|
-
"style": style,
|
|
1570
|
-
}
|
|
1407
|
+
request_body = {"captions": captions, "endItem": endItem, "shape": shape, "startItem": startItem, "style": style}
|
|
1571
1408
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1572
1409
|
url = f"{self.base_url}/v2/boards/{board_id}/connectors"
|
|
1573
1410
|
query_params = {}
|
|
@@ -1575,7 +1412,7 @@ class MiroApp(APIApplication):
|
|
|
1575
1412
|
response.raise_for_status()
|
|
1576
1413
|
return response.json()
|
|
1577
1414
|
|
|
1578
|
-
def get_specific_connector(self, board_id, connector_id) -> Any:
|
|
1415
|
+
async def get_specific_connector(self, board_id, connector_id) -> Any:
|
|
1579
1416
|
"""
|
|
1580
1417
|
Retrieves a specific connector from a board using the provided board and connector identifiers.
|
|
1581
1418
|
|
|
@@ -1599,7 +1436,7 @@ class MiroApp(APIApplication):
|
|
|
1599
1436
|
response.raise_for_status()
|
|
1600
1437
|
return response.json()
|
|
1601
1438
|
|
|
1602
|
-
def delete_connector(self, board_id, connector_id) -> Any:
|
|
1439
|
+
async def delete_connector(self, board_id, connector_id) -> Any:
|
|
1603
1440
|
"""
|
|
1604
1441
|
Deletes a specific connector associated with a board, identified by the provided `board_id` and `connector_id`, removing it along with any related configurations.
|
|
1605
1442
|
|
|
@@ -1623,16 +1460,7 @@ class MiroApp(APIApplication):
|
|
|
1623
1460
|
response.raise_for_status()
|
|
1624
1461
|
return response.json()
|
|
1625
1462
|
|
|
1626
|
-
def update_connector(
|
|
1627
|
-
self,
|
|
1628
|
-
board_id,
|
|
1629
|
-
connector_id,
|
|
1630
|
-
captions=None,
|
|
1631
|
-
endItem=None,
|
|
1632
|
-
shape=None,
|
|
1633
|
-
startItem=None,
|
|
1634
|
-
style=None,
|
|
1635
|
-
) -> Any:
|
|
1463
|
+
async def update_connector(self, board_id, connector_id, captions=None, endItem=None, shape=None, startItem=None, style=None) -> Any:
|
|
1636
1464
|
"""
|
|
1637
1465
|
Updates a connector on a specific board using the PATCH method, returning a status message upon successful modification.
|
|
1638
1466
|
|
|
@@ -1789,13 +1617,7 @@ class MiroApp(APIApplication):
|
|
|
1789
1617
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1790
1618
|
if connector_id is None:
|
|
1791
1619
|
raise ValueError("Missing required parameter 'connector_id'")
|
|
1792
|
-
request_body = {
|
|
1793
|
-
"captions": captions,
|
|
1794
|
-
"endItem": endItem,
|
|
1795
|
-
"shape": shape,
|
|
1796
|
-
"startItem": startItem,
|
|
1797
|
-
"style": style,
|
|
1798
|
-
}
|
|
1620
|
+
request_body = {"captions": captions, "endItem": endItem, "shape": shape, "startItem": startItem, "style": style}
|
|
1799
1621
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1800
1622
|
url = f"{self.base_url}/v2/boards/{board_id}/connectors/{connector_id}"
|
|
1801
1623
|
query_params = {}
|
|
@@ -1803,9 +1625,7 @@ class MiroApp(APIApplication):
|
|
|
1803
1625
|
response.raise_for_status()
|
|
1804
1626
|
return response.json()
|
|
1805
1627
|
|
|
1806
|
-
def create_document_item_using_url(
|
|
1807
|
-
self, board_id, data=None, geometry=None, parent=None, position=None
|
|
1808
|
-
) -> Any:
|
|
1628
|
+
async def create_document_item_using_url(self, board_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
1809
1629
|
"""
|
|
1810
1630
|
Adds a document to a specified board using the POST method and returns a status message.
|
|
1811
1631
|
|
|
@@ -1845,12 +1665,7 @@ class MiroApp(APIApplication):
|
|
|
1845
1665
|
"""
|
|
1846
1666
|
if board_id is None:
|
|
1847
1667
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1848
|
-
request_body = {
|
|
1849
|
-
"data": data,
|
|
1850
|
-
"geometry": geometry,
|
|
1851
|
-
"parent": parent,
|
|
1852
|
-
"position": position,
|
|
1853
|
-
}
|
|
1668
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
1854
1669
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1855
1670
|
url = f"{self.base_url}/v2/boards/{board_id}/documents"
|
|
1856
1671
|
query_params = {}
|
|
@@ -1858,7 +1673,7 @@ class MiroApp(APIApplication):
|
|
|
1858
1673
|
response.raise_for_status()
|
|
1859
1674
|
return response.json()
|
|
1860
1675
|
|
|
1861
|
-
def get_document_item(self, board_id, item_id) -> Any:
|
|
1676
|
+
async def get_document_item(self, board_id, item_id) -> Any:
|
|
1862
1677
|
"""
|
|
1863
1678
|
Retrieves a specific document from a board using the provided board ID and item ID.
|
|
1864
1679
|
|
|
@@ -1882,7 +1697,7 @@ class MiroApp(APIApplication):
|
|
|
1882
1697
|
response.raise_for_status()
|
|
1883
1698
|
return response.json()
|
|
1884
1699
|
|
|
1885
|
-
def delete_document_item(self, board_id, item_id) -> Any:
|
|
1700
|
+
async def delete_document_item(self, board_id, item_id) -> Any:
|
|
1886
1701
|
"""
|
|
1887
1702
|
Deletes a specified document from a board using its unique identifier and returns a success status upon completion.
|
|
1888
1703
|
|
|
@@ -1906,9 +1721,7 @@ class MiroApp(APIApplication):
|
|
|
1906
1721
|
response.raise_for_status()
|
|
1907
1722
|
return response.json()
|
|
1908
1723
|
|
|
1909
|
-
def update_document_item_using_url(
|
|
1910
|
-
self, board_id, item_id, data=None, geometry=None, parent=None, position=None
|
|
1911
|
-
) -> Any:
|
|
1724
|
+
async def update_document_item_using_url(self, board_id, item_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
1912
1725
|
"""
|
|
1913
1726
|
Updates a specific document within a board using partial modifications and returns a success status.
|
|
1914
1727
|
|
|
@@ -1951,12 +1764,7 @@ class MiroApp(APIApplication):
|
|
|
1951
1764
|
raise ValueError("Missing required parameter 'board_id'")
|
|
1952
1765
|
if item_id is None:
|
|
1953
1766
|
raise ValueError("Missing required parameter 'item_id'")
|
|
1954
|
-
request_body = {
|
|
1955
|
-
"data": data,
|
|
1956
|
-
"geometry": geometry,
|
|
1957
|
-
"parent": parent,
|
|
1958
|
-
"position": position,
|
|
1959
|
-
}
|
|
1767
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
1960
1768
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1961
1769
|
url = f"{self.base_url}/v2/boards/{board_id}/documents/{item_id}"
|
|
1962
1770
|
query_params = {}
|
|
@@ -1964,9 +1772,7 @@ class MiroApp(APIApplication):
|
|
|
1964
1772
|
response.raise_for_status()
|
|
1965
1773
|
return response.json()
|
|
1966
1774
|
|
|
1967
|
-
def create_embed_item(
|
|
1968
|
-
self, board_id, data=None, geometry=None, parent=None, position=None
|
|
1969
|
-
) -> Any:
|
|
1775
|
+
async def create_embed_item(self, board_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
1970
1776
|
"""
|
|
1971
1777
|
Creates an embed associated with a specific board, returning the result upon successful creation.
|
|
1972
1778
|
|
|
@@ -2006,12 +1812,7 @@ class MiroApp(APIApplication):
|
|
|
2006
1812
|
"""
|
|
2007
1813
|
if board_id is None:
|
|
2008
1814
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2009
|
-
request_body = {
|
|
2010
|
-
"data": data,
|
|
2011
|
-
"geometry": geometry,
|
|
2012
|
-
"parent": parent,
|
|
2013
|
-
"position": position,
|
|
2014
|
-
}
|
|
1815
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
2015
1816
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2016
1817
|
url = f"{self.base_url}/v2/boards/{board_id}/embeds"
|
|
2017
1818
|
query_params = {}
|
|
@@ -2019,7 +1820,7 @@ class MiroApp(APIApplication):
|
|
|
2019
1820
|
response.raise_for_status()
|
|
2020
1821
|
return response.json()
|
|
2021
1822
|
|
|
2022
|
-
def get_embed_item(self, board_id, item_id) -> Any:
|
|
1823
|
+
async def get_embed_item(self, board_id, item_id) -> Any:
|
|
2023
1824
|
"""
|
|
2024
1825
|
Retrieves an embedded item from a specified board using the provided board and item identifiers.
|
|
2025
1826
|
|
|
@@ -2043,7 +1844,7 @@ class MiroApp(APIApplication):
|
|
|
2043
1844
|
response.raise_for_status()
|
|
2044
1845
|
return response.json()
|
|
2045
1846
|
|
|
2046
|
-
def delete_embed_item(self, board_id, item_id) -> Any:
|
|
1847
|
+
async def delete_embed_item(self, board_id, item_id) -> Any:
|
|
2047
1848
|
"""
|
|
2048
1849
|
Deletes the specified embed item from the board by its ID and returns a success status upon removal.
|
|
2049
1850
|
|
|
@@ -2067,9 +1868,7 @@ class MiroApp(APIApplication):
|
|
|
2067
1868
|
response.raise_for_status()
|
|
2068
1869
|
return response.json()
|
|
2069
1870
|
|
|
2070
|
-
def update_embed_item(
|
|
2071
|
-
self, board_id, item_id, data=None, geometry=None, parent=None, position=None
|
|
2072
|
-
) -> Any:
|
|
1871
|
+
async def update_embed_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
2073
1872
|
"""
|
|
2074
1873
|
Updates an embedded item within a specified board and returns the updated result.
|
|
2075
1874
|
|
|
@@ -2112,12 +1911,7 @@ class MiroApp(APIApplication):
|
|
|
2112
1911
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2113
1912
|
if item_id is None:
|
|
2114
1913
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2115
|
-
request_body = {
|
|
2116
|
-
"data": data,
|
|
2117
|
-
"geometry": geometry,
|
|
2118
|
-
"parent": parent,
|
|
2119
|
-
"position": position,
|
|
2120
|
-
}
|
|
1914
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
2121
1915
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2122
1916
|
url = f"{self.base_url}/v2/boards/{board_id}/embeds/{item_id}"
|
|
2123
1917
|
query_params = {}
|
|
@@ -2125,9 +1919,7 @@ class MiroApp(APIApplication):
|
|
|
2125
1919
|
response.raise_for_status()
|
|
2126
1920
|
return response.json()
|
|
2127
1921
|
|
|
2128
|
-
def create_image_item_using_url(
|
|
2129
|
-
self, board_id, data=None, geometry=None, parent=None, position=None
|
|
2130
|
-
) -> Any:
|
|
1922
|
+
async def create_image_item_using_url(self, board_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
2131
1923
|
"""
|
|
2132
1924
|
Uploads an image to a specified board and returns success status upon completion.
|
|
2133
1925
|
|
|
@@ -2167,12 +1959,7 @@ class MiroApp(APIApplication):
|
|
|
2167
1959
|
"""
|
|
2168
1960
|
if board_id is None:
|
|
2169
1961
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2170
|
-
request_body = {
|
|
2171
|
-
"data": data,
|
|
2172
|
-
"geometry": geometry,
|
|
2173
|
-
"parent": parent,
|
|
2174
|
-
"position": position,
|
|
2175
|
-
}
|
|
1962
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
2176
1963
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2177
1964
|
url = f"{self.base_url}/v2/boards/{board_id}/images"
|
|
2178
1965
|
query_params = {}
|
|
@@ -2180,7 +1967,7 @@ class MiroApp(APIApplication):
|
|
|
2180
1967
|
response.raise_for_status()
|
|
2181
1968
|
return response.json()
|
|
2182
1969
|
|
|
2183
|
-
def get_image_item(self, board_id, item_id) -> Any:
|
|
1970
|
+
async def get_image_item(self, board_id, item_id) -> Any:
|
|
2184
1971
|
"""
|
|
2185
1972
|
Retrieves a specific image item from a designated board using the provided identifiers.
|
|
2186
1973
|
|
|
@@ -2204,7 +1991,7 @@ class MiroApp(APIApplication):
|
|
|
2204
1991
|
response.raise_for_status()
|
|
2205
1992
|
return response.json()
|
|
2206
1993
|
|
|
2207
|
-
def delete_image_item(self, board_id, item_id) -> Any:
|
|
1994
|
+
async def delete_image_item(self, board_id, item_id) -> Any:
|
|
2208
1995
|
"""
|
|
2209
1996
|
Deletes a specific image from a specified board.
|
|
2210
1997
|
|
|
@@ -2228,9 +2015,7 @@ class MiroApp(APIApplication):
|
|
|
2228
2015
|
response.raise_for_status()
|
|
2229
2016
|
return response.json()
|
|
2230
2017
|
|
|
2231
|
-
def update_image_item_using_url(
|
|
2232
|
-
self, board_id, item_id, data=None, geometry=None, parent=None, position=None
|
|
2233
|
-
) -> Any:
|
|
2018
|
+
async def update_image_item_using_url(self, board_id, item_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
2234
2019
|
"""
|
|
2235
2020
|
Updates a specific image in a board using the PATCH method, applying partial modifications to the image's properties.
|
|
2236
2021
|
|
|
@@ -2273,12 +2058,7 @@ class MiroApp(APIApplication):
|
|
|
2273
2058
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2274
2059
|
if item_id is None:
|
|
2275
2060
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2276
|
-
request_body = {
|
|
2277
|
-
"data": data,
|
|
2278
|
-
"geometry": geometry,
|
|
2279
|
-
"parent": parent,
|
|
2280
|
-
"position": position,
|
|
2281
|
-
}
|
|
2061
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
2282
2062
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2283
2063
|
url = f"{self.base_url}/v2/boards/{board_id}/images/{item_id}"
|
|
2284
2064
|
query_params = {}
|
|
@@ -2286,7 +2066,7 @@ class MiroApp(APIApplication):
|
|
|
2286
2066
|
response.raise_for_status()
|
|
2287
2067
|
return response.json()
|
|
2288
2068
|
|
|
2289
|
-
def get_items_on_board(self, board_id, limit=None, type=None, cursor=None) -> Any:
|
|
2069
|
+
async def get_items_on_board(self, board_id, limit=None, type=None, cursor=None) -> Any:
|
|
2290
2070
|
"""
|
|
2291
2071
|
Retrieves a paginated list of items from a specified board using query parameters for limit, type, and cursor-based pagination.
|
|
2292
2072
|
|
|
@@ -2305,16 +2085,12 @@ class MiroApp(APIApplication):
|
|
|
2305
2085
|
if board_id is None:
|
|
2306
2086
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2307
2087
|
url = f"{self.base_url}/v2/boards/{board_id}/items"
|
|
2308
|
-
query_params = {
|
|
2309
|
-
k: v
|
|
2310
|
-
for k, v in [("limit", limit), ("type", type), ("cursor", cursor)]
|
|
2311
|
-
if v is not None
|
|
2312
|
-
}
|
|
2088
|
+
query_params = {k: v for k, v in [("limit", limit), ("type", type), ("cursor", cursor)] if v is not None}
|
|
2313
2089
|
response = self._get(url, params=query_params)
|
|
2314
2090
|
response.raise_for_status()
|
|
2315
2091
|
return response.json()
|
|
2316
2092
|
|
|
2317
|
-
def get_specific_item_on_board(self, board_id, item_id) -> Any:
|
|
2093
|
+
async def get_specific_item_on_board(self, board_id, item_id) -> Any:
|
|
2318
2094
|
"""
|
|
2319
2095
|
Retrieves details of a specific item from a board using the GET method and returns the data in response.
|
|
2320
2096
|
|
|
@@ -2338,7 +2114,7 @@ class MiroApp(APIApplication):
|
|
|
2338
2114
|
response.raise_for_status()
|
|
2339
2115
|
return response.json()
|
|
2340
2116
|
|
|
2341
|
-
def delete_item(self, board_id, item_id) -> Any:
|
|
2117
|
+
async def delete_item(self, board_id, item_id) -> Any:
|
|
2342
2118
|
"""
|
|
2343
2119
|
Deletes a specific item from a board by its ID and returns a success status.
|
|
2344
2120
|
|
|
@@ -2362,9 +2138,7 @@ class MiroApp(APIApplication):
|
|
|
2362
2138
|
response.raise_for_status()
|
|
2363
2139
|
return response.json()
|
|
2364
2140
|
|
|
2365
|
-
def update_item_position_or_parent(
|
|
2366
|
-
self, board_id, item_id, parent=None, position=None
|
|
2367
|
-
) -> Any:
|
|
2141
|
+
async def update_item_position_or_parent(self, board_id, item_id, parent=None, position=None) -> Any:
|
|
2368
2142
|
"""
|
|
2369
2143
|
Partially updates an existing item on a board using the PATCH method, allowing for specific modifications to resource properties.
|
|
2370
2144
|
|
|
@@ -2396,10 +2170,7 @@ class MiroApp(APIApplication):
|
|
|
2396
2170
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2397
2171
|
if item_id is None:
|
|
2398
2172
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2399
|
-
request_body = {
|
|
2400
|
-
"parent": parent,
|
|
2401
|
-
"position": position,
|
|
2402
|
-
}
|
|
2173
|
+
request_body = {"parent": parent, "position": position}
|
|
2403
2174
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2404
2175
|
url = f"{self.base_url}/v2/boards/{board_id}/items/{item_id}"
|
|
2405
2176
|
query_params = {}
|
|
@@ -2407,14 +2178,7 @@ class MiroApp(APIApplication):
|
|
|
2407
2178
|
response.raise_for_status()
|
|
2408
2179
|
return response.json()
|
|
2409
2180
|
|
|
2410
|
-
def get_items_within_frame(
|
|
2411
|
-
self,
|
|
2412
|
-
board_id_PlatformContainers,
|
|
2413
|
-
parent_item_id=None,
|
|
2414
|
-
limit=None,
|
|
2415
|
-
type=None,
|
|
2416
|
-
cursor=None,
|
|
2417
|
-
) -> Any:
|
|
2181
|
+
async def get_items_within_frame(self, board_id_PlatformContainers, parent_item_id=None, limit=None, type=None, cursor=None) -> Any:
|
|
2418
2182
|
"""
|
|
2419
2183
|
Retrieves a paginated list of items from a specified board, filtered by parent item ID and type, using cursor-based pagination.
|
|
2420
2184
|
|
|
@@ -2435,20 +2199,13 @@ class MiroApp(APIApplication):
|
|
|
2435
2199
|
raise ValueError("Missing required parameter 'board_id_PlatformContainers'")
|
|
2436
2200
|
url = f"{self.base_url}/v2/boards/{board_id_PlatformContainers}/items"
|
|
2437
2201
|
query_params = {
|
|
2438
|
-
k: v
|
|
2439
|
-
for k, v in [
|
|
2440
|
-
("parent_item_id", parent_item_id),
|
|
2441
|
-
("limit", limit),
|
|
2442
|
-
("type", type),
|
|
2443
|
-
("cursor", cursor),
|
|
2444
|
-
]
|
|
2445
|
-
if v is not None
|
|
2202
|
+
k: v for k, v in [("parent_item_id", parent_item_id), ("limit", limit), ("type", type), ("cursor", cursor)] if v is not None
|
|
2446
2203
|
}
|
|
2447
2204
|
response = self._get(url, params=query_params)
|
|
2448
2205
|
response.raise_for_status()
|
|
2449
2206
|
return response.json()
|
|
2450
2207
|
|
|
2451
|
-
def get_specific_item_on_board1(self, board_id, item_id) -> Any:
|
|
2208
|
+
async def get_specific_item_on_board1(self, board_id, item_id) -> Any:
|
|
2452
2209
|
"""
|
|
2453
2210
|
Retrieves a specific item from a board using the specified identifiers.
|
|
2454
2211
|
|
|
@@ -2472,7 +2229,7 @@ class MiroApp(APIApplication):
|
|
|
2472
2229
|
response.raise_for_status()
|
|
2473
2230
|
return response.json()
|
|
2474
2231
|
|
|
2475
|
-
def delete_item1(self, board_id, item_id) -> Any:
|
|
2232
|
+
async def delete_item1(self, board_id, item_id) -> Any:
|
|
2476
2233
|
"""
|
|
2477
2234
|
Deletes a specific item from a Miro board using the "DELETE" method.
|
|
2478
2235
|
|
|
@@ -2496,7 +2253,7 @@ class MiroApp(APIApplication):
|
|
|
2496
2253
|
response.raise_for_status()
|
|
2497
2254
|
return response.json()
|
|
2498
2255
|
|
|
2499
|
-
def get_all_board_members(self, board_id, limit=None, offset=None) -> Any:
|
|
2256
|
+
async def get_all_board_members(self, board_id, limit=None, offset=None) -> Any:
|
|
2500
2257
|
"""
|
|
2501
2258
|
Retrieves a paginated list of board members using query parameters for limit and offset, returning a 200 status on success.
|
|
2502
2259
|
|
|
@@ -2514,14 +2271,12 @@ class MiroApp(APIApplication):
|
|
|
2514
2271
|
if board_id is None:
|
|
2515
2272
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2516
2273
|
url = f"{self.base_url}/v2/boards/{board_id}/members"
|
|
2517
|
-
query_params = {
|
|
2518
|
-
k: v for k, v in [("limit", limit), ("offset", offset)] if v is not None
|
|
2519
|
-
}
|
|
2274
|
+
query_params = {k: v for k, v in [("limit", limit), ("offset", offset)] if v is not None}
|
|
2520
2275
|
response = self._get(url, params=query_params)
|
|
2521
2276
|
response.raise_for_status()
|
|
2522
2277
|
return response.json()
|
|
2523
2278
|
|
|
2524
|
-
def share_board(self, board_id, emails=None, message=None, role=None) -> Any:
|
|
2279
|
+
async def share_board(self, board_id, emails=None, message=None, role=None) -> Any:
|
|
2525
2280
|
"""
|
|
2526
2281
|
Adds a new member to a board using the API at path "/v2/boards/{board_id}/members" and returns a successful status message upon completion.
|
|
2527
2282
|
|
|
@@ -2549,11 +2304,7 @@ class MiroApp(APIApplication):
|
|
|
2549
2304
|
"""
|
|
2550
2305
|
if board_id is None:
|
|
2551
2306
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2552
|
-
request_body = {
|
|
2553
|
-
"emails": emails,
|
|
2554
|
-
"message": message,
|
|
2555
|
-
"role": role,
|
|
2556
|
-
}
|
|
2307
|
+
request_body = {"emails": emails, "message": message, "role": role}
|
|
2557
2308
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2558
2309
|
url = f"{self.base_url}/v2/boards/{board_id}/members"
|
|
2559
2310
|
query_params = {}
|
|
@@ -2561,7 +2312,7 @@ class MiroApp(APIApplication):
|
|
|
2561
2312
|
response.raise_for_status()
|
|
2562
2313
|
return response.json()
|
|
2563
2314
|
|
|
2564
|
-
def get_specific_board_member(self, board_id, board_member_id) -> Any:
|
|
2315
|
+
async def get_specific_board_member(self, board_id, board_member_id) -> Any:
|
|
2565
2316
|
"""
|
|
2566
2317
|
Retrieves information about a specific board member using the "GET" method, providing details associated with the member identified by `{board_member_id}` within the board identified by `{board_id}`.
|
|
2567
2318
|
|
|
@@ -2585,7 +2336,7 @@ class MiroApp(APIApplication):
|
|
|
2585
2336
|
response.raise_for_status()
|
|
2586
2337
|
return response.json()
|
|
2587
2338
|
|
|
2588
|
-
def remove_board_member(self, board_id, board_member_id) -> Any:
|
|
2339
|
+
async def remove_board_member(self, board_id, board_member_id) -> Any:
|
|
2589
2340
|
"""
|
|
2590
2341
|
Removes a user from a board using the Miro API and returns a successful response upon completion.
|
|
2591
2342
|
|
|
@@ -2609,7 +2360,7 @@ class MiroApp(APIApplication):
|
|
|
2609
2360
|
response.raise_for_status()
|
|
2610
2361
|
return response.json()
|
|
2611
2362
|
|
|
2612
|
-
def update_board_member(self, board_id, board_member_id, role=None) -> Any:
|
|
2363
|
+
async def update_board_member(self, board_id, board_member_id, role=None) -> Any:
|
|
2613
2364
|
"""
|
|
2614
2365
|
Updates a board member's details for the specified board using the PATCH method.
|
|
2615
2366
|
|
|
@@ -2634,9 +2385,7 @@ class MiroApp(APIApplication):
|
|
|
2634
2385
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2635
2386
|
if board_member_id is None:
|
|
2636
2387
|
raise ValueError("Missing required parameter 'board_member_id'")
|
|
2637
|
-
request_body = {
|
|
2638
|
-
"role": role,
|
|
2639
|
-
}
|
|
2388
|
+
request_body = {"role": role}
|
|
2640
2389
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2641
2390
|
url = f"{self.base_url}/v2/boards/{board_id}/members/{board_member_id}"
|
|
2642
2391
|
query_params = {}
|
|
@@ -2644,9 +2393,7 @@ class MiroApp(APIApplication):
|
|
|
2644
2393
|
response.raise_for_status()
|
|
2645
2394
|
return response.json()
|
|
2646
2395
|
|
|
2647
|
-
def create_shape_item(
|
|
2648
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
2649
|
-
) -> Any:
|
|
2396
|
+
async def create_shape_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
2650
2397
|
"""
|
|
2651
2398
|
Creates a new shape on a specified board using the provided data.
|
|
2652
2399
|
|
|
@@ -2700,13 +2447,7 @@ class MiroApp(APIApplication):
|
|
|
2700
2447
|
"""
|
|
2701
2448
|
if board_id is None:
|
|
2702
2449
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2703
|
-
request_body = {
|
|
2704
|
-
"data": data,
|
|
2705
|
-
"geometry": geometry,
|
|
2706
|
-
"parent": parent,
|
|
2707
|
-
"position": position,
|
|
2708
|
-
"style": style,
|
|
2709
|
-
}
|
|
2450
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
2710
2451
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2711
2452
|
url = f"{self.base_url}/v2/boards/{board_id}/shapes"
|
|
2712
2453
|
query_params = {}
|
|
@@ -2714,7 +2455,7 @@ class MiroApp(APIApplication):
|
|
|
2714
2455
|
response.raise_for_status()
|
|
2715
2456
|
return response.json()
|
|
2716
2457
|
|
|
2717
|
-
def get_shape_item(self, board_id, item_id) -> Any:
|
|
2458
|
+
async def get_shape_item(self, board_id, item_id) -> Any:
|
|
2718
2459
|
"""
|
|
2719
2460
|
Retrieves a specific shape from the specified board.
|
|
2720
2461
|
|
|
@@ -2738,7 +2479,7 @@ class MiroApp(APIApplication):
|
|
|
2738
2479
|
response.raise_for_status()
|
|
2739
2480
|
return response.json()
|
|
2740
2481
|
|
|
2741
|
-
def delete_shape_item(self, board_id, item_id) -> Any:
|
|
2482
|
+
async def delete_shape_item(self, board_id, item_id) -> Any:
|
|
2742
2483
|
"""
|
|
2743
2484
|
Deletes a specified shape from a board using the provided board and item identifiers.
|
|
2744
2485
|
|
|
@@ -2762,16 +2503,7 @@ class MiroApp(APIApplication):
|
|
|
2762
2503
|
response.raise_for_status()
|
|
2763
2504
|
return response.json()
|
|
2764
2505
|
|
|
2765
|
-
def update_shape_item(
|
|
2766
|
-
self,
|
|
2767
|
-
board_id,
|
|
2768
|
-
item_id,
|
|
2769
|
-
data=None,
|
|
2770
|
-
geometry=None,
|
|
2771
|
-
parent=None,
|
|
2772
|
-
position=None,
|
|
2773
|
-
style=None,
|
|
2774
|
-
) -> Any:
|
|
2506
|
+
async def update_shape_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
2775
2507
|
"""
|
|
2776
2508
|
Updates a specific shape on a board by its ID and returns a success status.
|
|
2777
2509
|
|
|
@@ -2828,13 +2560,7 @@ class MiroApp(APIApplication):
|
|
|
2828
2560
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2829
2561
|
if item_id is None:
|
|
2830
2562
|
raise ValueError("Missing required parameter 'item_id'")
|
|
2831
|
-
request_body = {
|
|
2832
|
-
"data": data,
|
|
2833
|
-
"geometry": geometry,
|
|
2834
|
-
"parent": parent,
|
|
2835
|
-
"position": position,
|
|
2836
|
-
"style": style,
|
|
2837
|
-
}
|
|
2563
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
2838
2564
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2839
2565
|
url = f"{self.base_url}/v2/boards/{board_id}/shapes/{item_id}"
|
|
2840
2566
|
query_params = {}
|
|
@@ -2842,9 +2568,7 @@ class MiroApp(APIApplication):
|
|
|
2842
2568
|
response.raise_for_status()
|
|
2843
2569
|
return response.json()
|
|
2844
2570
|
|
|
2845
|
-
def create_sticky_note_item(
|
|
2846
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
2847
|
-
) -> Any:
|
|
2571
|
+
async def create_sticky_note_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
2848
2572
|
"""
|
|
2849
2573
|
Creates a new sticky note on a specific board using the "POST" method and returns a successful status message when the operation is completed.
|
|
2850
2574
|
|
|
@@ -2889,13 +2613,7 @@ class MiroApp(APIApplication):
|
|
|
2889
2613
|
"""
|
|
2890
2614
|
if board_id is None:
|
|
2891
2615
|
raise ValueError("Missing required parameter 'board_id'")
|
|
2892
|
-
request_body = {
|
|
2893
|
-
"data": data,
|
|
2894
|
-
"geometry": geometry,
|
|
2895
|
-
"parent": parent,
|
|
2896
|
-
"position": position,
|
|
2897
|
-
"style": style,
|
|
2898
|
-
}
|
|
2616
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
2899
2617
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2900
2618
|
url = f"{self.base_url}/v2/boards/{board_id}/sticky_notes"
|
|
2901
2619
|
query_params = {}
|
|
@@ -2903,7 +2621,7 @@ class MiroApp(APIApplication):
|
|
|
2903
2621
|
response.raise_for_status()
|
|
2904
2622
|
return response.json()
|
|
2905
2623
|
|
|
2906
|
-
def get_sticky_note_item(self, board_id, item_id) -> Any:
|
|
2624
|
+
async def get_sticky_note_item(self, board_id, item_id) -> Any:
|
|
2907
2625
|
"""
|
|
2908
2626
|
Retrieves a specific sticky note from a board using the provided board and item IDs.
|
|
2909
2627
|
|
|
@@ -2927,7 +2645,7 @@ class MiroApp(APIApplication):
|
|
|
2927
2645
|
response.raise_for_status()
|
|
2928
2646
|
return response.json()
|
|
2929
2647
|
|
|
2930
|
-
def delete_sticky_note_item(self, board_id, item_id) -> Any:
|
|
2648
|
+
async def delete_sticky_note_item(self, board_id, item_id) -> Any:
|
|
2931
2649
|
"""
|
|
2932
2650
|
Deletes a specific sticky note from a board using the DELETE method, returning a successful status message.
|
|
2933
2651
|
|
|
@@ -2951,16 +2669,7 @@ class MiroApp(APIApplication):
|
|
|
2951
2669
|
response.raise_for_status()
|
|
2952
2670
|
return response.json()
|
|
2953
2671
|
|
|
2954
|
-
def update_sticky_note_item(
|
|
2955
|
-
self,
|
|
2956
|
-
board_id,
|
|
2957
|
-
item_id,
|
|
2958
|
-
data=None,
|
|
2959
|
-
geometry=None,
|
|
2960
|
-
parent=None,
|
|
2961
|
-
position=None,
|
|
2962
|
-
style=None,
|
|
2963
|
-
) -> Any:
|
|
2672
|
+
async def update_sticky_note_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
2964
2673
|
"""
|
|
2965
2674
|
Updates a sticky note on the specified board using partial modifications and returns a success status.
|
|
2966
2675
|
|
|
@@ -3008,13 +2717,7 @@ class MiroApp(APIApplication):
|
|
|
3008
2717
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3009
2718
|
if item_id is None:
|
|
3010
2719
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3011
|
-
request_body = {
|
|
3012
|
-
"data": data,
|
|
3013
|
-
"geometry": geometry,
|
|
3014
|
-
"parent": parent,
|
|
3015
|
-
"position": position,
|
|
3016
|
-
"style": style,
|
|
3017
|
-
}
|
|
2720
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3018
2721
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3019
2722
|
url = f"{self.base_url}/v2/boards/{board_id}/sticky_notes/{item_id}"
|
|
3020
2723
|
query_params = {}
|
|
@@ -3022,9 +2725,7 @@ class MiroApp(APIApplication):
|
|
|
3022
2725
|
response.raise_for_status()
|
|
3023
2726
|
return response.json()
|
|
3024
2727
|
|
|
3025
|
-
def create_text_item(
|
|
3026
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
3027
|
-
) -> Any:
|
|
2728
|
+
async def create_text_item(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
3028
2729
|
"""
|
|
3029
2730
|
Creates a new text entry on a specified board and returns a success status.
|
|
3030
2731
|
|
|
@@ -3071,13 +2772,7 @@ class MiroApp(APIApplication):
|
|
|
3071
2772
|
"""
|
|
3072
2773
|
if board_id is None:
|
|
3073
2774
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3074
|
-
request_body = {
|
|
3075
|
-
"data": data,
|
|
3076
|
-
"geometry": geometry,
|
|
3077
|
-
"parent": parent,
|
|
3078
|
-
"position": position,
|
|
3079
|
-
"style": style,
|
|
3080
|
-
}
|
|
2775
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3081
2776
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3082
2777
|
url = f"{self.base_url}/v2/boards/{board_id}/texts"
|
|
3083
2778
|
query_params = {}
|
|
@@ -3085,7 +2780,7 @@ class MiroApp(APIApplication):
|
|
|
3085
2780
|
response.raise_for_status()
|
|
3086
2781
|
return response.json()
|
|
3087
2782
|
|
|
3088
|
-
def get_text_item(self, board_id, item_id) -> Any:
|
|
2783
|
+
async def get_text_item(self, board_id, item_id) -> Any:
|
|
3089
2784
|
"""
|
|
3090
2785
|
Retrieves a specific text item from a board using the provided board and item identifiers.
|
|
3091
2786
|
|
|
@@ -3109,7 +2804,7 @@ class MiroApp(APIApplication):
|
|
|
3109
2804
|
response.raise_for_status()
|
|
3110
2805
|
return response.json()
|
|
3111
2806
|
|
|
3112
|
-
def delete_text_item(self, board_id, item_id) -> Any:
|
|
2807
|
+
async def delete_text_item(self, board_id, item_id) -> Any:
|
|
3113
2808
|
"""
|
|
3114
2809
|
Deletes a specific text item from a board using the provided board and item identifiers.
|
|
3115
2810
|
|
|
@@ -3133,16 +2828,7 @@ class MiroApp(APIApplication):
|
|
|
3133
2828
|
response.raise_for_status()
|
|
3134
2829
|
return response.json()
|
|
3135
2830
|
|
|
3136
|
-
def update_text_item(
|
|
3137
|
-
self,
|
|
3138
|
-
board_id,
|
|
3139
|
-
item_id,
|
|
3140
|
-
data=None,
|
|
3141
|
-
geometry=None,
|
|
3142
|
-
parent=None,
|
|
3143
|
-
position=None,
|
|
3144
|
-
style=None,
|
|
3145
|
-
) -> Any:
|
|
2831
|
+
async def update_text_item(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
3146
2832
|
"""
|
|
3147
2833
|
Updates a specific text item on a board using the PATCH method, allowing partial modifications of the item's properties.
|
|
3148
2834
|
|
|
@@ -3192,13 +2878,7 @@ class MiroApp(APIApplication):
|
|
|
3192
2878
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3193
2879
|
if item_id is None:
|
|
3194
2880
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3195
|
-
request_body = {
|
|
3196
|
-
"data": data,
|
|
3197
|
-
"geometry": geometry,
|
|
3198
|
-
"parent": parent,
|
|
3199
|
-
"position": position,
|
|
3200
|
-
"style": style,
|
|
3201
|
-
}
|
|
2881
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3202
2882
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3203
2883
|
url = f"{self.base_url}/v2/boards/{board_id}/texts/{item_id}"
|
|
3204
2884
|
query_params = {}
|
|
@@ -3206,7 +2886,7 @@ class MiroApp(APIApplication):
|
|
|
3206
2886
|
response.raise_for_status()
|
|
3207
2887
|
return response.json()
|
|
3208
2888
|
|
|
3209
|
-
def create_items_in_bulk(self, board_id, items=None) -> Any:
|
|
2889
|
+
async def create_items_in_bulk(self, board_id, items=None) -> Any:
|
|
3210
2890
|
"""
|
|
3211
2891
|
Bulk updates or creates items on a specified board using the API endpoint "/v2/boards/{board_id}/items/bulk" via the POST method.
|
|
3212
2892
|
|
|
@@ -3221,7 +2901,6 @@ class MiroApp(APIApplication):
|
|
|
3221
2901
|
"""
|
|
3222
2902
|
if board_id is None:
|
|
3223
2903
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3224
|
-
# Use items array directly as request body
|
|
3225
2904
|
request_body = items
|
|
3226
2905
|
url = f"{self.base_url}/v2/boards/{board_id}/items/bulk"
|
|
3227
2906
|
query_params = {}
|
|
@@ -3229,9 +2908,7 @@ class MiroApp(APIApplication):
|
|
|
3229
2908
|
response.raise_for_status()
|
|
3230
2909
|
return response.json()
|
|
3231
2910
|
|
|
3232
|
-
def create_frame(
|
|
3233
|
-
self, board_id, data=None, geometry=None, position=None, style=None
|
|
3234
|
-
) -> Any:
|
|
2911
|
+
async def create_frame(self, board_id, data=None, geometry=None, position=None, style=None) -> Any:
|
|
3235
2912
|
"""
|
|
3236
2913
|
Creates a new frame in the specified board using the API and returns a successful response.
|
|
3237
2914
|
|
|
@@ -3272,12 +2949,7 @@ class MiroApp(APIApplication):
|
|
|
3272
2949
|
"""
|
|
3273
2950
|
if board_id is None:
|
|
3274
2951
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3275
|
-
request_body = {
|
|
3276
|
-
"data": data,
|
|
3277
|
-
"geometry": geometry,
|
|
3278
|
-
"position": position,
|
|
3279
|
-
"style": style,
|
|
3280
|
-
}
|
|
2952
|
+
request_body = {"data": data, "geometry": geometry, "position": position, "style": style}
|
|
3281
2953
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3282
2954
|
url = f"{self.base_url}/v2/boards/{board_id}/frames"
|
|
3283
2955
|
query_params = {}
|
|
@@ -3285,7 +2957,7 @@ class MiroApp(APIApplication):
|
|
|
3285
2957
|
response.raise_for_status()
|
|
3286
2958
|
return response.json()
|
|
3287
2959
|
|
|
3288
|
-
def get_frame(self, board_id, item_id) -> Any:
|
|
2960
|
+
async def get_frame(self, board_id, item_id) -> Any:
|
|
3289
2961
|
"""
|
|
3290
2962
|
Retrieves the details of a specific frame within a board using the "GET" method.
|
|
3291
2963
|
|
|
@@ -3309,7 +2981,7 @@ class MiroApp(APIApplication):
|
|
|
3309
2981
|
response.raise_for_status()
|
|
3310
2982
|
return response.json()
|
|
3311
2983
|
|
|
3312
|
-
def delete_frame(self, board_id, item_id) -> Any:
|
|
2984
|
+
async def delete_frame(self, board_id, item_id) -> Any:
|
|
3313
2985
|
"""
|
|
3314
2986
|
Deletes a frame with the specified item ID from a board with the given board ID.
|
|
3315
2987
|
|
|
@@ -3333,9 +3005,7 @@ class MiroApp(APIApplication):
|
|
|
3333
3005
|
response.raise_for_status()
|
|
3334
3006
|
return response.json()
|
|
3335
3007
|
|
|
3336
|
-
def update_frame(
|
|
3337
|
-
self, board_id, item_id, data=None, geometry=None, position=None, style=None
|
|
3338
|
-
) -> Any:
|
|
3008
|
+
async def update_frame(self, board_id, item_id, data=None, geometry=None, position=None, style=None) -> Any:
|
|
3339
3009
|
"""
|
|
3340
3010
|
Updates specific frame properties for a board using partial modifications and returns a success status.
|
|
3341
3011
|
|
|
@@ -3379,12 +3049,7 @@ class MiroApp(APIApplication):
|
|
|
3379
3049
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3380
3050
|
if item_id is None:
|
|
3381
3051
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3382
|
-
request_body = {
|
|
3383
|
-
"data": data,
|
|
3384
|
-
"geometry": geometry,
|
|
3385
|
-
"position": position,
|
|
3386
|
-
"style": style,
|
|
3387
|
-
}
|
|
3052
|
+
request_body = {"data": data, "geometry": geometry, "position": position, "style": style}
|
|
3388
3053
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3389
3054
|
url = f"{self.base_url}/v2/boards/{board_id}/frames/{item_id}"
|
|
3390
3055
|
query_params = {}
|
|
@@ -3392,7 +3057,7 @@ class MiroApp(APIApplication):
|
|
|
3392
3057
|
response.raise_for_status()
|
|
3393
3058
|
return response.json()
|
|
3394
3059
|
|
|
3395
|
-
def get_app_metrics(self, app_id, startDate=None, endDate=None, period=None) -> Any:
|
|
3060
|
+
async def get_app_metrics(self, app_id, startDate=None, endDate=None, period=None) -> Any:
|
|
3396
3061
|
"""
|
|
3397
3062
|
Retrieves application metrics for a specified time period using the `startDate`, `endDate`, and `period` query parameters.
|
|
3398
3063
|
|
|
@@ -3411,20 +3076,12 @@ class MiroApp(APIApplication):
|
|
|
3411
3076
|
if app_id is None:
|
|
3412
3077
|
raise ValueError("Missing required parameter 'app_id'")
|
|
3413
3078
|
url = f"{self.base_url}/v2-experimental/apps/{app_id}/metrics"
|
|
3414
|
-
query_params = {
|
|
3415
|
-
k: v
|
|
3416
|
-
for k, v in [
|
|
3417
|
-
("startDate", startDate),
|
|
3418
|
-
("endDate", endDate),
|
|
3419
|
-
("period", period),
|
|
3420
|
-
]
|
|
3421
|
-
if v is not None
|
|
3422
|
-
}
|
|
3079
|
+
query_params = {k: v for k, v in [("startDate", startDate), ("endDate", endDate), ("period", period)] if v is not None}
|
|
3423
3080
|
response = self._get(url, params=query_params)
|
|
3424
3081
|
response.raise_for_status()
|
|
3425
3082
|
return response.json()
|
|
3426
3083
|
|
|
3427
|
-
def get_total_app_metrics(self, app_id) -> Any:
|
|
3084
|
+
async def get_total_app_metrics(self, app_id) -> Any:
|
|
3428
3085
|
"""
|
|
3429
3086
|
Retrieves total metrics for a specified application by its ID.
|
|
3430
3087
|
|
|
@@ -3445,9 +3102,7 @@ class MiroApp(APIApplication):
|
|
|
3445
3102
|
response.raise_for_status()
|
|
3446
3103
|
return response.json()
|
|
3447
3104
|
|
|
3448
|
-
def create_webhook_subscription(
|
|
3449
|
-
self, boardId=None, callbackUrl=None, status=None
|
|
3450
|
-
) -> Any:
|
|
3105
|
+
async def create_webhook_subscription(self, boardId=None, callbackUrl=None, status=None) -> Any:
|
|
3451
3106
|
"""
|
|
3452
3107
|
Creates a board subscription webhook and returns a success status upon configuration.
|
|
3453
3108
|
|
|
@@ -3470,11 +3125,7 @@ class MiroApp(APIApplication):
|
|
|
3470
3125
|
Tags:
|
|
3471
3126
|
Webhooks (experimental)
|
|
3472
3127
|
"""
|
|
3473
|
-
request_body = {
|
|
3474
|
-
"boardId": boardId,
|
|
3475
|
-
"callbackUrl": callbackUrl,
|
|
3476
|
-
"status": status,
|
|
3477
|
-
}
|
|
3128
|
+
request_body = {"boardId": boardId, "callbackUrl": callbackUrl, "status": status}
|
|
3478
3129
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3479
3130
|
url = f"{self.base_url}/v2-experimental/webhooks/board_subscriptions"
|
|
3480
3131
|
query_params = {}
|
|
@@ -3482,9 +3133,7 @@ class MiroApp(APIApplication):
|
|
|
3482
3133
|
response.raise_for_status()
|
|
3483
3134
|
return response.json()
|
|
3484
3135
|
|
|
3485
|
-
def update_webhook_subscription(
|
|
3486
|
-
self, subscription_id, callbackUrl=None, status=None
|
|
3487
|
-
) -> Any:
|
|
3136
|
+
async def update_webhook_subscription(self, subscription_id, callbackUrl=None, status=None) -> Any:
|
|
3488
3137
|
"""
|
|
3489
3138
|
Updates a webhook subscription for a board using the GitHub API and returns a success status.
|
|
3490
3139
|
|
|
@@ -3508,10 +3157,7 @@ class MiroApp(APIApplication):
|
|
|
3508
3157
|
"""
|
|
3509
3158
|
if subscription_id is None:
|
|
3510
3159
|
raise ValueError("Missing required parameter 'subscription_id'")
|
|
3511
|
-
request_body = {
|
|
3512
|
-
"callbackUrl": callbackUrl,
|
|
3513
|
-
"status": status,
|
|
3514
|
-
}
|
|
3160
|
+
request_body = {"callbackUrl": callbackUrl, "status": status}
|
|
3515
3161
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3516
3162
|
url = f"{self.base_url}/v2-experimental/webhooks/board_subscriptions/{subscription_id}"
|
|
3517
3163
|
query_params = {}
|
|
@@ -3519,7 +3165,7 @@ class MiroApp(APIApplication):
|
|
|
3519
3165
|
response.raise_for_status()
|
|
3520
3166
|
return response.json()
|
|
3521
3167
|
|
|
3522
|
-
def get_webhook_subscriptions(self, limit=None, cursor=None) -> Any:
|
|
3168
|
+
async def get_webhook_subscriptions(self, limit=None, cursor=None) -> Any:
|
|
3523
3169
|
"""
|
|
3524
3170
|
Retrieves a paginated list of webhook subscriptions using cursor-based pagination.
|
|
3525
3171
|
|
|
@@ -3534,14 +3180,12 @@ class MiroApp(APIApplication):
|
|
|
3534
3180
|
Webhooks (experimental)
|
|
3535
3181
|
"""
|
|
3536
3182
|
url = f"{self.base_url}/v2-experimental/webhooks/subscriptions"
|
|
3537
|
-
query_params = {
|
|
3538
|
-
k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None
|
|
3539
|
-
}
|
|
3183
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
3540
3184
|
response = self._get(url, params=query_params)
|
|
3541
3185
|
response.raise_for_status()
|
|
3542
3186
|
return response.json()
|
|
3543
3187
|
|
|
3544
|
-
def get_specific_webhook_subscription(self, subscription_id) -> Any:
|
|
3188
|
+
async def get_specific_webhook_subscription(self, subscription_id) -> Any:
|
|
3545
3189
|
"""
|
|
3546
3190
|
Retrieves details about a specific webhook subscription identified by the provided subscription ID using the GET method.
|
|
3547
3191
|
|
|
@@ -3556,15 +3200,13 @@ class MiroApp(APIApplication):
|
|
|
3556
3200
|
"""
|
|
3557
3201
|
if subscription_id is None:
|
|
3558
3202
|
raise ValueError("Missing required parameter 'subscription_id'")
|
|
3559
|
-
url =
|
|
3560
|
-
f"{self.base_url}/v2-experimental/webhooks/subscriptions/{subscription_id}"
|
|
3561
|
-
)
|
|
3203
|
+
url = f"{self.base_url}/v2-experimental/webhooks/subscriptions/{subscription_id}"
|
|
3562
3204
|
query_params = {}
|
|
3563
3205
|
response = self._get(url, params=query_params)
|
|
3564
3206
|
response.raise_for_status()
|
|
3565
3207
|
return response.json()
|
|
3566
3208
|
|
|
3567
|
-
def delete_webhook_subscription(self, subscription_id) -> Any:
|
|
3209
|
+
async def delete_webhook_subscription(self, subscription_id) -> Any:
|
|
3568
3210
|
"""
|
|
3569
3211
|
Deletes a webhook subscription by a specified `subscription_id`, stopping the delivery of notifications associated with that subscription.
|
|
3570
3212
|
|
|
@@ -3579,15 +3221,13 @@ class MiroApp(APIApplication):
|
|
|
3579
3221
|
"""
|
|
3580
3222
|
if subscription_id is None:
|
|
3581
3223
|
raise ValueError("Missing required parameter 'subscription_id'")
|
|
3582
|
-
url =
|
|
3583
|
-
f"{self.base_url}/v2-experimental/webhooks/subscriptions/{subscription_id}"
|
|
3584
|
-
)
|
|
3224
|
+
url = f"{self.base_url}/v2-experimental/webhooks/subscriptions/{subscription_id}"
|
|
3585
3225
|
query_params = {}
|
|
3586
3226
|
response = self._delete(url, params=query_params)
|
|
3587
3227
|
response.raise_for_status()
|
|
3588
3228
|
return response.json()
|
|
3589
3229
|
|
|
3590
|
-
def get_specific_mind_map_node(self, board_id, item_id) -> Any:
|
|
3230
|
+
async def get_specific_mind_map_node(self, board_id, item_id) -> Any:
|
|
3591
3231
|
"""
|
|
3592
3232
|
Retrieves a specific mind map node by ID from a specified board using the GET method.
|
|
3593
3233
|
|
|
@@ -3605,15 +3245,13 @@ class MiroApp(APIApplication):
|
|
|
3605
3245
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3606
3246
|
if item_id is None:
|
|
3607
3247
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3608
|
-
url =
|
|
3609
|
-
f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}"
|
|
3610
|
-
)
|
|
3248
|
+
url = f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}"
|
|
3611
3249
|
query_params = {}
|
|
3612
3250
|
response = self._get(url, params=query_params)
|
|
3613
3251
|
response.raise_for_status()
|
|
3614
3252
|
return response.json()
|
|
3615
3253
|
|
|
3616
|
-
def delete_mind_map_node(self, board_id, item_id) -> Any:
|
|
3254
|
+
async def delete_mind_map_node(self, board_id, item_id) -> Any:
|
|
3617
3255
|
"""
|
|
3618
3256
|
Deletes a specified mindmap node from a board using the experimental v2 API.
|
|
3619
3257
|
|
|
@@ -3631,15 +3269,13 @@ class MiroApp(APIApplication):
|
|
|
3631
3269
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3632
3270
|
if item_id is None:
|
|
3633
3271
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3634
|
-
url =
|
|
3635
|
-
f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}"
|
|
3636
|
-
)
|
|
3272
|
+
url = f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}"
|
|
3637
3273
|
query_params = {}
|
|
3638
3274
|
response = self._delete(url, params=query_params)
|
|
3639
3275
|
response.raise_for_status()
|
|
3640
3276
|
return response.json()
|
|
3641
3277
|
|
|
3642
|
-
def get_mind_map_nodes(self, board_id, limit=None, cursor=None) -> Any:
|
|
3278
|
+
async def get_mind_map_nodes(self, board_id, limit=None, cursor=None) -> Any:
|
|
3643
3279
|
"""
|
|
3644
3280
|
Retrieves a paginated list of mindmap nodes from a specified Miro board, supporting limit and cursor parameters for result pagination.
|
|
3645
3281
|
|
|
@@ -3657,16 +3293,12 @@ class MiroApp(APIApplication):
|
|
|
3657
3293
|
if board_id is None:
|
|
3658
3294
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3659
3295
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes"
|
|
3660
|
-
query_params = {
|
|
3661
|
-
k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None
|
|
3662
|
-
}
|
|
3296
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
3663
3297
|
response = self._get(url, params=query_params)
|
|
3664
3298
|
response.raise_for_status()
|
|
3665
3299
|
return response.json()
|
|
3666
3300
|
|
|
3667
|
-
def create_mind_map_node(
|
|
3668
|
-
self, board_id, data=None, geometry=None, parent=None, position=None
|
|
3669
|
-
) -> Any:
|
|
3301
|
+
async def create_mind_map_node(self, board_id, data=None, geometry=None, parent=None, position=None) -> Any:
|
|
3670
3302
|
"""
|
|
3671
3303
|
Creates a new mind map node in a specified Miro board using the POST method and returns a response upon successful creation.
|
|
3672
3304
|
|
|
@@ -3707,12 +3339,7 @@ class MiroApp(APIApplication):
|
|
|
3707
3339
|
"""
|
|
3708
3340
|
if board_id is None:
|
|
3709
3341
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3710
|
-
request_body = {
|
|
3711
|
-
"data": data,
|
|
3712
|
-
"geometry": geometry,
|
|
3713
|
-
"parent": parent,
|
|
3714
|
-
"position": position,
|
|
3715
|
-
}
|
|
3342
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position}
|
|
3716
3343
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3717
3344
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/mindmap_nodes"
|
|
3718
3345
|
query_params = {}
|
|
@@ -3720,7 +3347,7 @@ class MiroApp(APIApplication):
|
|
|
3720
3347
|
response.raise_for_status()
|
|
3721
3348
|
return response.json()
|
|
3722
3349
|
|
|
3723
|
-
def get_items_on_board1(self, board_id, limit=None, type=None, cursor=None) -> Any:
|
|
3350
|
+
async def get_items_on_board1(self, board_id, limit=None, type=None, cursor=None) -> Any:
|
|
3724
3351
|
"""
|
|
3725
3352
|
Retrieves a paginated list of items from a specified board, filtered by type and limited by cursor-based pagination.
|
|
3726
3353
|
|
|
@@ -3739,18 +3366,12 @@ class MiroApp(APIApplication):
|
|
|
3739
3366
|
if board_id is None:
|
|
3740
3367
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3741
3368
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/items"
|
|
3742
|
-
query_params = {
|
|
3743
|
-
k: v
|
|
3744
|
-
for k, v in [("limit", limit), ("type", type), ("cursor", cursor)]
|
|
3745
|
-
if v is not None
|
|
3746
|
-
}
|
|
3369
|
+
query_params = {k: v for k, v in [("limit", limit), ("type", type), ("cursor", cursor)] if v is not None}
|
|
3747
3370
|
response = self._get(url, params=query_params)
|
|
3748
3371
|
response.raise_for_status()
|
|
3749
3372
|
return response.json()
|
|
3750
3373
|
|
|
3751
|
-
def create_shape_item1(
|
|
3752
|
-
self, board_id, data=None, geometry=None, parent=None, position=None, style=None
|
|
3753
|
-
) -> Any:
|
|
3374
|
+
async def create_shape_item1(self, board_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
3754
3375
|
"""
|
|
3755
3376
|
Creates a new shape on a board with the specified `board_id` using the API.
|
|
3756
3377
|
|
|
@@ -3804,13 +3425,7 @@ class MiroApp(APIApplication):
|
|
|
3804
3425
|
"""
|
|
3805
3426
|
if board_id is None:
|
|
3806
3427
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3807
|
-
request_body = {
|
|
3808
|
-
"data": data,
|
|
3809
|
-
"geometry": geometry,
|
|
3810
|
-
"parent": parent,
|
|
3811
|
-
"position": position,
|
|
3812
|
-
"style": style,
|
|
3813
|
-
}
|
|
3428
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3814
3429
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3815
3430
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/shapes"
|
|
3816
3431
|
query_params = {}
|
|
@@ -3818,7 +3433,7 @@ class MiroApp(APIApplication):
|
|
|
3818
3433
|
response.raise_for_status()
|
|
3819
3434
|
return response.json()
|
|
3820
3435
|
|
|
3821
|
-
def get_shape_item1(self, board_id, item_id) -> Any:
|
|
3436
|
+
async def get_shape_item1(self, board_id, item_id) -> Any:
|
|
3822
3437
|
"""
|
|
3823
3438
|
Retrieves shape details from a specific item within a board, identified by the board ID and item ID.
|
|
3824
3439
|
|
|
@@ -3842,7 +3457,7 @@ class MiroApp(APIApplication):
|
|
|
3842
3457
|
response.raise_for_status()
|
|
3843
3458
|
return response.json()
|
|
3844
3459
|
|
|
3845
|
-
def delete_shape_item1(self, board_id, item_id) -> Any:
|
|
3460
|
+
async def delete_shape_item1(self, board_id, item_id) -> Any:
|
|
3846
3461
|
"""
|
|
3847
3462
|
Deletes a specific shape from the specified board.
|
|
3848
3463
|
|
|
@@ -3866,16 +3481,7 @@ class MiroApp(APIApplication):
|
|
|
3866
3481
|
response.raise_for_status()
|
|
3867
3482
|
return response.json()
|
|
3868
3483
|
|
|
3869
|
-
def update_shape_item1(
|
|
3870
|
-
self,
|
|
3871
|
-
board_id,
|
|
3872
|
-
item_id,
|
|
3873
|
-
data=None,
|
|
3874
|
-
geometry=None,
|
|
3875
|
-
parent=None,
|
|
3876
|
-
position=None,
|
|
3877
|
-
style=None,
|
|
3878
|
-
) -> Any:
|
|
3484
|
+
async def update_shape_item1(self, board_id, item_id, data=None, geometry=None, parent=None, position=None, style=None) -> Any:
|
|
3879
3485
|
"""
|
|
3880
3486
|
Updates a specific shape on a board and returns a status message.
|
|
3881
3487
|
|
|
@@ -3932,13 +3538,7 @@ class MiroApp(APIApplication):
|
|
|
3932
3538
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3933
3539
|
if item_id is None:
|
|
3934
3540
|
raise ValueError("Missing required parameter 'item_id'")
|
|
3935
|
-
request_body = {
|
|
3936
|
-
"data": data,
|
|
3937
|
-
"geometry": geometry,
|
|
3938
|
-
"parent": parent,
|
|
3939
|
-
"position": position,
|
|
3940
|
-
"style": style,
|
|
3941
|
-
}
|
|
3541
|
+
request_body = {"data": data, "geometry": geometry, "parent": parent, "position": position, "style": style}
|
|
3942
3542
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3943
3543
|
url = f"{self.base_url}/v2-experimental/boards/{board_id}/shapes/{item_id}"
|
|
3944
3544
|
query_params = {}
|
|
@@ -3946,7 +3546,7 @@ class MiroApp(APIApplication):
|
|
|
3946
3546
|
response.raise_for_status()
|
|
3947
3547
|
return response.json()
|
|
3948
3548
|
|
|
3949
|
-
def get_all_groups_on_aboard(self, board_id, limit=None, cursor=None) -> Any:
|
|
3549
|
+
async def get_all_groups_on_aboard(self, board_id, limit=None, cursor=None) -> Any:
|
|
3950
3550
|
"""
|
|
3951
3551
|
Retrieves a list of groups associated with a specified board, allowing for pagination with optional limit and cursor parameters.
|
|
3952
3552
|
|
|
@@ -3964,14 +3564,12 @@ class MiroApp(APIApplication):
|
|
|
3964
3564
|
if board_id is None:
|
|
3965
3565
|
raise ValueError("Missing required parameter 'board_id'")
|
|
3966
3566
|
url = f"{self.base_url}/v2/boards/{board_id}/groups"
|
|
3967
|
-
query_params = {
|
|
3968
|
-
k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None
|
|
3969
|
-
}
|
|
3567
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
3970
3568
|
response = self._get(url, params=query_params)
|
|
3971
3569
|
response.raise_for_status()
|
|
3972
3570
|
return response.json()
|
|
3973
3571
|
|
|
3974
|
-
def create_group(self, board_id, data=None) -> Any:
|
|
3572
|
+
async def create_group(self, board_id, data=None) -> Any:
|
|
3975
3573
|
"""
|
|
3976
3574
|
Creates a new group in the specified board using the provided board ID and returns a success status.
|
|
3977
3575
|
|
|
@@ -3998,9 +3596,7 @@ class MiroApp(APIApplication):
|
|
|
3998
3596
|
"""
|
|
3999
3597
|
if board_id is None:
|
|
4000
3598
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4001
|
-
request_body = {
|
|
4002
|
-
"data": data,
|
|
4003
|
-
}
|
|
3599
|
+
request_body = {"data": data}
|
|
4004
3600
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4005
3601
|
url = f"{self.base_url}/v2/boards/{board_id}/groups"
|
|
4006
3602
|
query_params = {}
|
|
@@ -4008,9 +3604,7 @@ class MiroApp(APIApplication):
|
|
|
4008
3604
|
response.raise_for_status()
|
|
4009
3605
|
return response.json()
|
|
4010
3606
|
|
|
4011
|
-
def get_items_of_agroup_by_id(
|
|
4012
|
-
self, board_id, limit=None, cursor=None, group_item_id=None
|
|
4013
|
-
) -> Any:
|
|
3607
|
+
async def get_items_of_agroup_by_id(self, board_id, limit=None, cursor=None, group_item_id=None) -> Any:
|
|
4014
3608
|
"""
|
|
4015
3609
|
Retrieves a paginated list of group items for a specific board, optionally filtered by group item ID, with cursor-based pagination support.
|
|
4016
3610
|
|
|
@@ -4029,20 +3623,12 @@ class MiroApp(APIApplication):
|
|
|
4029
3623
|
if board_id is None:
|
|
4030
3624
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4031
3625
|
url = f"{self.base_url}/v2/boards/{board_id}/groups/items"
|
|
4032
|
-
query_params = {
|
|
4033
|
-
k: v
|
|
4034
|
-
for k, v in [
|
|
4035
|
-
("limit", limit),
|
|
4036
|
-
("cursor", cursor),
|
|
4037
|
-
("group_item_id", group_item_id),
|
|
4038
|
-
]
|
|
4039
|
-
if v is not None
|
|
4040
|
-
}
|
|
3626
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor), ("group_item_id", group_item_id)] if v is not None}
|
|
4041
3627
|
response = self._get(url, params=query_params)
|
|
4042
3628
|
response.raise_for_status()
|
|
4043
3629
|
return response.json()
|
|
4044
3630
|
|
|
4045
|
-
def get_agroup_by_its_id(self, board_id, group_id) -> Any:
|
|
3631
|
+
async def get_agroup_by_its_id(self, board_id, group_id) -> Any:
|
|
4046
3632
|
"""
|
|
4047
3633
|
Retrieves a group associated with a specific board from the API.
|
|
4048
3634
|
|
|
@@ -4066,7 +3652,7 @@ class MiroApp(APIApplication):
|
|
|
4066
3652
|
response.raise_for_status()
|
|
4067
3653
|
return response.json()
|
|
4068
3654
|
|
|
4069
|
-
def updates_agroup_with_new_items(self, board_id, group_id, data=None) -> Any:
|
|
3655
|
+
async def updates_agroup_with_new_items(self, board_id, group_id, data=None) -> Any:
|
|
4070
3656
|
"""
|
|
4071
3657
|
Updates a group on a specific board using the provided group ID and board ID.
|
|
4072
3658
|
|
|
@@ -4096,9 +3682,7 @@ class MiroApp(APIApplication):
|
|
|
4096
3682
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4097
3683
|
if group_id is None:
|
|
4098
3684
|
raise ValueError("Missing required parameter 'group_id'")
|
|
4099
|
-
request_body = {
|
|
4100
|
-
"data": data,
|
|
4101
|
-
}
|
|
3685
|
+
request_body = {"data": data}
|
|
4102
3686
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4103
3687
|
url = f"{self.base_url}/v2/boards/{board_id}/groups/{group_id}"
|
|
4104
3688
|
query_params = {}
|
|
@@ -4106,7 +3690,7 @@ class MiroApp(APIApplication):
|
|
|
4106
3690
|
response.raise_for_status()
|
|
4107
3691
|
return response.json()
|
|
4108
3692
|
|
|
4109
|
-
def ungroup_items(self, board_id, group_id, delete_items=None) -> Any:
|
|
3693
|
+
async def ungroup_items(self, board_id, group_id, delete_items=None) -> Any:
|
|
4110
3694
|
"""
|
|
4111
3695
|
Deletes a group from a specified board using the DELETE method, optionally allowing for the deletion of associated items.
|
|
4112
3696
|
|
|
@@ -4126,14 +3710,12 @@ class MiroApp(APIApplication):
|
|
|
4126
3710
|
if group_id is None:
|
|
4127
3711
|
raise ValueError("Missing required parameter 'group_id'")
|
|
4128
3712
|
url = f"{self.base_url}/v2/boards/{board_id}/groups/{group_id}"
|
|
4129
|
-
query_params = {
|
|
4130
|
-
k: v for k, v in [("delete_items", delete_items)] if v is not None
|
|
4131
|
-
}
|
|
3713
|
+
query_params = {k: v for k, v in [("delete_items", delete_items)] if v is not None}
|
|
4132
3714
|
response = self._delete(url, params=query_params)
|
|
4133
3715
|
response.raise_for_status()
|
|
4134
3716
|
return response.json()
|
|
4135
3717
|
|
|
4136
|
-
def deletes_the_group(self, board_id, delete_items=None) -> Any:
|
|
3718
|
+
async def deletes_the_group(self, board_id, delete_items=None) -> Any:
|
|
4137
3719
|
"""
|
|
4138
3720
|
Deletes a group from a specified board, with an option to delete associated items, and returns a success status.
|
|
4139
3721
|
|
|
@@ -4151,16 +3733,12 @@ class MiroApp(APIApplication):
|
|
|
4151
3733
|
if board_id is None:
|
|
4152
3734
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4153
3735
|
url = f"{self.base_url}/v2/boards/{board_id}/groups/<string>"
|
|
4154
|
-
query_params = {
|
|
4155
|
-
k: v for k, v in [("delete_items", delete_items)] if v is not None
|
|
4156
|
-
}
|
|
3736
|
+
query_params = {k: v for k, v in [("delete_items", delete_items)] if v is not None}
|
|
4157
3737
|
response = self._delete(url, params=query_params)
|
|
4158
3738
|
response.raise_for_status()
|
|
4159
3739
|
return response.json()
|
|
4160
3740
|
|
|
4161
|
-
def revoke_token_v2(
|
|
4162
|
-
self, accessToken=None, clientId=None, clientSecret=None
|
|
4163
|
-
) -> Any:
|
|
3741
|
+
async def revoke_token_v2(self, accessToken=None, clientId=None, clientSecret=None) -> Any:
|
|
4164
3742
|
"""
|
|
4165
3743
|
Revokes an OAuth 2.0 access or refresh token at the authorization server's revocation endpoint and returns a successful status upon invalidation.
|
|
4166
3744
|
|
|
@@ -4183,11 +3761,7 @@ class MiroApp(APIApplication):
|
|
|
4183
3761
|
Tags:
|
|
4184
3762
|
OAuth
|
|
4185
3763
|
"""
|
|
4186
|
-
request_body = {
|
|
4187
|
-
"accessToken": accessToken,
|
|
4188
|
-
"clientId": clientId,
|
|
4189
|
-
"clientSecret": clientSecret,
|
|
4190
|
-
}
|
|
3764
|
+
request_body = {"accessToken": accessToken, "clientId": clientId, "clientSecret": clientSecret}
|
|
4191
3765
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4192
3766
|
url = f"{self.base_url}/v2/oauth/revoke"
|
|
4193
3767
|
query_params = {}
|
|
@@ -4195,7 +3769,7 @@ class MiroApp(APIApplication):
|
|
|
4195
3769
|
response.raise_for_status()
|
|
4196
3770
|
return response.json()
|
|
4197
3771
|
|
|
4198
|
-
def get_tags_from_item(self, board_id, item_id) -> Any:
|
|
3772
|
+
async def get_tags_from_item(self, board_id, item_id) -> Any:
|
|
4199
3773
|
"""
|
|
4200
3774
|
Retrieves tags associated with a specific item on a board using the API.
|
|
4201
3775
|
|
|
@@ -4219,7 +3793,7 @@ class MiroApp(APIApplication):
|
|
|
4219
3793
|
response.raise_for_status()
|
|
4220
3794
|
return response.json()
|
|
4221
3795
|
|
|
4222
|
-
def get_tags_from_board(self, board_id, limit=None, offset=None) -> Any:
|
|
3796
|
+
async def get_tags_from_board(self, board_id, limit=None, offset=None) -> Any:
|
|
4223
3797
|
"""
|
|
4224
3798
|
Retrieves a list of tags associated with a specific board, allowing for pagination control via limit and offset parameters.
|
|
4225
3799
|
|
|
@@ -4237,14 +3811,12 @@ class MiroApp(APIApplication):
|
|
|
4237
3811
|
if board_id is None:
|
|
4238
3812
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4239
3813
|
url = f"{self.base_url}/v2/boards/{board_id}/tags"
|
|
4240
|
-
query_params = {
|
|
4241
|
-
k: v for k, v in [("limit", limit), ("offset", offset)] if v is not None
|
|
4242
|
-
}
|
|
3814
|
+
query_params = {k: v for k, v in [("limit", limit), ("offset", offset)] if v is not None}
|
|
4243
3815
|
response = self._get(url, params=query_params)
|
|
4244
3816
|
response.raise_for_status()
|
|
4245
3817
|
return response.json()
|
|
4246
3818
|
|
|
4247
|
-
def create_tag(self, board_id, fillColor=None, title=None) -> Any:
|
|
3819
|
+
async def create_tag(self, board_id, fillColor=None, title=None) -> Any:
|
|
4248
3820
|
"""
|
|
4249
3821
|
Creates and adds new tags to a specific board using the provided board ID.
|
|
4250
3822
|
|
|
@@ -4268,10 +3840,7 @@ class MiroApp(APIApplication):
|
|
|
4268
3840
|
"""
|
|
4269
3841
|
if board_id is None:
|
|
4270
3842
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4271
|
-
request_body = {
|
|
4272
|
-
"fillColor": fillColor,
|
|
4273
|
-
"title": title,
|
|
4274
|
-
}
|
|
3843
|
+
request_body = {"fillColor": fillColor, "title": title}
|
|
4275
3844
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4276
3845
|
url = f"{self.base_url}/v2/boards/{board_id}/tags"
|
|
4277
3846
|
query_params = {}
|
|
@@ -4279,7 +3848,7 @@ class MiroApp(APIApplication):
|
|
|
4279
3848
|
response.raise_for_status()
|
|
4280
3849
|
return response.json()
|
|
4281
3850
|
|
|
4282
|
-
def get_tag(self, board_id, tag_id) -> Any:
|
|
3851
|
+
async def get_tag(self, board_id, tag_id) -> Any:
|
|
4283
3852
|
"""
|
|
4284
3853
|
Retrieves information about a specific tag associated with a board, identified by the board ID and tag ID, using the GET method.
|
|
4285
3854
|
|
|
@@ -4303,7 +3872,7 @@ class MiroApp(APIApplication):
|
|
|
4303
3872
|
response.raise_for_status()
|
|
4304
3873
|
return response.json()
|
|
4305
3874
|
|
|
4306
|
-
def delete_tag(self, board_id, tag_id) -> Any:
|
|
3875
|
+
async def delete_tag(self, board_id, tag_id) -> Any:
|
|
4307
3876
|
"""
|
|
4308
3877
|
Deletes a tag from a specific board using the API and returns a successful status message.
|
|
4309
3878
|
|
|
@@ -4327,7 +3896,7 @@ class MiroApp(APIApplication):
|
|
|
4327
3896
|
response.raise_for_status()
|
|
4328
3897
|
return response.json()
|
|
4329
3898
|
|
|
4330
|
-
def update_tag(self, board_id, tag_id, fillColor=None, title=None) -> Any:
|
|
3899
|
+
async def update_tag(self, board_id, tag_id, fillColor=None, title=None) -> Any:
|
|
4331
3900
|
"""
|
|
4332
3901
|
Updates a tag associated with a specific board by modifying its details using the specified `board_id` and `tag_id`.
|
|
4333
3902
|
|
|
@@ -4354,10 +3923,7 @@ class MiroApp(APIApplication):
|
|
|
4354
3923
|
raise ValueError("Missing required parameter 'board_id'")
|
|
4355
3924
|
if tag_id is None:
|
|
4356
3925
|
raise ValueError("Missing required parameter 'tag_id'")
|
|
4357
|
-
request_body = {
|
|
4358
|
-
"fillColor": fillColor,
|
|
4359
|
-
"title": title,
|
|
4360
|
-
}
|
|
3926
|
+
request_body = {"fillColor": fillColor, "title": title}
|
|
4361
3927
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4362
3928
|
url = f"{self.base_url}/v2/boards/{board_id}/tags/{tag_id}"
|
|
4363
3929
|
query_params = {}
|
|
@@ -4365,9 +3931,7 @@ class MiroApp(APIApplication):
|
|
|
4365
3931
|
response.raise_for_status()
|
|
4366
3932
|
return response.json()
|
|
4367
3933
|
|
|
4368
|
-
def get_items_by_tag(
|
|
4369
|
-
self, board_id_PlatformTags, limit=None, offset=None, tag_id=None
|
|
4370
|
-
) -> Any:
|
|
3934
|
+
async def get_items_by_tag(self, board_id_PlatformTags, limit=None, offset=None, tag_id=None) -> Any:
|
|
4371
3935
|
"""
|
|
4372
3936
|
Retrieves paginated items from a specific board's platform tags, optionally filtered by tag ID.
|
|
4373
3937
|
|
|
@@ -4386,16 +3950,12 @@ class MiroApp(APIApplication):
|
|
|
4386
3950
|
if board_id_PlatformTags is None:
|
|
4387
3951
|
raise ValueError("Missing required parameter 'board_id_PlatformTags'")
|
|
4388
3952
|
url = f"{self.base_url}/v2/boards/{board_id_PlatformTags}/items"
|
|
4389
|
-
query_params = {
|
|
4390
|
-
k: v
|
|
4391
|
-
for k, v in [("limit", limit), ("offset", offset), ("tag_id", tag_id)]
|
|
4392
|
-
if v is not None
|
|
4393
|
-
}
|
|
3953
|
+
query_params = {k: v for k, v in [("limit", limit), ("offset", offset), ("tag_id", tag_id)] if v is not None}
|
|
4394
3954
|
response = self._get(url, params=query_params)
|
|
4395
3955
|
response.raise_for_status()
|
|
4396
3956
|
return response.json()
|
|
4397
3957
|
|
|
4398
|
-
def attach_tag_to_item(self, board_id_PlatformTags, item_id, tag_id=None) -> Any:
|
|
3958
|
+
async def attach_tag_to_item(self, board_id_PlatformTags, item_id, tag_id=None) -> Any:
|
|
4399
3959
|
"""
|
|
4400
3960
|
Adds an item to a board with specific platform tags using the POST method, optionally specifying a tag ID in the query parameters.
|
|
4401
3961
|
|
|
@@ -4420,7 +3980,7 @@ class MiroApp(APIApplication):
|
|
|
4420
3980
|
response.raise_for_status()
|
|
4421
3981
|
return response.json()
|
|
4422
3982
|
|
|
4423
|
-
def remove_tag_from_item(self, board_id_PlatformTags, item_id, tag_id=None) -> Any:
|
|
3983
|
+
async def remove_tag_from_item(self, board_id_PlatformTags, item_id, tag_id=None) -> Any:
|
|
4424
3984
|
"""
|
|
4425
3985
|
Deletes a specific item from a board's PlatformTags collection, requiring a tag_id parameter for identification.
|
|
4426
3986
|
|
|
@@ -4445,7 +4005,7 @@ class MiroApp(APIApplication):
|
|
|
4445
4005
|
response.raise_for_status()
|
|
4446
4006
|
return response.json()
|
|
4447
4007
|
|
|
4448
|
-
def list_of_projects(self, org_id, team_id, limit=None, cursor=None) -> Any:
|
|
4008
|
+
async def list_of_projects(self, org_id, team_id, limit=None, cursor=None) -> Any:
|
|
4449
4009
|
"""
|
|
4450
4010
|
Retrieves a list of projects for a specified team within an organization, allowing pagination via limit and cursor parameters.
|
|
4451
4011
|
|
|
@@ -4466,14 +4026,12 @@ class MiroApp(APIApplication):
|
|
|
4466
4026
|
if team_id is None:
|
|
4467
4027
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4468
4028
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects"
|
|
4469
|
-
query_params = {
|
|
4470
|
-
k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None
|
|
4471
|
-
}
|
|
4029
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
4472
4030
|
response = self._get(url, params=query_params)
|
|
4473
4031
|
response.raise_for_status()
|
|
4474
4032
|
return response.json()
|
|
4475
4033
|
|
|
4476
|
-
def create_project(self, org_id, team_id, name=None) -> Any:
|
|
4034
|
+
async def create_project(self, org_id, team_id, name=None) -> Any:
|
|
4477
4035
|
"""
|
|
4478
4036
|
Assigns a project to a team within an organization using a POST request and returns a success status upon completion.
|
|
4479
4037
|
|
|
@@ -4498,9 +4056,7 @@ class MiroApp(APIApplication):
|
|
|
4498
4056
|
raise ValueError("Missing required parameter 'org_id'")
|
|
4499
4057
|
if team_id is None:
|
|
4500
4058
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4501
|
-
request_body = {
|
|
4502
|
-
"name": name,
|
|
4503
|
-
}
|
|
4059
|
+
request_body = {"name": name}
|
|
4504
4060
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4505
4061
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects"
|
|
4506
4062
|
query_params = {}
|
|
@@ -4508,7 +4064,7 @@ class MiroApp(APIApplication):
|
|
|
4508
4064
|
response.raise_for_status()
|
|
4509
4065
|
return response.json()
|
|
4510
4066
|
|
|
4511
|
-
def get_project(self, org_id, team_id, project_id) -> Any:
|
|
4067
|
+
async def get_project(self, org_id, team_id, project_id) -> Any:
|
|
4512
4068
|
"""
|
|
4513
4069
|
Retrieves project details for a specific team within an organization.
|
|
4514
4070
|
|
|
@@ -4535,7 +4091,7 @@ class MiroApp(APIApplication):
|
|
|
4535
4091
|
response.raise_for_status()
|
|
4536
4092
|
return response.json()
|
|
4537
4093
|
|
|
4538
|
-
def delete_project(self, org_id, team_id, project_id) -> Any:
|
|
4094
|
+
async def delete_project(self, org_id, team_id, project_id) -> Any:
|
|
4539
4095
|
"""
|
|
4540
4096
|
Deletes a specific organization's team project and returns a success message upon removal.
|
|
4541
4097
|
|
|
@@ -4562,7 +4118,7 @@ class MiroApp(APIApplication):
|
|
|
4562
4118
|
response.raise_for_status()
|
|
4563
4119
|
return response.json()
|
|
4564
4120
|
|
|
4565
|
-
def update_project(self, org_id, team_id, project_id, name=None) -> Any:
|
|
4121
|
+
async def update_project(self, org_id, team_id, project_id, name=None) -> Any:
|
|
4566
4122
|
"""
|
|
4567
4123
|
Updates project details within the specified team and organization using the PATCH method and returns a successful response upon completion.
|
|
4568
4124
|
|
|
@@ -4590,9 +4146,7 @@ class MiroApp(APIApplication):
|
|
|
4590
4146
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4591
4147
|
if project_id is None:
|
|
4592
4148
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4593
|
-
request_body = {
|
|
4594
|
-
"name": name,
|
|
4595
|
-
}
|
|
4149
|
+
request_body = {"name": name}
|
|
4596
4150
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4597
4151
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}"
|
|
4598
4152
|
query_params = {}
|
|
@@ -4600,7 +4154,7 @@ class MiroApp(APIApplication):
|
|
|
4600
4154
|
response.raise_for_status()
|
|
4601
4155
|
return response.json()
|
|
4602
4156
|
|
|
4603
|
-
def get_project_settings(self, org_id, team_id, project_id) -> Any:
|
|
4157
|
+
async def get_project_settings(self, org_id, team_id, project_id) -> Any:
|
|
4604
4158
|
"""
|
|
4605
4159
|
Retrieves the settings for a specified organization's team project.
|
|
4606
4160
|
|
|
@@ -4627,9 +4181,7 @@ class MiroApp(APIApplication):
|
|
|
4627
4181
|
response.raise_for_status()
|
|
4628
4182
|
return response.json()
|
|
4629
4183
|
|
|
4630
|
-
def update_project_settings(
|
|
4631
|
-
self, org_id, team_id, project_id, sharingPolicySettings=None
|
|
4632
|
-
) -> Any:
|
|
4184
|
+
async def update_project_settings(self, org_id, team_id, project_id, sharingPolicySettings=None) -> Any:
|
|
4633
4185
|
"""
|
|
4634
4186
|
Updates organization, team, and project settings for the specified project.
|
|
4635
4187
|
|
|
@@ -4659,9 +4211,7 @@ class MiroApp(APIApplication):
|
|
|
4659
4211
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4660
4212
|
if project_id is None:
|
|
4661
4213
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4662
|
-
request_body = {
|
|
4663
|
-
"sharingPolicySettings": sharingPolicySettings,
|
|
4664
|
-
}
|
|
4214
|
+
request_body = {"sharingPolicySettings": sharingPolicySettings}
|
|
4665
4215
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4666
4216
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings"
|
|
4667
4217
|
query_params = {}
|
|
@@ -4669,9 +4219,7 @@ class MiroApp(APIApplication):
|
|
|
4669
4219
|
response.raise_for_status()
|
|
4670
4220
|
return response.json()
|
|
4671
4221
|
|
|
4672
|
-
def list_of_project_members(
|
|
4673
|
-
self, org_id, team_id, project_id, limit=None, cursor=None
|
|
4674
|
-
) -> Any:
|
|
4222
|
+
async def list_of_project_members(self, org_id, team_id, project_id, limit=None, cursor=None) -> Any:
|
|
4675
4223
|
"""
|
|
4676
4224
|
Retrieves a list of members in a specific project within a team for an organization using the provided limit and cursor query parameters.
|
|
4677
4225
|
|
|
@@ -4695,16 +4243,12 @@ class MiroApp(APIApplication):
|
|
|
4695
4243
|
if project_id is None:
|
|
4696
4244
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4697
4245
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members"
|
|
4698
|
-
query_params = {
|
|
4699
|
-
k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None
|
|
4700
|
-
}
|
|
4246
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor)] if v is not None}
|
|
4701
4247
|
response = self._get(url, params=query_params)
|
|
4702
4248
|
response.raise_for_status()
|
|
4703
4249
|
return response.json()
|
|
4704
4250
|
|
|
4705
|
-
def add_member_in_aproject(
|
|
4706
|
-
self, org_id, team_id, project_id, email=None, role=None
|
|
4707
|
-
) -> Any:
|
|
4251
|
+
async def add_member_in_aproject(self, org_id, team_id, project_id, email=None, role=None) -> Any:
|
|
4708
4252
|
"""
|
|
4709
4253
|
Adds a member to a specified project within a team and organization.
|
|
4710
4254
|
|
|
@@ -4734,10 +4278,7 @@ class MiroApp(APIApplication):
|
|
|
4734
4278
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4735
4279
|
if project_id is None:
|
|
4736
4280
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4737
|
-
request_body = {
|
|
4738
|
-
"email": email,
|
|
4739
|
-
"role": role,
|
|
4740
|
-
}
|
|
4281
|
+
request_body = {"email": email, "role": role}
|
|
4741
4282
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4742
4283
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members"
|
|
4743
4284
|
query_params = {}
|
|
@@ -4745,7 +4286,7 @@ class MiroApp(APIApplication):
|
|
|
4745
4286
|
response.raise_for_status()
|
|
4746
4287
|
return response.json()
|
|
4747
4288
|
|
|
4748
|
-
def get_project_member(self, org_id, team_id, project_id, member_id) -> Any:
|
|
4289
|
+
async def get_project_member(self, org_id, team_id, project_id, member_id) -> Any:
|
|
4749
4290
|
"""
|
|
4750
4291
|
Retrieves a specific member's details from a project team within an organization.
|
|
4751
4292
|
|
|
@@ -4775,7 +4316,7 @@ class MiroApp(APIApplication):
|
|
|
4775
4316
|
response.raise_for_status()
|
|
4776
4317
|
return response.json()
|
|
4777
4318
|
|
|
4778
|
-
def remove_project_member(self, org_id, team_id, project_id, member_id) -> Any:
|
|
4319
|
+
async def remove_project_member(self, org_id, team_id, project_id, member_id) -> Any:
|
|
4779
4320
|
"""
|
|
4780
4321
|
Deletes a member from a specific project within a team in an organization using the provided member ID.
|
|
4781
4322
|
|
|
@@ -4805,9 +4346,7 @@ class MiroApp(APIApplication):
|
|
|
4805
4346
|
response.raise_for_status()
|
|
4806
4347
|
return response.json()
|
|
4807
4348
|
|
|
4808
|
-
def update_project_member(
|
|
4809
|
-
self, org_id, team_id, project_id, member_id, role=None
|
|
4810
|
-
) -> Any:
|
|
4349
|
+
async def update_project_member(self, org_id, team_id, project_id, member_id, role=None) -> Any:
|
|
4811
4350
|
"""
|
|
4812
4351
|
Updates team member information in an organization project using the "PATCH" method and returns a successful status response.
|
|
4813
4352
|
|
|
@@ -4838,9 +4377,7 @@ class MiroApp(APIApplication):
|
|
|
4838
4377
|
raise ValueError("Missing required parameter 'project_id'")
|
|
4839
4378
|
if member_id is None:
|
|
4840
4379
|
raise ValueError("Missing required parameter 'member_id'")
|
|
4841
|
-
request_body = {
|
|
4842
|
-
"role": role,
|
|
4843
|
-
}
|
|
4380
|
+
request_body = {"role": role}
|
|
4844
4381
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4845
4382
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}"
|
|
4846
4383
|
query_params = {}
|
|
@@ -4848,7 +4385,7 @@ class MiroApp(APIApplication):
|
|
|
4848
4385
|
response.raise_for_status()
|
|
4849
4386
|
return response.json()
|
|
4850
4387
|
|
|
4851
|
-
def list_teams(self, org_id, limit=None, cursor=None, name=None) -> Any:
|
|
4388
|
+
async def list_teams(self, org_id, limit=None, cursor=None, name=None) -> Any:
|
|
4852
4389
|
"""
|
|
4853
4390
|
Retrieves a paginated list of teams for a specified organization with optional filtering by name.
|
|
4854
4391
|
|
|
@@ -4867,16 +4404,12 @@ class MiroApp(APIApplication):
|
|
|
4867
4404
|
if org_id is None:
|
|
4868
4405
|
raise ValueError("Missing required parameter 'org_id'")
|
|
4869
4406
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams"
|
|
4870
|
-
query_params = {
|
|
4871
|
-
k: v
|
|
4872
|
-
for k, v in [("limit", limit), ("cursor", cursor), ("name", name)]
|
|
4873
|
-
if v is not None
|
|
4874
|
-
}
|
|
4407
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor), ("name", name)] if v is not None}
|
|
4875
4408
|
response = self._get(url, params=query_params)
|
|
4876
4409
|
response.raise_for_status()
|
|
4877
4410
|
return response.json()
|
|
4878
4411
|
|
|
4879
|
-
def create_team(self, org_id, name=None) -> Any:
|
|
4412
|
+
async def create_team(self, org_id, name=None) -> Any:
|
|
4880
4413
|
"""
|
|
4881
4414
|
Creates a new team within the specified organization using the POST method.
|
|
4882
4415
|
|
|
@@ -4898,9 +4431,7 @@ class MiroApp(APIApplication):
|
|
|
4898
4431
|
"""
|
|
4899
4432
|
if org_id is None:
|
|
4900
4433
|
raise ValueError("Missing required parameter 'org_id'")
|
|
4901
|
-
request_body = {
|
|
4902
|
-
"name": name,
|
|
4903
|
-
}
|
|
4434
|
+
request_body = {"name": name}
|
|
4904
4435
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4905
4436
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams"
|
|
4906
4437
|
query_params = {}
|
|
@@ -4908,7 +4439,7 @@ class MiroApp(APIApplication):
|
|
|
4908
4439
|
response.raise_for_status()
|
|
4909
4440
|
return response.json()
|
|
4910
4441
|
|
|
4911
|
-
def get_team(self, org_id, team_id) -> Any:
|
|
4442
|
+
async def get_team(self, org_id, team_id) -> Any:
|
|
4912
4443
|
"""
|
|
4913
4444
|
Retrieves team details for the specified organization and team ID.
|
|
4914
4445
|
|
|
@@ -4932,7 +4463,7 @@ class MiroApp(APIApplication):
|
|
|
4932
4463
|
response.raise_for_status()
|
|
4933
4464
|
return response.json()
|
|
4934
4465
|
|
|
4935
|
-
def delete_team(self, org_id, team_id) -> Any:
|
|
4466
|
+
async def delete_team(self, org_id, team_id) -> Any:
|
|
4936
4467
|
"""
|
|
4937
4468
|
Deletes a team within an organization using the specified organization and team IDs.
|
|
4938
4469
|
|
|
@@ -4956,7 +4487,7 @@ class MiroApp(APIApplication):
|
|
|
4956
4487
|
response.raise_for_status()
|
|
4957
4488
|
return response.json()
|
|
4958
4489
|
|
|
4959
|
-
def update_team(self, org_id, team_id, name=None) -> Any:
|
|
4490
|
+
async def update_team(self, org_id, team_id, name=None) -> Any:
|
|
4960
4491
|
"""
|
|
4961
4492
|
Updates specific properties of a team within an organization using partial modifications.
|
|
4962
4493
|
|
|
@@ -4981,9 +4512,7 @@ class MiroApp(APIApplication):
|
|
|
4981
4512
|
raise ValueError("Missing required parameter 'org_id'")
|
|
4982
4513
|
if team_id is None:
|
|
4983
4514
|
raise ValueError("Missing required parameter 'team_id'")
|
|
4984
|
-
request_body = {
|
|
4985
|
-
"name": name,
|
|
4986
|
-
}
|
|
4515
|
+
request_body = {"name": name}
|
|
4987
4516
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4988
4517
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}"
|
|
4989
4518
|
query_params = {}
|
|
@@ -4991,9 +4520,7 @@ class MiroApp(APIApplication):
|
|
|
4991
4520
|
response.raise_for_status()
|
|
4992
4521
|
return response.json()
|
|
4993
4522
|
|
|
4994
|
-
def list_team_members(
|
|
4995
|
-
self, org_id, team_id, limit=None, cursor=None, role=None
|
|
4996
|
-
) -> Any:
|
|
4523
|
+
async def list_team_members(self, org_id, team_id, limit=None, cursor=None, role=None) -> Any:
|
|
4997
4524
|
"""
|
|
4998
4525
|
Retrieves a paginated list of members for a specified team within an organization, optionally filtered by role.
|
|
4999
4526
|
|
|
@@ -5019,16 +4546,12 @@ class MiroApp(APIApplication):
|
|
|
5019
4546
|
if team_id is None:
|
|
5020
4547
|
raise ValueError("Missing required parameter 'team_id'")
|
|
5021
4548
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/members"
|
|
5022
|
-
query_params = {
|
|
5023
|
-
k: v
|
|
5024
|
-
for k, v in [("limit", limit), ("cursor", cursor), ("role", role)]
|
|
5025
|
-
if v is not None
|
|
5026
|
-
}
|
|
4549
|
+
query_params = {k: v for k, v in [("limit", limit), ("cursor", cursor), ("role", role)] if v is not None}
|
|
5027
4550
|
response = self._get(url, params=query_params)
|
|
5028
4551
|
response.raise_for_status()
|
|
5029
4552
|
return response.json()
|
|
5030
4553
|
|
|
5031
|
-
def invite_team_members(self, org_id, team_id, email=None, role=None) -> Any:
|
|
4554
|
+
async def invite_team_members(self, org_id, team_id, email=None, role=None) -> Any:
|
|
5032
4555
|
"""
|
|
5033
4556
|
Adds a member to a specific team within an organization using the API endpoint at "/v2/orgs/{org_id}/teams/{team_id}/members".
|
|
5034
4557
|
|
|
@@ -5055,10 +4578,7 @@ class MiroApp(APIApplication):
|
|
|
5055
4578
|
raise ValueError("Missing required parameter 'org_id'")
|
|
5056
4579
|
if team_id is None:
|
|
5057
4580
|
raise ValueError("Missing required parameter 'team_id'")
|
|
5058
|
-
request_body = {
|
|
5059
|
-
"email": email,
|
|
5060
|
-
"role": role,
|
|
5061
|
-
}
|
|
4581
|
+
request_body = {"email": email, "role": role}
|
|
5062
4582
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5063
4583
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/members"
|
|
5064
4584
|
query_params = {}
|
|
@@ -5066,7 +4586,7 @@ class MiroApp(APIApplication):
|
|
|
5066
4586
|
response.raise_for_status()
|
|
5067
4587
|
return response.json()
|
|
5068
4588
|
|
|
5069
|
-
def get_team_member(self, org_id, team_id, member_id) -> Any:
|
|
4589
|
+
async def get_team_member(self, org_id, team_id, member_id) -> Any:
|
|
5070
4590
|
"""
|
|
5071
4591
|
Retrieves information about a specific team member using the provided organization, team, and member identifiers.
|
|
5072
4592
|
|
|
@@ -5093,7 +4613,7 @@ class MiroApp(APIApplication):
|
|
|
5093
4613
|
response.raise_for_status()
|
|
5094
4614
|
return response.json()
|
|
5095
4615
|
|
|
5096
|
-
def delete_team_member_from_team(self, org_id, team_id, member_id) -> Any:
|
|
4616
|
+
async def delete_team_member_from_team(self, org_id, team_id, member_id) -> Any:
|
|
5097
4617
|
"""
|
|
5098
4618
|
Removes a member from a specified team in an organization using the GitHub API.
|
|
5099
4619
|
|
|
@@ -5120,7 +4640,7 @@ class MiroApp(APIApplication):
|
|
|
5120
4640
|
response.raise_for_status()
|
|
5121
4641
|
return response.json()
|
|
5122
4642
|
|
|
5123
|
-
def update_team_member(self, org_id, team_id, member_id, role=None) -> Any:
|
|
4643
|
+
async def update_team_member(self, org_id, team_id, member_id, role=None) -> Any:
|
|
5124
4644
|
"""
|
|
5125
4645
|
Updates the membership details of a team member in an organization using the GitHub API.
|
|
5126
4646
|
|
|
@@ -5148,9 +4668,7 @@ class MiroApp(APIApplication):
|
|
|
5148
4668
|
raise ValueError("Missing required parameter 'team_id'")
|
|
5149
4669
|
if member_id is None:
|
|
5150
4670
|
raise ValueError("Missing required parameter 'member_id'")
|
|
5151
|
-
request_body = {
|
|
5152
|
-
"role": role,
|
|
5153
|
-
}
|
|
4671
|
+
request_body = {"role": role}
|
|
5154
4672
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5155
4673
|
url = f"{self.base_url}/v2/orgs/{org_id}/teams/{team_id}/members/{member_id}"
|
|
5156
4674
|
query_params = {}
|
|
@@ -5158,7 +4676,7 @@ class MiroApp(APIApplication):
|
|
|
5158
4676
|
response.raise_for_status()
|
|
5159
4677
|
return response.json()
|
|
5160
4678
|
|
|
5161
|
-
def get_default_team_settings(self, org_id) -> Any:
|
|
4679
|
+
async def get_default_team_settings(self, org_id) -> Any:
|
|
5162
4680
|
"""
|
|
5163
4681
|
Retrieves the default team settings for an organization via the GitHub API.
|
|
5164
4682
|
|
|
@@ -5179,7 +4697,7 @@ class MiroApp(APIApplication):
|
|
|
5179
4697
|
response.raise_for_status()
|
|
5180
4698
|
return response.json()
|
|
5181
4699
|
|
|
5182
|
-
def get_team_settings1(self, org_id, team_id) -> Any:
|
|
4700
|
+
async def get_team_settings1(self, org_id, team_id) -> Any:
|
|
5183
4701
|
"""
|
|
5184
4702
|
Retrieves team settings for a specified team within an organization using the "GET" method.
|
|
5185
4703
|
|
|
@@ -5203,7 +4721,7 @@ class MiroApp(APIApplication):
|
|
|
5203
4721
|
response.raise_for_status()
|
|
5204
4722
|
return response.json()
|
|
5205
4723
|
|
|
5206
|
-
def update_team_settings1(
|
|
4724
|
+
async def update_team_settings1(
|
|
5207
4725
|
self,
|
|
5208
4726
|
org_id,
|
|
5209
4727
|
team_id,
|