Skip to content

Commit 089df69

Browse files
Upgrade api specification
1 parent e325b80 commit 089df69

File tree

114 files changed

+23573
-9398
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+23573
-9398
lines changed

packages/generator/spec.json

Lines changed: 8574 additions & 6143 deletions
Large diffs are not rendered by default.

packages/miro-api-python/.openapi-generator/FILES

Lines changed: 123 additions & 3 deletions
Large diffs are not rendered by default.

packages/miro-api-python/miro_api/api/__init__.py

Lines changed: 5924 additions & 1783 deletions
Large diffs are not rendered by default.

packages/miro-api-python/miro_api/api_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None, cook
8282
self.default_headers[header_name] = header_value
8383
self.cookie = cookie
8484
# Set default User-Agent.
85-
self.user_agent = "OpenAPI-Generator/2.2.3/python"
85+
self.user_agent = "OpenAPI-Generator/2.2.4/python"
8686
self.client_side_validation = configuration.client_side_validation
8787

8888
def __enter__(self):

packages/miro-api-python/miro_api/configuration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ def to_debug_report(self):
390390
"OS: {env}\n"
391391
"Python Version: {pyversion}\n"
392392
"Version of the API: v2.0\n"
393-
"SDK Package Version: 2.2.3".format(env=sys.platform, pyversion=sys.version)
393+
"SDK Package Version: 2.2.4".format(env=sys.platform, pyversion=sys.version)
394394
)
395395

396396
def get_host_settings(self):

packages/miro-api-python/miro_api/models/__init__.py

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,23 @@
3333
from miro_api.models.audit_page import AuditPage
3434
from miro_api.models.audit_team import AuditTeam
3535
from miro_api.models.basic_error import BasicError
36-
from miro_api.models.basic_error_enterprise_user_session_reset_enterprise_plan import (
37-
BasicErrorEnterpriseUserSessionResetEnterprisePlan,
38-
)
3936
from miro_api.models.basic_error_organizations_enterprise_plan import BasicErrorOrganizationsEnterprisePlan
4037
from miro_api.models.board import Board
4138
from miro_api.models.board_changes import BoardChanges
4239
from miro_api.models.board_data_classification_label import BoardDataClassificationLabel
40+
from miro_api.models.board_export_job import BoardExportJob
41+
from miro_api.models.board_export_job_creator import BoardExportJobCreator
4342
from miro_api.models.board_export_job_id import BoardExportJobId
4443
from miro_api.models.board_export_job_status import BoardExportJobStatus
44+
from miro_api.models.board_export_job_tasks_count import BoardExportJobTasksCount
45+
from miro_api.models.board_export_job_tasks_list import BoardExportJobTasksList
46+
from miro_api.models.board_export_jobs_list import BoardExportJobsList
4547
from miro_api.models.board_export_result import BoardExportResult
48+
from miro_api.models.board_export_task import BoardExportTask
49+
from miro_api.models.board_export_task_board import BoardExportTaskBoard
50+
from miro_api.models.board_export_task_export_link import BoardExportTaskExportLink
4651
from miro_api.models.board_export_task_result import BoardExportTaskResult
52+
from miro_api.models.board_format import BoardFormat
4753
from miro_api.models.board_item_content_log import BoardItemContentLog
4854
from miro_api.models.board_links import BoardLinks
4955
from miro_api.models.board_member import BoardMember
@@ -59,6 +65,8 @@
5965
from miro_api.models.board_sharing_policy_change import BoardSharingPolicyChange
6066
from miro_api.models.board_subscription import BoardSubscription
6167
from miro_api.models.board_subscription_data import BoardSubscriptionData
68+
from miro_api.models.board_user_group import BoardUserGroup
69+
from miro_api.models.board_user_groups_page import BoardUserGroupsPage
6270
from miro_api.models.board_with_links import BoardWithLinks
6371
from miro_api.models.board_with_links_and_last_opened import BoardWithLinksAndLastOpened
6472
from miro_api.models.board_with_links_and_without_project import BoardWithLinksAndWithoutProject
@@ -84,11 +92,15 @@
8492
from miro_api.models.copy_board_changes import CopyBoardChanges
8593
from miro_api.models.create_board_export_request import CreateBoardExportRequest
8694
from miro_api.models.create_board_subscription_request import CreateBoardSubscriptionRequest
95+
from miro_api.models.create_board_user_groups_request import CreateBoardUserGroupsRequest
8796
from miro_api.models.create_document_item_using_file_from_device_request_data import (
8897
CreateDocumentItemUsingFileFromDeviceRequestData,
8998
)
9099
from miro_api.models.create_frame_item400_response import CreateFrameItem400Response
100+
from miro_api.models.create_group_member_request import CreateGroupMemberRequest
101+
from miro_api.models.create_group_request import CreateGroupRequest
91102
from miro_api.models.create_project_request import CreateProjectRequest
103+
from miro_api.models.create_team_group_request import CreateTeamGroupRequest
92104
from miro_api.models.create_team_request import CreateTeamRequest
93105
from miro_api.models.created_by import CreatedBy
94106
from miro_api.models.created_by_platform_containers import CreatedByPlatformContainers
@@ -127,6 +139,11 @@
127139
from miro_api.models.embed_url_data_changes import EmbedUrlDataChanges
128140
from miro_api.models.embed_url_data_platformbulkcreateoperation import EmbedUrlDataPlatformbulkcreateoperation
129141
from miro_api.models.enterprise_get_organization_members200_response import EnterpriseGetOrganizationMembers200Response
142+
from miro_api.models.enterprise_update_board_export_job200_response import EnterpriseUpdateBoardExportJob200Response
143+
from miro_api.models.enterprise_update_board_export_job200_response_status import (
144+
EnterpriseUpdateBoardExportJob200ResponseStatus,
145+
)
146+
from miro_api.models.enterprise_update_board_export_job_request import EnterpriseUpdateBoardExportJobRequest
130147
from miro_api.models.error import Error
131148
from miro_api.models.error400 import Error400
132149
from miro_api.models.error401 import Error401
@@ -135,6 +152,7 @@
135152
from miro_api.models.error409 import Error409
136153
from miro_api.models.error429 import Error429
137154
from miro_api.models.error_response import ErrorResponse
155+
from miro_api.models.export_job_status import ExportJobStatus
138156
from miro_api.models.fixed_ratio_geometry import FixedRatioGeometry
139157
from miro_api.models.fixed_ratio_geometry_platform_file_upload import FixedRatioGeometryPlatformFileUpload
140158
from miro_api.models.fixed_ratio_no_rotation_geometry import FixedRatioNoRotationGeometry
@@ -179,7 +197,12 @@
179197
from miro_api.models.get_tags_response import GetTagsResponse
180198
from miro_api.models.group import Group
181199
from miro_api.models.group_data import GroupData
200+
from miro_api.models.group_member import GroupMember
201+
from miro_api.models.group_members_page import GroupMembersPage
182202
from miro_api.models.group_response_short import GroupResponseShort
203+
from miro_api.models.group_team import GroupTeam
204+
from miro_api.models.group_teams_page import GroupTeamsPage
205+
from miro_api.models.groups_page import GroupsPage
183206
from miro_api.models.image_create_request import ImageCreateRequest
184207
from miro_api.models.image_data import ImageData
185208
from miro_api.models.image_data_response import ImageDataResponse
@@ -244,6 +267,8 @@
244267
from miro_api.models.organization_members_search_response import OrganizationMembersSearchResponse
245268
from miro_api.models.page_links import PageLinks
246269
from miro_api.models.page_links_platform_experimental_features import PageLinksPlatformExperimentalFeatures
270+
from miro_api.models.paginated_case_export_jobs_response import PaginatedCaseExportJobsResponse
271+
from miro_api.models.paginated_case_export_jobs_response_data_inner import PaginatedCaseExportJobsResponseDataInner
247272
from miro_api.models.paginated_case_response import PaginatedCaseResponse
248273
from miro_api.models.paginated_legal_hold_content_items_response import PaginatedLegalHoldContentItemsResponse
249274
from miro_api.models.paginated_legal_hold_response import PaginatedLegalHoldResponse
@@ -265,6 +290,7 @@
265290
from miro_api.models.project_role import ProjectRole
266291
from miro_api.models.project_role_to_add import ProjectRoleToAdd
267292
from miro_api.models.project_settings import ProjectSettings
293+
from miro_api.models.relationship import Relationship
268294
from miro_api.models.relative_offset import RelativeOffset
269295
from miro_api.models.revoke_token_request import RevokeTokenRequest
270296
from miro_api.models.self_link import SelfLink
@@ -304,6 +330,8 @@
304330
from miro_api.models.team_collaboration_settings_changes import TeamCollaborationSettingsChanges
305331
from miro_api.models.team_copy_access_level_settings import TeamCopyAccessLevelSettings
306332
from miro_api.models.team_copy_access_level_settings_changes import TeamCopyAccessLevelSettingsChanges
333+
from miro_api.models.team_group import TeamGroup
334+
from miro_api.models.team_groups_page import TeamGroupsPage
307335
from miro_api.models.team_information import TeamInformation
308336
from miro_api.models.team_invitation_settings import TeamInvitationSettings
309337
from miro_api.models.team_invitation_settings_changes import TeamInvitationSettingsChanges
@@ -335,13 +363,20 @@
335363
from miro_api.models.update_connector_style import UpdateConnectorStyle
336364
from miro_api.models.update_frame_item409_response import UpdateFrameItem409Response
337365
from miro_api.models.update_frame_style import UpdateFrameStyle
366+
from miro_api.models.update_group_request import UpdateGroupRequest
338367
from miro_api.models.update_project_member_request import UpdateProjectMemberRequest
339368
from miro_api.models.update_project_request import UpdateProjectRequest
340369
from miro_api.models.update_project_settings_request import UpdateProjectSettingsRequest
341370
from miro_api.models.update_shape_style import UpdateShapeStyle
342371
from miro_api.models.update_sticky_note_style import UpdateStickyNoteStyle
343372
from miro_api.models.update_team_settings_request import UpdateTeamSettingsRequest
344373
from miro_api.models.update_text_style import UpdateTextStyle
374+
from miro_api.models.update_user_group_members_request import UpdateUserGroupMembersRequest
375+
from miro_api.models.update_user_group_members_result_error import UpdateUserGroupMembersResultError
376+
from miro_api.models.update_user_group_members_result_error_error import UpdateUserGroupMembersResultErrorError
377+
from miro_api.models.update_user_group_members_result_inner import UpdateUserGroupMembersResultInner
378+
from miro_api.models.update_user_group_members_result_operation import UpdateUserGroupMembersResultOperation
379+
from miro_api.models.update_user_group_members_result_success import UpdateUserGroupMembersResultSuccess
345380
from miro_api.models.upload_file_from_device_data import UploadFileFromDeviceData
346381
from miro_api.models.user import User
347382
from miro_api.models.user_info_last_opened_by import UserInfoLastOpenedBy

packages/miro-api-python/miro_api/models/board_changes.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,13 @@ class BoardChanges(BaseModel):
3838
)
3939
policy: Optional[BoardPolicyChange] = None
4040
team_id: Optional[StrictStr] = Field(
41-
default=None, description="Unique identifier (ID) of the team where the board must be placed.", alias="teamId"
41+
default=None,
42+
description="Unique identifier (ID) of the team where the board must be placed. **Note**: On Enterprise plan, boards can be moved via API by Board Owners, Co-Owners, and Content Admins. This behavior differs from the Miro UI, where only Board Owners can move boards. This difference is **intentional** and works as designed. On non-Enterprise plans, only Board Owners can move boards between teams—both via the API and the Miro UI.",
43+
alias="teamId",
4244
)
4345
project_id: Optional[StrictStr] = Field(
4446
default=None,
45-
description="Unique identifier (ID) of the project to which the board must be added.",
47+
description="Unique identifier (ID) of the project to which the board must be added. **Note**: Projects have been renamed to Spaces. Use this parameter to update the space. For Starter and Edu plans, Team Admins looking to move boards between Spaces/Projects of the same team would need to be direct Board Editors on the boards to move.",
4648
alias="projectId",
4749
)
4850
additional_properties: Dict[str, Any] = {}
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# coding: utf-8
2+
3+
"""
4+
Miro Developer Platform
5+
6+
<img src=\"https://content.pstmn.io/47449ea6-0ef7-4af2-bac1-e58a70e61c58/aW1hZ2UucG5n\" width=\"1685\" height=\"593\"> ### Miro Developer Platform concepts - New to the Miro Developer Platform? Interested in learning more about platform concepts?? [Read our introduction page](https://beta.developers.miro.com/docs/introduction) and familiarize yourself with the Miro Developer Platform capabilities in a few minutes. ### Getting started with the Miro REST API - [Quickstart (video):](https://beta.developers.miro.com/docs/try-out-the-rest-api-in-less-than-3-minutes) try the REST API in less than 3 minutes. - [Quickstart (article):](https://beta.developers.miro.com/docs/build-your-first-hello-world-app-1) get started and try the REST API in less than 3 minutes. ### Miro REST API tutorials Check out our how-to articles with step-by-step instructions and code examples so you can: - [Get started with OAuth 2.0 and Miro](https://beta.developers.miro.com/docs/getting-started-with-oauth) ### Miro App Examples Clone our [Miro App Examples repository](https://github.com/miroapp/app-examples) to get inspiration, customize, and explore apps built on top of Miro's Developer Platform 2.0.
7+
8+
The version of the OpenAPI document: v2.0
9+
Generated by OpenAPI Generator (https://openapi-generator.tech)
10+
11+
Do not edit the class manually.
12+
""" # noqa: E501
13+
14+
15+
from __future__ import annotations
16+
import pprint
17+
import re # noqa: F401
18+
import json
19+
20+
from datetime import datetime
21+
from pydantic import BaseModel, Field, StrictStr
22+
from typing import Any, ClassVar, Dict, List, Optional
23+
from miro_api.models.board_export_job_creator import BoardExportJobCreator
24+
from miro_api.models.board_export_job_tasks_count import BoardExportJobTasksCount
25+
from miro_api.models.board_format import BoardFormat
26+
from typing import Optional, Set
27+
from typing_extensions import Self
28+
29+
30+
class BoardExportJob(BaseModel):
31+
"""
32+
Board export job.
33+
""" # noqa: E501
34+
35+
id: Optional[StrictStr] = Field(default=None, description="Unique identifier of the board export job.")
36+
name: Optional[StrictStr] = Field(default=None, description="Board export job name.")
37+
board_format: Optional[BoardFormat] = Field(default=None, alias="boardFormat")
38+
status: Optional[StrictStr] = Field(
39+
default=None,
40+
description="Indicates the current state of the board export job. Possible values: `created`: the job has been created but not yet started. Retry the status call after some time. `in_progress`: the job is in progress, and the results are not ready yet. Retry the status call after some time. `cancelled`: the job has been cancelled and will not produce any more results. `finished`: the job is complete. You can now get results for the board export job.",
41+
)
42+
created_at: Optional[datetime] = Field(default=None, alias="createdAt")
43+
modified_at: Optional[datetime] = Field(default=None, alias="modifiedAt")
44+
tasks_count: Optional[BoardExportJobTasksCount] = Field(default=None, alias="tasksCount")
45+
creator: Optional[BoardExportJobCreator] = None
46+
additional_properties: Dict[str, Any] = {}
47+
__properties: ClassVar[List[str]] = [
48+
"id",
49+
"name",
50+
"boardFormat",
51+
"status",
52+
"createdAt",
53+
"modifiedAt",
54+
"tasksCount",
55+
"creator",
56+
]
57+
58+
model_config = {
59+
"populate_by_name": True,
60+
"validate_assignment": True,
61+
"protected_namespaces": (),
62+
}
63+
64+
def to_str(self) -> str:
65+
"""Returns the string representation of the model using alias"""
66+
return pprint.pformat(self.model_dump(by_alias=True))
67+
68+
def to_json(self) -> str:
69+
"""Returns the JSON representation of the model using alias"""
70+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
71+
return json.dumps(self.to_dict())
72+
73+
@classmethod
74+
def from_json(cls, json_str: str) -> Optional[Self]:
75+
"""Create an instance of BoardExportJob from a JSON string"""
76+
return cls.from_dict(json.loads(json_str))
77+
78+
def to_dict(self) -> Dict[str, Any]:
79+
"""Return the dictionary representation of the model using alias.
80+
81+
This has the following differences from calling pydantic's
82+
`self.model_dump(by_alias=True)`:
83+
84+
* `None` is only added to the output dict for nullable fields that
85+
were set at model initialization. Other fields with value `None`
86+
are ignored.
87+
* Fields in `self.additional_properties` are added to the output dict.
88+
"""
89+
excluded_fields: Set[str] = set(
90+
[
91+
"additional_properties",
92+
]
93+
)
94+
95+
_dict = self.model_dump(
96+
by_alias=True,
97+
exclude=excluded_fields,
98+
exclude_none=True,
99+
)
100+
# override the default output from pydantic by calling `to_dict()` of tasks_count
101+
if self.tasks_count:
102+
_dict["tasksCount"] = self.tasks_count.to_dict()
103+
# override the default output from pydantic by calling `to_dict()` of creator
104+
if self.creator:
105+
_dict["creator"] = self.creator.to_dict()
106+
# puts key-value pairs in additional_properties in the top level
107+
if self.additional_properties is not None:
108+
for _key, _value in self.additional_properties.items():
109+
_dict[_key] = _value
110+
111+
return _dict
112+
113+
@classmethod
114+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
115+
"""Create an instance of BoardExportJob from a dict"""
116+
if obj is None:
117+
return None
118+
119+
if not isinstance(obj, dict):
120+
return cls.model_validate(obj)
121+
122+
_obj = cls.model_validate(
123+
{
124+
"id": obj.get("id"),
125+
"name": obj.get("name"),
126+
"boardFormat": obj.get("boardFormat"),
127+
"status": obj.get("status"),
128+
"createdAt": obj.get("createdAt"),
129+
"modifiedAt": obj.get("modifiedAt"),
130+
"tasksCount": (
131+
BoardExportJobTasksCount.from_dict(obj["tasksCount"]) if obj.get("tasksCount") is not None else None
132+
),
133+
"creator": BoardExportJobCreator.from_dict(obj["creator"]) if obj.get("creator") is not None else None,
134+
}
135+
)
136+
# store additional fields in additional_properties
137+
for _key in obj.keys():
138+
if _key not in cls.__properties:
139+
_obj.additional_properties[_key] = obj.get(_key)
140+
141+
return _obj

0 commit comments

Comments
 (0)