From 4685bbd64397a3bb1fe3290ee15a4bcf178199c6 Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 7 Oct 2024 08:07:19 +0000 Subject: [PATCH] Upgrade api specification --- packages/generator/spec.json | 18726 ++++++---------- .../miro-api-python/.openapi-generator/FILES | 69 +- .../miro-api-python/miro_api/api/__init__.py | 467 +- .../miro-api-python/miro_api/api_client.py | 2 +- .../miro-api-python/miro_api/configuration.py | 2 +- .../miro_api/models/__init__.py | 57 +- .../miro_api/models/audit_event.py | 13 +- .../miro-api-python/miro_api/models/item.py | 15 +- .../miro_api/models/item_data.py | 158 +- .../miro_api/models/mind_map_node_geometry.py | 99 + .../miro_api/models/mindmap_create_request.py | 6 +- .../models/update_frame_item409_response.py | 109 + .../models/upload_file_from_device_data.py | 8 +- packages/miro-api/.openapi-generator/FILES | 23 +- packages/miro-api/api/apis.ts | 14 +- packages/miro-api/highlevel/index.ts | 2 +- ...ormcreateitemsinbulkusingfilefromdevice.ts | 87 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 39 - packages/miro-api/model/auditEvent.ts | 9 + ...ormcreateitemsinbulkusingfilefromdevice.ts | 66 - ...ponse.ts => createFrameItem400Response.ts} | 4 +- ...ormcreateitemsinbulkusingfilefromdevice.ts | 94 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 116 - ...lDataChangesPlatformbulkcreateoperation.ts | 48 - ...imageUrlDataPlatformbulkcreateoperation.ts | 48 - packages/miro-api/model/item.ts | 22 +- packages/miro-api/model/itemData.ts | 166 +- ...ormcreateitemsinbulkusingfilefromdevice.ts | 225 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 120 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 202 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 50 - ...lefromdevice.ts => mindMapNodeGeometry.ts} | 16 +- .../miro-api/model/mindmapCreateRequest.ts | 6 +- packages/miro-api/model/models.ts | 118 +- ...ormcreateitemsinbulkusingfilefromdevice.ts | 77 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 187 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 58 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 94 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 39 - ...ormcreateitemsinbulkusingfilefromdevice.ts | 128 - ...ePlan.ts => updateFrameItem409Response.ts} | 34 +- .../model/uploadFileFromDeviceData.ts | 9 + 42 files changed, 7368 insertions(+), 14464 deletions(-) create mode 100644 packages/miro-api-python/miro_api/models/mind_map_node_geometry.py create mode 100644 packages/miro-api-python/miro_api/models/update_frame_item409_response.py delete mode 100644 packages/miro-api/model/appCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/appCardStylePlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/cardDataPlatformcreateitemsinbulkusingfilefromdevice.ts rename packages/miro-api/model/{getBoards400Response.ts => createFrameItem400Response.ts} (95%) delete mode 100644 packages/miro-api/model/customFieldPlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/embedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/imageUrlDataChangesPlatformbulkcreateoperation.ts delete mode 100644 packages/miro-api/model/imageUrlDataPlatformbulkcreateoperation.ts delete mode 100644 packages/miro-api/model/itemDataPlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/itemPlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/itemStylePlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/itemsPlatformcreateitemsinbulkusingfilefromdevice.ts rename packages/miro-api/model/{cardStylePlatformcreateitemsinbulkusingfilefromdevice.ts => mindMapNodeGeometry.ts} (81%) delete mode 100644 packages/miro-api/model/shapeDataPlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/shapeStylePlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/stickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/stickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/textDataPlatformcreateitemsinbulkusingfilefromdevice.ts delete mode 100644 packages/miro-api/model/textStylePlatformcreateitemsinbulkusingfilefromdevice.ts rename packages/miro-api/model/{basicErrorTeamsEnterprisePlan.ts => updateFrameItem409Response.ts} (89%) diff --git a/packages/generator/spec.json b/packages/generator/spec.json index c7afe3f52..0e6d58252 100644 --- a/packages/generator/spec.json +++ b/packages/generator/spec.json @@ -587,6 +587,9 @@ "patch": { "description": "Updates board classification settings for an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", "operationId": "enterprise-dataclassification-team-settings-set", + "x-settings": { + "skip-tests": true + }, "parameters": [ { "description": "id of the organization", @@ -654,6 +657,9 @@ "get": { "description": "Retrieves board classification for a board.

Required scope

boards:read

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", "operationId": "enterprise-dataclassification-board-get", + "x-settings": { + "skip-tests": true + }, "parameters": [ { "description": "id of the organization", @@ -719,6 +725,9 @@ "post": { "description": "Updates board classification for an existing board.

Required scope

boards:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", "operationId": "enterprise-dataclassification-board-set", + "x-settings": { + "skip-tests": true + }, "parameters": [ { "description": "id of the organization", @@ -1424,106 +1433,16 @@ "description": "Board created" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, "summary": "Create board", @@ -1607,106 +1526,13 @@ "description": "Board search results." }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, "summary": "Get boards", @@ -1747,129 +1573,39 @@ "description": "Board copied" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" - }, - "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" - }, - "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" - } - }, - "summary": "Copy board", - "tags": ["boards"] - } - }, - "/v2/boards/{board_id}": { - "get": { - "description": "Retrieves information about a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-specific-board", - "parameters": [ - { - "description": "Unique identifier (ID) of the board that you want to retrieve.", - "in": "path", - "name": "board_id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Copy board", + "tags": ["boards"] + } + }, + "/v2/boards/{board_id}": { + "get": { + "description": "Retrieves information about a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-specific-board", + "parameters": [ + { + "description": "Unique identifier (ID) of the board that you want to retrieve.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { "content": { "application/json": { "schema": { @@ -1880,106 +1616,13 @@ "description": "Board retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, "summary": "Get specific board", @@ -2024,127 +1667,37 @@ "description": "The board update operation has been accepted and will be processed asynchronously. If the operation exceeds the expected duration, a response will be returned.\nTo monitor the status of the board update, use the Get specific board API. This API allows you to verify whether the board has been successfully updated." }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" - }, - "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" - }, - "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" - } - }, - "summary": "Update board", - "tags": ["boards"] - }, - "delete": { - "description": "Deletes a board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-board", - "parameters": [ - { - "description": "Unique identifier (ID) of the board that you want to delete.", - "in": "path", - "name": "board_id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Update board", + "tags": ["boards"] + }, + "delete": { + "description": "Deletes a board. Deleted boards go to Trash (on paid plans) and can be restored via UI within 90 days after deletion.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-board", + "parameters": [ + { + "description": "Unique identifier (ID) of the board that you want to delete.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { "content": { "application/json": { "schema": { @@ -2155,106 +1708,16 @@ "description": "Board deleted" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, "summary": "Delete board", @@ -2298,119 +1761,73 @@ "description": "App card item created" }, "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Create app card item", + "tags": ["app_cards"] + } + }, + "/v2/boards/{board_id}/app_cards/{item_id}": { + "get": { + "description": "Retrieves information for a specific app card item on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-app-card-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to retrieve.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/AppCardItem" } } }, - "description": "Malformed request" + "description": "App card item retrieved" + }, + "400": { + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Create app card item", + "summary": "Get app card item", "tags": ["app_cards"] - } - }, - "/v2/boards/{board_id}/app_cards/{item_id}": { - "get": { - "description": "Retrieves information for a specific app card item on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-app-card-item", + }, + "patch": { + "description": "Updates an app card item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-app-card-item", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "description": "Unique identifier (ID) of the board where you want to update the item.", "in": "path", "name": "board_id", "required": true, @@ -2419,7 +1836,7 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to retrieve.", + "description": "Unique identifier (ID) of the item that you want to update.", "in": "path", "name": "item_id", "required": true, @@ -2428,6 +1845,16 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppCardUpdateRequest" + } + } + }, + "required": true + }, "responses": { "200": { "content": { @@ -2437,120 +1864,30 @@ } } }, - "description": "App card item retrieved" + "description": "Card item updated" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get app card item", + "summary": "Update app card item", "tags": ["app_cards"] }, - "patch": { - "description": "Updates an app card item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-app-card-item", + "delete": { + "description": "Deletes an app card item from a board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-app-card-item", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to update the item.", + "description": "Unique identifier (ID) of the board from which you want to delete an item.", "in": "path", "name": "board_id", "required": true, @@ -2559,7 +1896,7 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to update.", + "description": "Unique identifier (ID) of the item that you want to delete.", "in": "path", "name": "item_id", "required": true, @@ -2568,139 +1905,195 @@ } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppCardUpdateRequest" - } - } - }, - "required": true - }, "responses": { - "200": { + "204": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AppCardItem" + "type": "object" } } }, - "description": "Card item updated" + "description": "App card item deleted" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Delete app card item", + "tags": ["app_cards"] + } + }, + "/v2/boards/{board_id}/cards": { + "post": { + "description": "Adds a card item to a board

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-card-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to create the item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CardCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CardItem" } } }, - "description": "Malformed request" + "description": "Card item created" + }, + "400": { + "$ref": "#/components/responses/400" }, "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Create card item", + "tags": ["cards"] + } + }, + "/v2/boards/{board_id}/cards/{item_id}": { + "get": { + "description": "Retrieves information for a specific card item on a board

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-card-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to retrieve.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/CardItem" } } }, - "description": "Not found" + "description": "Card item retrieved" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" }, "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Get card item", + "tags": ["cards"] + }, + "patch": { + "description": "Updates a card item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-card-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to update the item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to update.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CardUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/CardItem" } } }, - "description": "Too many requests" + "description": "Card item updated" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" + }, + "429": { + "$ref": "#/components/responses/429" } }, - "summary": "Update app card item", - "tags": ["app_cards"] + "summary": "Update card item", + "tags": ["cards"] }, "delete": { - "description": "Deletes an app card item from a board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-app-card-item", + "description": "Deletes a card item from the board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-card-item", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete an item.", + "description": "Unique identifier (ID) of the board from which you want to delete the item.", "in": "path", "name": "board_id", "required": true, @@ -2727,122 +2120,29 @@ } } }, - "description": "App card item deleted" + "description": "Card item deleted" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Delete app card item", - "tags": ["app_cards"] + "summary": "Delete card item", + "tags": ["cards"] } }, - "/v2/boards/{board_id}/cards": { + "/v2/boards/{board_id}/connectors": { "post": { - "description": "Adds a card item to a board

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-card-item", + "description": "Adds a connector to a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-connector", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to create the item.", + "description": "Unique identifier (ID) of the board for which you want to create the connector.", "in": "path", "name": "board_id", "required": true, @@ -2855,137 +2155,101 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CardCreateRequest" + "$ref": "#/components/schemas/ConnectorCreationData" } } }, "required": true }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CardItem" + "$ref": "#/components/schemas/ConnectorWithLinks" } } }, - "description": "Card item created" + "description": "Connector created" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Create connector", + "tags": ["connectors"] + }, + "get": { + "description": "Retrieves a list of connectors for a specific board.\n\nThis method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "get-connectors", + "parameters": [ + { + "in": "query", + "name": "limit", + "schema": { + "type": "string", + "default": "10", + "description": "The maximum number of results to return per call. If the number of connectors in the response is greater than the limit specified, the response returns the cursor parameter with a value.", + "maximum": 50, + "minimum": 10 + } + }, + { + "in": "query", + "name": "cursor", + "schema": { + "type": "string", + "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." + } + }, + { + "description": "Unique identifier (ID) of the board from which you want to retrieve a list of connectors.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/ConnectorsCursorPaged" } } }, - "description": "Too many requests" + "description": "Connectors retrieved" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" } }, - "summary": "Create card item", - "tags": ["cards"] + "summary": "Get connectors", + "tags": ["connectors"] } }, - "/v2/boards/{board_id}/cards/{item_id}": { + "/v2/boards/{board_id}/connectors/{connector_id}": { "get": { - "description": "Retrieves information for a specific card item on a board

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-card-item", + "description": "Retrieves information for a specific connector on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-connector", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "description": "Unique identifier (ID) of the board from which you want to retrieve a specific connector.", "in": "path", "name": "board_id", "required": true, @@ -2994,9 +2258,9 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to retrieve.", + "description": "Unique identifier (ID) of the connector that you want to retrieve.", "in": "path", - "name": "item_id", + "name": "connector_id", "required": true, "schema": { "type": "string" @@ -3008,124 +2272,31 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CardItem" + "$ref": "#/components/schemas/ConnectorWithLinks" } } }, - "description": "Card item retrieved" + "description": "Connector retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get card item", - "tags": ["cards"] + "summary": "Get specific connector", + "tags": ["connectors"] }, "patch": { - "description": "Updates a card item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-card-item", + "description": "Updates a connector on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-connector", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to update the item.", + "description": "Unique identifier (ID) of the board for which you want to update the connector.", "in": "path", "name": "board_id", "required": true, @@ -3134,9 +2305,9 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to update.", + "description": "Unique identifier (ID) of the connector that you want to update.", "in": "path", - "name": "item_id", + "name": "connector_id", "required": true, "schema": { "type": "string" @@ -3147,7 +2318,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CardUpdateRequest" + "$ref": "#/components/schemas/ConnectorChangesData" } } }, @@ -3158,124 +2329,34 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CardItem" + "$ref": "#/components/schemas/ConnectorWithLinks" } } }, - "description": "Card item updated" + "description": "Connector updated" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Update card item", - "tags": ["cards"] + "summary": "Update connector", + "tags": ["connectors"] }, "delete": { - "description": "Deletes a card item from the board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-card-item", + "description": "Deletes the specified connector from the board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-connector", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete the item.", + "description": "Unique identifier (ID) of the board from which you want to delete the connector.", "in": "path", "name": "board_id", "required": true, @@ -3284,9 +2365,9 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to delete.", + "description": "Unique identifier (ID) of the connector that you want to delete.", "in": "path", - "name": "item_id", + "name": "connector_id", "required": true, "schema": { "type": "string" @@ -3302,122 +2383,29 @@ } } }, - "description": "Card item deleted" + "description": "Connector deleted" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Delete card item", - "tags": ["cards"] + "summary": "Delete connector", + "tags": ["connectors"] } }, - "/v2/boards/{board_id}/connectors": { + "/v2/boards/{board_id}/documents": { "post": { - "description": "Adds a connector to a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-connector", + "description": "Adds a document item to a board by specifying the URL where the document is hosted.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-document-item-using-url", "parameters": [ { - "description": "Unique identifier (ID) of the board for which you want to create the connector.", + "description": "Unique identifier (ID) of the board where you want to create the item.", "in": "path", "name": "board_id", "required": true, @@ -3430,156 +2418,55 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConnectorCreationData" + "$ref": "#/components/schemas/DocumentCreateRequest" } } }, "required": true }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConnectorWithLinks" + "$ref": "#/components/schemas/DocumentItem" } } }, - "description": "Connector created" + "description": "Document item created" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Create connector", - "tags": ["connectors"] - }, + "summary": "Create document item using URL", + "tags": ["documents"] + } + }, + "/v2/boards/{board_id}/documents/{item_id}": { "get": { - "description": "Retrieves a list of connectors for a specific board.\n\nThis method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "get-connectors", + "description": "Retrieves information for a specific document item on a board

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-document-item", "parameters": [ { - "in": "query", - "name": "limit", - "schema": { - "type": "string", - "default": "10", - "description": "The maximum number of results to return per call. If the number of connectors in the response is greater than the limit specified, the response returns the cursor parameter with a value.", - "maximum": 50, - "minimum": 10 - } - }, - { - "in": "query", - "name": "cursor", + "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "in": "path", + "name": "board_id", + "required": true, "schema": { - "type": "string", - "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." + "type": "string" } }, { - "description": "Unique identifier (ID) of the board from which you want to retrieve a list of connectors.", + "description": "Unique identifier (ID) of the item that you want to retrieve.", "in": "path", - "name": "board_id", + "name": "item_id", "required": true, "schema": { "type": "string" @@ -3591,126 +2478,31 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConnectorsCursorPaged" + "$ref": "#/components/schemas/DocumentItem" } } }, - "description": "Connectors retrieved" + "description": "Document item retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get connectors", - "tags": ["connectors"] - } - }, - "/v2/boards/{board_id}/connectors/{connector_id}": { - "get": { - "description": "Retrieves information for a specific connector on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-connector", + "summary": "Get document item", + "tags": ["documents"] + }, + "patch": { + "description": "Updates a document item on a board

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-document-item-using-url", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to retrieve a specific connector.", + "description": "Unique identifier (ID) of the board where you want to update the item.", "in": "path", "name": "board_id", "required": true, @@ -3719,138 +2511,58 @@ } }, { - "description": "Unique identifier (ID) of the connector that you want to retrieve.", + "description": "Unique identifier (ID) of the item that you want to update.", "in": "path", - "name": "connector_id", + "name": "item_id", "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocumentUpdateRequest" + } + } + }, + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConnectorWithLinks" + "$ref": "#/components/schemas/DocumentItem" } } }, - "description": "Connector retrieved" + "description": "Document item updated" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get specific connector", - "tags": ["connectors"] + "summary": "Update document item using URL", + "tags": ["documents"] }, - "patch": { - "description": "Updates a connector on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-connector", + "delete": { + "description": "Deletes a document item from the board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-document-item", "parameters": [ { - "description": "Unique identifier (ID) of the board for which you want to update the connector.", + "description": "Unique identifier (ID) of the board from which you want to delete the item.", "in": "path", "name": "board_id", "required": true, @@ -3859,148 +2571,204 @@ } }, { - "description": "Unique identifier (ID) of the connector that you want to update.", + "description": "Unique identifier (ID) of the item that you want to delete.", "in": "path", - "name": "connector_id", + "name": "item_id", "required": true, "schema": { "type": "string" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ConnectorChangesData" - } - } - }, - "required": true - }, "responses": { - "200": { + "204": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConnectorWithLinks" + "type": "object" } } }, - "description": "Connector updated" + "description": "Document item deleted" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Delete document item", + "tags": ["documents"] + } + }, + "/v2/boards/{board_id}/embeds": { + "post": { + "description": "Adds an embed item containing external content to a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-embed-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to create the item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbedCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbedItem" } } }, - "description": "Malformed request" + "description": "Embed item created" + }, + "400": { + "$ref": "#/components/responses/400" }, "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Create embed item", + "tags": ["embeds"] + } + }, + "/v2/boards/{board_id}/embeds/{item_id}": { + "get": { + "description": "Retrieves information for a specific embed item on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-embed-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to retrieve.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/EmbedItem" } } }, - "description": "Not found" + "description": "Embed item retrieved" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" }, "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Get embed item", + "tags": ["embeds"] + }, + "patch": { + "description": "Updates an embed item on a board based on the data properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-embed-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to update the item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to update.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbedUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/EmbedItem" } } }, - "description": "Too many requests" + "description": "Embed item updated" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" + }, + "429": { + "$ref": "#/components/responses/429" } }, - "summary": "Update connector", - "tags": ["connectors"] + "summary": "Update embed item", + "tags": ["embeds"] }, "delete": { - "description": "Deletes the specified connector from the board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-connector", + "description": "Deletes an embed item from the board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-embed-item", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete the connector.", + "description": "Unique identifier (ID) of the board from which you want to delete the item.", "in": "path", "name": "board_id", "required": true, @@ -4009,9 +2777,9 @@ } }, { - "description": "Unique identifier (ID) of the connector that you want to delete.", + "description": "Unique identifier (ID) of the item that you want to delete.", "in": "path", - "name": "connector_id", + "name": "item_id", "required": true, "schema": { "type": "string" @@ -4027,119 +2795,29 @@ } } }, - "description": "Connector deleted" + "description": "Embed item deleted" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Delete connector", - "tags": ["connectors"] + "summary": "Delete embed item", + "tags": ["embeds"] } }, - "/v2/boards/{board_id}/documents": { + "/v2/boards/{board_id}/images": { "post": { - "description": "Adds a document item to a board by specifying the URL where the document is hosted.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-document-item-using-url", + "x-settings": { + "skip-tests": true + }, + "description": "Adds an image item to a board by specifying an image URL.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-image-item-using-url", "parameters": [ { "description": "Unique identifier (ID) of the board where you want to create the item.", @@ -4155,7 +2833,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentCreateRequest" + "$ref": "#/components/schemas/ImageCreateRequest" } } }, @@ -4166,123 +2844,33 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentItem" + "$ref": "#/components/schemas/ImageItem" } } }, - "description": "Document item created" + "description": "Image item created" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Create document item using URL", - "tags": ["documents"] + "summary": "Create image item using URL", + "tags": ["images"] } }, - "/v2/boards/{board_id}/documents/{item_id}": { + "/v2/boards/{board_id}/images/{item_id}": { "get": { - "description": "Retrieves information for a specific document item on a board

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-document-item", + "x-settings": { + "skip-tests": true + }, + "description": "Retrieves information for a specific image item on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-image-item", "parameters": [ { "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", @@ -4308,121 +2896,31 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentItem" + "$ref": "#/components/schemas/ImageItem" } } }, - "description": "Document item retrieved" + "description": "Image item retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get document item", - "tags": ["documents"] + "summary": "Get image item", + "tags": ["images"] }, "patch": { - "description": "Updates a document item on a board

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-document-item-using-url", + "x-settings": { + "skip-tests": true + }, + "description": "Updates an image item on a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-image-item-using-url", "parameters": [ { "description": "Unique identifier (ID) of the board where you want to update the item.", @@ -4447,7 +2945,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentUpdateRequest" + "$ref": "#/components/schemas/ImageUpdateRequest" } } }, @@ -4458,121 +2956,34 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentItem" + "$ref": "#/components/schemas/ImageItem" } } }, - "description": "Document item updated" + "description": "Image item updated" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Update document item using URL", - "tags": ["documents"] + "summary": "Update image item using URL", + "tags": ["images"] }, "delete": { - "description": "Deletes a document item from the board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-document-item", + "x-settings": { + "skip-tests": true + }, + "description": "Deletes an image item from the board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-image-item", "parameters": [ { "description": "Unique identifier (ID) of the board from which you want to delete the item.", @@ -4602,122 +3013,68 @@ } } }, - "description": "Document item deleted" + "description": "Image item deleted" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Delete document item", - "tags": ["documents"] + "summary": "Delete image item", + "tags": ["images"] } }, - "/v2/boards/{board_id}/embeds": { - "post": { - "description": "Adds an embed item containing external content to a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-embed-item", + "/v2/boards/{board_id}/items": { + "get": { + "description": "Retrieves a list of items for a specific board. You can retrieve all items on the board, a list of child items inside a parent item, or a list of specific types of items by specifying URL query parameter values.\n\nThis method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "get-items", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to create the item.", + "in": "query", + "name": "limit", + "schema": { + "type": "string", + "default": "10", + "description": "The maximum number of results to return per call. If the number of items in the response is greater than the limit specified, the response returns the cursor parameter with a value.", + "maximum": 50, + "minimum": 10 + } + }, + { + "in": "query", + "name": "type", + "schema": { + "type": "string", + "enum": [ + "text", + "shape", + "sticky_note", + "image", + "document", + "card", + "app_card", + "preview", + "frame", + "embed" + ], + "description": "If you want to get a list of items of a specific type, specify an item type. For example, if you want to retrieve the list of card items, set `type` to `cards`.\n Possible values: `app_card`, `card`, `document`, `embed`, `frame`, `image`, `shape`, `sticky_note`, `text`" + } + }, + { + "in": "query", + "name": "cursor", + "schema": { + "type": "string", + "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." + } + }, + { + "description": "Unique identifier (ID) of the board for which you want to retrieve the list of available items.", "in": "path", "name": "board_id", "required": true, @@ -4726,138 +3083,35 @@ } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EmbedCreateRequest" - } - } - }, - "required": true - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EmbedItem" + "$ref": "#/components/schemas/GenericItemCursorPaged" } } }, - "description": "Embed item created" + "description": "Items retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Create embed item", - "tags": ["embeds"] + "summary": "Get items on board", + "tags": ["items"] } }, - "/v2/boards/{board_id}/embeds/{item_id}": { + "/v2/boards/{board_id}/items/{item_id}": { "get": { - "description": "Retrieves information for a specific embed item on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-embed-item", + "description": "Retrieves information for a specific item on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-specific-item", "parameters": [ { "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", @@ -4883,121 +3137,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EmbedItem" + "$ref": "#/components/schemas/GenericItem" } } }, - "description": "Embed item retrieved" + "description": "Item retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get embed item", - "tags": ["embeds"] + "summary": "Get specific item on board", + "tags": ["items"] }, "patch": { - "description": "Updates an embed item on a board based on the data properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-embed-item", + "description": "Updates the position or the parent of an item on a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-item-position-or-parent", "parameters": [ { "description": "Unique identifier (ID) of the board where you want to update the item.", @@ -5022,7 +3183,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EmbedUpdateRequest" + "$ref": "#/components/schemas/GenericItemUpdate" } } }, @@ -5033,121 +3194,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EmbedItem" + "$ref": "#/components/schemas/GenericItem" } } }, - "description": "Embed item updated" + "description": "Item updated" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Update embed item", - "tags": ["embeds"] + "summary": "Update item position or parent", + "tags": ["items"] }, "delete": { - "description": "Deletes an embed item from the board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-embed-item", + "description": "Deletes an item from a board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-item", "parameters": [ { "description": "Unique identifier (ID) of the board from which you want to delete the item.", @@ -5177,125 +3245,95 @@ } } }, - "description": "Embed item deleted" + "description": "Item deleted" }, "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Delete item", + "tags": ["items"] + } + }, + "/v2/boards/{board_id}/members": { + "post": { + "description": "Shares the board and Invites new members to collaborate on a board by sending an invitation email. Depending on the board's Sharing policy, there might be various scenarios where membership in the team is required in order to share the board with a user.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "share-board", + "parameters": [ + { + "description": "Unique identifier (ID) of the board to which the board member belongs.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BoardMembersInvite" + } + } + }, + "required": true + }, + "responses": { + "201": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/InvitationResult" } } }, - "description": "Malformed request" + "description": "Board members invited" + }, + "400": { + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Delete embed item", - "tags": ["embeds"] - } - }, - "/v2/boards/{board_id}/images": { - "post": { - "x-settings": { - "skip-tests": true - }, - "description": "Adds an image item to a board by specifying an image URL.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-image-item-using-url", + "summary": "Share board", + "tags": ["board_members"] + }, + "get": { + "description": "Retrieves a pageable list of members for a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-board-members", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to create the item.", + "in": "query", + "name": "limit", + "schema": { + "type": "string", + "description": "The maximum number of board members to retrieve.\nDefault: `20`.", + "maximum": 50, + "minimum": 1 + } + }, + { + "in": "query", + "name": "offset", + "schema": { + "type": "string", + "description": "The (zero-based) offset of the first item in the collection to return.\nDefault: `0`." + } + }, + { + "description": "Unique identifier (ID) of the board to which the board member belongs.", "in": "path", "name": "board_id", "required": true, @@ -5304,144 +3342,38 @@ } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImageCreateRequest" - } - } - }, - "required": true - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ImageItem" + "$ref": "#/components/schemas/BoardMembersPagedResponse" } } }, - "description": "Image item created" + "description": "Board members retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Create image item using URL", - "tags": ["images"] + "summary": "Get all board members", + "tags": ["board_members"] } }, - "/v2/boards/{board_id}/images/{item_id}": { + "/v2/boards/{board_id}/members/{board_member_id}": { "get": { - "x-settings": { - "skip-tests": true - }, - "description": "Retrieves information for a specific image item on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-image-item", + "description": "Retrieves information for a board member.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-specific-board-member", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "description": "Unique identifier (ID) of the board to which the board member belongs.", "in": "path", "name": "board_id", "required": true, @@ -5450,9 +3382,9 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to retrieve.", + "description": "Unique identifier (ID) of the board member whose role you want to retrieve.", "in": "path", - "name": "item_id", + "name": "board_member_id", "required": true, "schema": { "type": "string" @@ -5464,127 +3396,31 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ImageItem" + "$ref": "#/components/schemas/BoardMemberWithLinks" } } }, - "description": "Image item retrieved" + "description": "Board member retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get image item", - "tags": ["images"] + "summary": "Get specific board member", + "tags": ["board_members"] }, "patch": { - "x-settings": { - "skip-tests": true - }, - "description": "Updates an image item on a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-image-item-using-url", + "description": "Updates the role of a board member.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-board-member", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to update the item.", + "description": "Unique identifier (ID) of the board for which you want to update the role of the board member.", "in": "path", "name": "board_id", "required": true, @@ -5593,9 +3429,9 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to update.", + "description": "Unique identifier (ID) of the board member whose role you want to update.", "in": "path", - "name": "item_id", + "name": "board_member_id", "required": true, "schema": { "type": "string" @@ -5606,7 +3442,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ImageUpdateRequest" + "$ref": "#/components/schemas/BoardMemberChanges" } } }, @@ -5617,127 +3453,31 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ImageItem" + "$ref": "#/components/schemas/BoardMemberWithLinks" } } }, - "description": "Image item updated" + "description": "Board member updated" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Update image item using URL", - "tags": ["images"] + "summary": "Update board member", + "tags": ["board_members"] }, "delete": { - "x-settings": { - "skip-tests": true - }, - "description": "Deletes an image item from the board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-image-item", + "description": "Removes a board member from a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "remove-board-member", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete the item.", + "description": "Unique identifier (ID) of the board from which you want to delete an item.", "in": "path", "name": "board_id", "required": true, @@ -5746,9 +3486,9 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to delete.", + "description": "Unique identifier (ID) of the board member whose role you want to delete.", "in": "path", - "name": "item_id", + "name": "board_member_id", "required": true, "schema": { "type": "string" @@ -5764,161 +3504,29 @@ } } }, - "description": "Image item deleted" + "description": "Board member deleted" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Delete image item", - "tags": ["images"] + "summary": "Remove board member", + "tags": ["board_members"] } }, - "/v2/boards/{board_id}/items": { - "get": { - "description": "Retrieves a list of items for a specific board. You can retrieve all items on the board, a list of child items inside a parent item, or a list of specific types of items by specifying URL query parameter values.\n\nThis method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "get-items", + "/v2/boards/{board_id}/shapes": { + "post": { + "description": "Adds a shape item to a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-shape-item", "parameters": [ { - "in": "query", - "name": "limit", - "schema": { - "type": "string", - "default": "10", - "description": "The maximum number of results to return per call. If the number of items in the response is greater than the limit specified, the response returns the cursor parameter with a value.", - "maximum": 50, - "minimum": 10 - } - }, - { - "in": "query", - "name": "type", - "schema": { - "type": "string", - "enum": [ - "text", - "shape", - "sticky_note", - "image", - "document", - "card", - "app_card", - "preview", - "frame", - "embed" - ], - "description": "If you want to get a list of items of a specific type, specify an item type. For example, if you want to retrieve the list of card items, set `type` to `cards`.\n Possible values: `app_card`, `card`, `document`, `embed`, `frame`, `image`, `shape`, `sticky_note`, `text`" - } - }, - { - "in": "query", - "name": "cursor", - "schema": { - "type": "string", - "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." - } - }, - { - "description": "Unique identifier (ID) of the board for which you want to retrieve the list of available items.", + "description": "Unique identifier (ID) of the board where you want to create the item.", "in": "path", "name": "board_id", "required": true, @@ -5927,128 +3535,45 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShapeCreateRequest" + } + } + }, + "required": true + }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenericItemCursorPaged" + "$ref": "#/components/schemas/ShapeItem" } } }, - "description": "Items retrieved" + "description": "Shape item created" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get items on board", - "tags": ["items"] + "summary": "Create shape item", + "tags": ["shapes"] } }, - "/v2/boards/{board_id}/items/{item_id}": { + "/v2/boards/{board_id}/shapes/{item_id}": { "get": { - "description": "Retrieves information for a specific item on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-specific-item", + "description": "Retrieves information for a specific shape item on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-shape-item", "parameters": [ { "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", @@ -6074,121 +3599,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenericItem" + "$ref": "#/components/schemas/ShapeItem" } } }, - "description": "Item retrieved" + "description": "Shape item retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get specific item on board", - "tags": ["items"] + "summary": "Get shape item", + "tags": ["shapes"] }, "patch": { - "description": "Updates the position or the parent of an item on a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-item-position-or-parent", + "description": "Updates a shape item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-shape-item", "parameters": [ { "description": "Unique identifier (ID) of the board where you want to update the item.", @@ -6213,7 +3645,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenericItemUpdate" + "$ref": "#/components/schemas/ShapeUpdateRequest" } } }, @@ -6224,121 +3656,31 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenericItem" + "$ref": "#/components/schemas/ShapeItem" } } }, - "description": "Item updated" + "description": "Shape item updated" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Update item position or parent", - "tags": ["items"] + "summary": "Update shape item", + "tags": ["shapes"] }, "delete": { - "description": "Deletes an item from a board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-item", + "description": "Deletes a shape item from the board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-shape-item", "parameters": [ { "description": "Unique identifier (ID) of the board from which you want to delete the item.", @@ -6368,122 +3710,235 @@ } } }, - "description": "Item deleted" + "description": "Shape item deleted" }, "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Delete shape item", + "tags": ["shapes"] + } + }, + "/v2/boards/{board_id}/sticky_notes": { + "post": { + "description": "Adds a sticky note item to a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-sticky-note-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to create the item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StickyNoteCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/StickyNoteItem" } } }, - "description": "Malformed request" + "description": "Sticky Note item created" + }, + "400": { + "$ref": "#/components/responses/400" }, "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Create sticky note item", + "tags": ["sticky_notes"] + } + }, + "/v2/boards/{board_id}/sticky_notes/{item_id}": { + "get": { + "description": "Retrieves information for a specific sticky note item on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-sticky-note-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to retrieve.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/StickyNoteItem" } } }, - "description": "Not found" + "description": "Sticky Note item retrieved" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Get sticky note item", + "tags": ["sticky_notes"] + }, + "patch": { + "description": "Updates a sticky note item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-sticky-note-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to update the item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to update.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StickyNoteUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StickyNoteItem" + } + } + }, + "description": "Sticky Note item updated" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" }, "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Update sticky note item", + "tags": ["sticky_notes"] + }, + "delete": { + "description": "Deletes a sticky note item from the board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-sticky-note-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board from which you want to delete the item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to delete.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "type": "object" } } }, - "description": "Too many requests" + "description": "Sticky Note item deleted" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" } }, - "summary": "Delete item", - "tags": ["items"] + "summary": "Delete sticky note item", + "tags": ["sticky_notes"] } }, - "/v2/boards/{board_id}/members": { + "/v2/boards/{board_id}/texts": { "post": { - "description": "Shares the board and Invites new members to collaborate on a board by sending an invitation email. Depending on the board's Sharing policy, there might be various scenarios where membership in the team is required in order to share the board with a user.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "share-board", + "description": "Adds a text item to a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-text-item", "parameters": [ { - "description": "Unique identifier (ID) of the board to which the board member belongs.", + "description": "Unique identifier (ID) of the board where you want to create the item.", "in": "path", "name": "board_id", "required": true, @@ -6496,7 +3951,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BoardMembersInvite" + "$ref": "#/components/schemas/TextCreateRequest" } } }, @@ -6507,144 +3962,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InvitationResult" + "$ref": "#/components/schemas/TextItem" } } }, - "description": "Board members invited" + "description": "Text item created" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Share board", - "tags": ["board_members"] - }, + "summary": "Create text item", + "tags": ["texts"] + } + }, + "/v2/boards/{board_id}/texts/{item_id}": { "get": { - "description": "Retrieves a pageable list of members for a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-board-members", + "description": "Retrieves information for a specific text item on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-text-item", "parameters": [ { - "in": "query", - "name": "limit", - "schema": { - "type": "string", - "description": "The maximum number of board members to retrieve.\nDefault: `20`.", - "maximum": 50, - "minimum": 1 - } - }, - { - "in": "query", - "name": "offset", + "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "in": "path", + "name": "board_id", + "required": true, "schema": { - "type": "string", - "description": "The (zero-based) offset of the first item in the collection to return.\nDefault: `0`." + "type": "string" } }, { - "description": "Unique identifier (ID) of the board to which the board member belongs.", + "description": "Unique identifier (ID) of the item that you want to retrieve.", "in": "path", - "name": "board_id", + "name": "item_id", "required": true, "schema": { "type": "string" @@ -6656,126 +4011,31 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BoardMembersPagedResponse" + "$ref": "#/components/schemas/TextItem" } } }, - "description": "Board members retrieved" + "description": "Text item retrieved" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get all board members", - "tags": ["board_members"] - } - }, - "/v2/boards/{board_id}/members/{board_member_id}": { - "get": { - "description": "Retrieves information for a board member.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-specific-board-member", + "summary": "Get text item", + "tags": ["texts"] + }, + "patch": { + "description": "Updates a text item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-text-item", "parameters": [ { - "description": "Unique identifier (ID) of the board to which the board member belongs.", + "description": "Unique identifier (ID) of the board where you want to update the item.", "in": "path", "name": "board_id", "required": true, @@ -6784,25 +4044,205 @@ } }, { - "description": "Unique identifier (ID) of the board member whose role you want to retrieve.", + "description": "Unique identifier (ID) of the item that you want to update.", "in": "path", - "name": "board_member_id", + "name": "item_id", "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TextUpdateRequest" + } + } + }, + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BoardMemberWithLinks" + "$ref": "#/components/schemas/TextItem" } } }, - "description": "Board member retrieved" + "description": "Text item updated" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Update text item", + "tags": ["texts"] + }, + "delete": { + "description": "Deletes a text item from the board

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-text-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board from which you want to delete the item.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to delete.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + }, + "description": "Text item deleted" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Delete text item", + "tags": ["texts"] + } + }, + "/v2/boards/{board_id}/items/bulk": { + "parameters": [ + { + "$ref": "#/components/parameters/boardId" + } + ], + "post": { + "x-settings": { + "publish": true + }, + "description": "Adds different types of items to a board. You can add up to 20 items of the same or different type per create call. For example, you can create 3 shape items, 4 card items, and 5 sticky notes in one create call. The bulk create operation is transactional. If any item's create operation fails, the create operation for all the remaining items also fails, and none of the items will be created.

To try out this API in our documentation:

1. In the **BODY PARAMS** section, scroll down until you see **ADD OBJECT** (Figure 1).

“add
Figure 1. Add object user interface in readme

2. Click **ADD OBJECT**, and then select or enter the appropriate values for parameters of the item that you want to add.

3. Repeat steps 1 and 2 for each item that you want to add.

Required scope

boards:write\n

Rate limiting

Level 2 per item. For example, if you want to create one sticky note, one card, and one shape item in one call, the rate limiting applicable will be 300 credits. This is because create item calls take Level 2 rate limiting of 100 credits each, 100 for sticky note, 100 for card, and 100 for shape item.", + "operationId": "create-items", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ItemCreate" + }, + "minItems": 1, + "maxItems": 20 + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Items created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Items" + } + } + } + }, + "400": { + "description": "Malformed request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BulkOperationError" + } + } + } + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "summary": "Create items in bulk", + "tags": ["Bulk operations"] + } + }, + "/v2/boards/{board_id_Platformbulkcreateoperation}/items": { + "parameters": [ + { + "$ref": "#/components/parameters/boardId" + } + ] + }, + "/v2/boards/{board_id}/frames": { + "post": { + "description": "Adds a frame to a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-frame-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to create a frame.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FrameCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FrameItem" + } + } + }, + "description": "Frame created" }, "400": { "content": { @@ -6907,15 +4347,17 @@ "description": "Too many requests" } }, - "summary": "Get specific board member", - "tags": ["board_members"] - }, - "patch": { - "description": "Updates the role of a board member.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-board-member", + "summary": "Create frame", + "tags": ["frames"] + } + }, + "/v2/boards/{board_id}/frames/{item_id}": { + "get": { + "description": "Retrieves information for a specific frame on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-frame-item", "parameters": [ { - "description": "Unique identifier (ID) of the board for which you want to update the role of the board member.", + "description": "Unique identifier (ID) of the board that contains the frame that you want to retrieve", "in": "path", "name": "board_id", "required": true, @@ -6924,35 +4366,25 @@ } }, { - "description": "Unique identifier (ID) of the board member whose role you want to update.", + "description": "Unique identifier (ID) of the frame that you want to retrieve.", "in": "path", - "name": "board_member_id", + "name": "item_id", "required": true, "schema": { "type": "string" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BoardMemberChanges" - } - } - }, - "required": true - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BoardMemberWithLinks" + "$ref": "#/components/schemas/FrameItem" } } }, - "description": "Board member updated" + "description": "Frame retrieved" }, "400": { "content": { @@ -7057,15 +4489,15 @@ "description": "Too many requests" } }, - "summary": "Update board member", - "tags": ["board_members"] + "summary": "Get frame", + "tags": ["frames"] }, - "delete": { - "description": "Removes a board member from a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "remove-board-member", + "patch": { + "description": "Updates a frame on a board based on the data, style, or geometry properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-frame-item", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete an item.", + "description": "Unique identifier (ID) of the board where you want to update the frame.", "in": "path", "name": "board_id", "required": true, @@ -7074,25 +4506,35 @@ } }, { - "description": "Unique identifier (ID) of the board member whose role you want to delete.", + "description": "Unique identifier (ID) of the frame that you want to update.", "in": "path", - "name": "board_member_id", + "name": "item_id", "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FrameUpdateRequest" + } + } + }, + "required": true + }, "responses": { - "204": { + "200": { "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/FrameItem" } } }, - "description": "Board member deleted" + "description": "Frame updated" }, "400": { "content": { @@ -7162,7 +4604,7 @@ }, "description": "Not found" }, - "429": { + "409": { "content": { "application/json": { "schema": { @@ -7183,7 +4625,7 @@ "type": "integer", "format": "int32", "description": "Status code of the error", - "example": 400 + "example": 409 }, "type": { "type": "string", @@ -7194,48 +4636,79 @@ } } }, - "description": "Too many requests" - } - }, - "summary": "Remove board member", - "tags": ["board_members"] - } - }, - "/v2/boards/{board_id}/shapes": { - "post": { - "description": "Adds a shape item to a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-shape-item", - "parameters": [ - { - "description": "Unique identifier (ID) of the board where you want to create the item.", + "description": "Conflict" + }, + "429": { + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Test error obj", + "properties": { + "code": { + "type": "string", + "description": "Code of the error", + "example": "error" + }, + "message": { + "type": "string", + "description": "Description of the error", + "example": "Error message" + }, + "status": { + "type": "integer", + "format": "int32", + "description": "Status code of the error", + "example": 400 + }, + "type": { + "type": "string", + "description": "Type of the error", + "example": "error" + } + } + } + } + }, + "description": "Too many requests" + } + }, + "summary": "Update frame", + "tags": ["frames"] + }, + "delete": { + "description": "Deletes a frame from a board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-frame-item", + "parameters": [ + { + "description": "Unique identifier (ID) of the board from which you want to delete the frame.", "in": "path", "name": "board_id", "required": true, "schema": { "type": "string" } + }, + { + "description": "Unique identifier (ID) of the frame that you want to delete.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ShapeCreateRequest" - } - } - }, - "required": true - }, "responses": { - "201": { + "204": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ShapeItem" + "type": "object" } } }, - "description": "Shape item created" + "description": "Frame deleted" }, "400": { "content": { @@ -7340,31 +4813,59 @@ "description": "Too many requests" } }, - "summary": "Create shape item", - "tags": ["shapes"] + "summary": "Delete frame", + "tags": ["frames"] } }, - "/v2/boards/{board_id}/shapes/{item_id}": { + "/v2/boards/{board_id_PlatformContainers}/items": { "get": { - "description": "Retrieves information for a specific shape item on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-shape-item", + "description": "Retrieves a list of items within a specific frame. A frame is a parent item and all items within a frame are child items. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "get-items-within-frame", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "description": "Unique identifier (ID) of the board that contains the frame for which you want to retrieve the list of available items.", "in": "path", - "name": "board_id", + "name": "board_id_PlatformContainers", "required": true, "schema": { "type": "string" } }, { - "description": "Unique identifier (ID) of the item that you want to retrieve.", - "in": "path", - "name": "item_id", + "description": "ID of the frame for which you want to retrieve the list of available items.", + "in": "query", + "name": "parent_item_id", "required": true, "schema": { - "type": "string" + "type": "string", + "minimum": 0 + } + }, + { + "in": "query", + "name": "limit", + "schema": { + "type": "string", + "default": "10", + "description": "The maximum number of results to return per call. If the number of items in the response is greater than the limit specified, the response returns the cursor parameter with a value.", + "maximum": 50, + "minimum": 10 + } + }, + { + "in": "query", + "name": "type", + "schema": { + "type": "string", + "description": "If you want to get a list of items of a specific type, specify an item type. For example, if you want to retrieve the list of card items, set `type` to `cards`.\n Possible values: `app_card`, `card`, `document`, `embed`, `frame`, `image`, `shape`, `sticky_note`, `text`" + } + }, + { + "in": "query", + "name": "cursor", + "schema": { + "type": "string", + "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." } } ], @@ -7373,11 +4874,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ShapeItem" + "$ref": "#/components/schemas/GenericItemCursorPaged" } } }, - "description": "Shape item retrieved" + "description": "Items within frame retrieved" }, "400": { "content": { @@ -7482,52 +4983,85 @@ "description": "Too many requests" } }, - "summary": "Get shape item", - "tags": ["shapes"] - }, - "patch": { - "description": "Updates a shape item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-shape-item", - "parameters": [ - { - "description": "Unique identifier (ID) of the board where you want to update the item.", - "in": "path", - "name": "board_id", - "required": true, - "schema": { - "type": "string" + "summary": "Get items within frame", + "tags": ["items"] + } + }, + "/v2/boards/{board_id_Platformcreateitemsinbulkusingfilefromdevice}/items/bulk": { + "parameters": [ + { + "$ref": "#/components/parameters/boardId" + } + ], + "post": { + "description": "Adds different types of items to a board using files from a device. You can add up to 20 items of the same or different type per create call. For example, you can create 5 document items and 5 images in one create call. The bulk create operation is transactional. If any item's create operation fails, the create operation for all the remaining items also fails, and none of the items will be created.\nTo try out this API in our documentation:\n1. In the **BODY PARAMS** section, select **ADD FILE**, and then upload a local file. Repeat for each item that you want to add.\n2. Upload a JSON file that contains the bulk data for the items you want to create.\n\n

Required scope

boards:write

Rate limiting

Level 2 per item
\n", + "operationId": "create-items-in-bulk-using-file-from-device", + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "string", + "format": "binary", + "description": "JSON file containing bulk data, where each object represents an item to be created. For details, see [JSON file example](https://developers.miro.com/reference/json-data-example)." + }, + "resources": { + "type": "array", + "description": "Array of items to create (PDFs, images, etc.). Maximum of 20 items.", + "items": { + "type": "string", + "format": "binary" + } + } + }, + "required": ["data", "resources"] + } } - }, - { - "description": "Unique identifier (ID) of the item that you want to update.", - "in": "path", - "name": "item_id", - "required": true, - "schema": { - "type": "string" + } + }, + "responses": { + "201": { + "description": "Items created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Items" + } + } } } - ], + }, + "summary": "Create items in bulk using file from device", + "tags": ["Bulk operations"] + } + }, + "/v2-experimental/webhooks/board_subscriptions": { + "post": { + "description": "Creates a webhook subscription to receive notifications when an item on a board is updated. Subscriptions are created per user, per board. You can create multiple subscriptions. We currently support all board items except tags, connectors, and comments.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "create-board-subscription", "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ShapeUpdateRequest" + "$ref": "#/components/schemas/CreateBoardSubscriptionRequest" } } }, "required": true }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ShapeItem" + "$ref": "#/components/schemas/BoardSubscription" } } }, - "description": "Shape item updated" + "description": "Subscription created" }, "400": { "content": { @@ -7632,42 +5166,44 @@ "description": "Too many requests" } }, - "summary": "Update shape item", - "tags": ["shapes"] - }, - "delete": { - "description": "Deletes a shape item from the board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-shape-item", + "summary": "Create webhook subscription", + "tags": ["Webhooks (experimental)"] + } + }, + "/v2-experimental/webhooks/board_subscriptions/{subscription_id}": { + "patch": { + "description": "Updates the status or the callback URL of an existing webhook subscription.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "update-board-subscription", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete the item.", - "in": "path", - "name": "board_id", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Unique identifier (ID) of the item that you want to delete.", "in": "path", - "name": "item_id", + "name": "subscription_id", "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateBoardSubscriptionRequest" + } + } + }, + "required": true + }, "responses": { - "204": { + "200": { "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/BoardSubscription" } } }, - "description": "Shape item deleted" + "description": "Subscription updated" }, "400": { "content": { @@ -7772,45 +5308,47 @@ "description": "Too many requests" } }, - "summary": "Delete shape item", - "tags": ["shapes"] + "summary": "Update webhook subscription", + "tags": ["Webhooks (experimental)"] } }, - "/v2/boards/{board_id}/sticky_notes": { - "post": { - "description": "Adds a sticky note item to a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-sticky-note-item", + "/v2-experimental/webhooks/subscriptions": { + "get": { + "description": "Retrieves information about all webhook subscriptions for a specific user.

Required scope

boards:read

Rate limiting

Level 4
", + "operationId": "get-user-subscriptions", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to create the item.", - "in": "path", - "name": "board_id", - "required": true, + "in": "query", + "name": "limit", + "required": false, "schema": { - "type": "string" + "type": "string", + "default": "10", + "description": "The maximum number of results to return per call. If the number of webhook subscriptions in the response is greater than the limit specified, the response returns the cursor parameter with a value.", + "maximum": 100, + "minimum": 1 + } + }, + { + "in": "query", + "name": "cursor", + "required": false, + "schema": { + "type": "string", + "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/StickyNoteCreateRequest" - } - } - }, - "required": true - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StickyNoteItem" + "$ref": "#/components/schemas/GenericSubscriptionsCursorPaged" } } }, - "description": "Sticky Note item created" + "description": "Subscriptions retrieved" }, "400": { "content": { @@ -7915,32 +5453,23 @@ "description": "Too many requests" } }, - "summary": "Create sticky note item", - "tags": ["sticky_notes"] + "summary": "Get webhook subscriptions", + "tags": ["Webhooks (experimental)"] } }, - "/v2/boards/{board_id}/sticky_notes/{item_id}": { + "/v2-experimental/webhooks/subscriptions/{subscription_id}": { "get": { - "description": "Retrieves information for a specific sticky note item on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-sticky-note-item", + "description": "Retrieves information for a specific webhook subscription.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "get-subscription-by-id", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", - "in": "path", - "name": "board_id", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Unique identifier (ID) of the item that you want to retrieve.", "in": "path", - "name": "item_id", + "name": "subscription_id", "required": true, "schema": { "type": "string" - } + }, + "description": "Unique identifier (ID) of the subscription that you want to retrieve" } ], "responses": { @@ -7948,11 +5477,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StickyNoteItem" + "$ref": "#/components/schemas/GenericSubscription" } } }, - "description": "Sticky Note item retrieved" + "description": "Subscription retrieved" }, "400": { "content": { @@ -8057,52 +5586,33 @@ "description": "Too many requests" } }, - "summary": "Get sticky note item", - "tags": ["sticky_notes"] + "summary": "Get specific webhook subscription", + "tags": ["Webhooks (experimental)"] }, - "patch": { - "description": "Updates a sticky note item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-sticky-note-item", + "delete": { + "description": "Deletes the specified webhook subscription.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "delete-subscription-by-id", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to update the item.", - "in": "path", - "name": "board_id", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Unique identifier (ID) of the item that you want to update.", "in": "path", - "name": "item_id", + "name": "subscription_id", "required": true, "schema": { "type": "string" - } + }, + "description": "Unique identifier (ID) of the subscription that you want to delete" } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/StickyNoteUpdateRequest" - } - } - }, - "required": true - }, "responses": { - "200": { + "204": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StickyNoteItem" + "type": "object" } } }, - "description": "Sticky Note item updated" + "description": "Subscription deleted" }, "400": { "content": { @@ -8207,15 +5717,55 @@ "description": "Too many requests" } }, - "summary": "Update sticky note item", - "tags": ["sticky_notes"] + "summary": "Delete webhook subscription", + "tags": ["Webhooks (experimental)"] + } + }, + "/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}": { + "get": { + "description": "Retrieves information for a specific mind map node on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-mindmap-node-experimental", + "parameters": [ + { + "schema": { + "type": "string" + }, + "name": "board_id", + "in": "path", + "required": true, + "description": "Unique identifier (ID) of the board from which you want to retrieve a mind map node." + }, + { + "schema": { + "type": "string" + }, + "name": "item_id", + "in": "path", + "required": true, + "description": "Unique identifier (ID) of the mind map node that you want to retrieve." + } + ], + "responses": { + "200": { + "description": "Mind map node retrieved", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MindmapItem" + } + } + } + } + }, + "summary": "Get specific mind map node", + "tags": ["Mind map nodes (experimental)"] }, "delete": { - "description": "Deletes a sticky note item from the board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-sticky-note-item", + "description": "Deletes a mind map node item and its child nodes from the board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-mindmap-node-experimental", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete the item.", + "description": "Unique identifier (ID) of the board from which you want to delete the mind map node.", "in": "path", "name": "board_id", "required": true, @@ -8224,7 +5774,7 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to delete.", + "description": "Unique identifier (ID) of the mind map node that you want to delete.", "in": "path", "name": "item_id", "required": true, @@ -8242,7 +5792,7 @@ } } }, - "description": "Sticky Note item deleted" + "description": "Mind map node deleted" }, "400": { "content": { @@ -8347,14 +5897,61 @@ "description": "Too many requests" } }, - "summary": "Delete sticky note item", - "tags": ["sticky_notes"] + "summary": "Delete mind map node", + "tags": ["Mind map nodes (experimental)"] } }, - "/v2/boards/{board_id}/texts": { + "/v2-experimental/boards/{board_id}/mindmap_nodes": { + "parameters": [ + { + "schema": { + "type": "string" + }, + "name": "board_id", + "in": "path", + "required": true, + "description": "Unique identifier (ID) of the board from which you want to retrieve mind map nodes." + } + ], + "get": { + "summary": "Get mind map nodes", + "tags": ["Mind map nodes (experimental)"], + "responses": { + "200": { + "description": "Mind map nodes retrieved", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MindmapCursorPaged" + } + } + } + } + }, + "operationId": "get-mindmap-nodes-experimental", + "description": "Retrieves a list of mind map nodes for a specific board.\n\nThis method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", + "parameters": [ + { + "schema": { + "type": "string" + }, + "in": "query", + "name": "limit", + "description": "Maximum number of results returned" + }, + { + "schema": { + "type": "string" + }, + "in": "query", + "name": "cursor", + "description": "Points to the next portion of the results set" + } + ] + }, "post": { - "description": "Adds a text item to a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-text-item", + "description": "Adds a mind map node to a board. A root node is the starting point of a mind map. A node that is created under a root node is a child node. For information on mind maps, use cases, mind map structure, and more, see the Mind Map Overview page.

Required scope

boards:write

Rate limiting

Level 2

Known limitations on node placement: Currently, the create API supports explicit positions for nodes. This means that users can only place nodes based on the x, y coordinates provided in the position parameters. If the position is not provided in the request, nodes default to coordinates x=0, y=0, effectively placing them at the center of the board.

Upcoming changes: We understand the importance of flexibility in node placement. We are actively working on implementing changes to support positioning nodes relative to their parent node as well. This enhancement offers a more dynamic and intuitive mind mapping experience.

Additionally, we are actively working on providing the update API, further enhancing the functionality of mind map APIs.", + "operationId": "create-mindmap-nodes-experimental", "parameters": [ { "description": "Unique identifier (ID) of the board where you want to create the item.", @@ -8370,7 +5967,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TextCreateRequest" + "$ref": "#/components/schemas/MindmapCreateRequest" } } }, @@ -8381,11 +5978,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TextItem" + "$ref": "#/components/schemas/MindmapItem" } } }, - "description": "Text item created" + "description": "Mind map node created" }, "400": { "content": { @@ -8490,30 +6087,48 @@ "description": "Too many requests" } }, - "summary": "Create text item", - "tags": ["texts"] + "summary": "Create mind map node", + "tags": ["Mind map nodes (experimental)"] } }, - "/v2/boards/{board_id}/texts/{item_id}": { + "/v2-experimental/boards/{board_id}/items": { "get": { - "description": "Retrieves information for a specific text item on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-text-item", + "description": "Retrieves a list of items for a specific board. You can retrieve all items on the board, a list of child items inside a parent item, or a list of specific types of items by specifying URL query parameter values.\n\nThis method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "get-items-experimental", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", - "in": "path", - "name": "board_id", - "required": true, + "in": "query", + "name": "limit", "schema": { - "type": "string" + "type": "string", + "default": "10", + "description": "The maximum number of results to return per call. If the number of items in the response is greater than the limit specified, the response returns the cursor parameter with a value.", + "maximum": 50, + "minimum": 10 } }, { - "description": "Unique identifier (ID) of the item that you want to retrieve.", - "in": "path", - "name": "item_id", - "required": true, - "schema": { + "in": "query", + "name": "type", + "schema": { + "type": "string", + "enum": ["shape"] + } + }, + { + "in": "query", + "name": "cursor", + "schema": { + "type": "string", + "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." + } + }, + { + "description": "Unique identifier (ID) of the board for which you want to retrieve the list of available items.", + "in": "path", + "name": "board_id", + "required": true, + "schema": { "type": "string" } } @@ -8523,11 +6138,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TextItem" + "$ref": "#/components/schemas/GenericItemCursorPaged" } } }, - "description": "Text item retrieved" + "description": "Items retrieved" }, "400": { "content": { @@ -8632,15 +6247,17 @@ "description": "Too many requests" } }, - "summary": "Get text item", - "tags": ["texts"] - }, - "patch": { - "description": "Updates a text item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-text-item", + "summary": "Get items on board", + "tags": ["Flowchart shapes (experimental)"] + } + }, + "/v2-experimental/boards/{board_id}/items/{item_id}": { + "get": { + "description": "Retrieves information for a specific item on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-specific-item-experimental", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to update the item.", + "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", "in": "path", "name": "board_id", "required": true, @@ -8649,7 +6266,7 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to update.", + "description": "Unique identifier (ID) of the item that you want to retrieve.", "in": "path", "name": "item_id", "required": true, @@ -8658,26 +6275,16 @@ } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TextUpdateRequest" - } - } - }, - "required": true - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TextItem" + "$ref": "#/components/schemas/GenericItem" } } }, - "description": "Text item updated" + "description": "Item retrieved" }, "400": { "content": { @@ -8782,12 +6389,12 @@ "description": "Too many requests" } }, - "summary": "Update text item", - "tags": ["texts"] + "summary": "Get specific item on board", + "tags": ["Flowchart shapes (experimental)"] }, "delete": { - "description": "Deletes a text item from the board

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-text-item", + "description": "Deletes an item from a board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-item-experimental", "parameters": [ { "description": "Unique identifier (ID) of the board from which you want to delete the item.", @@ -8817,7 +6424,7 @@ } } }, - "description": "Text item deleted" + "description": "Item deleted" }, "400": { "content": { @@ -8919,90 +6526,20 @@ } } }, - "description": "Too many requests." - } - }, - "summary": "Delete text item", - "tags": ["texts"] - } - }, - "/v2/boards/{board_id}/items/bulk": { - "parameters": [ - { - "$ref": "#/components/parameters/boardId" - } - ], - "post": { - "x-settings": { - "publish": true - }, - "description": "Adds different types of items to a board. You can add up to 20 items of the same or different type per create call. For example, you can create 3 shape items, 4 card items, and 5 sticky notes in one create call. The bulk create operation is transactional. If any item's create operation fails, the create operation for all the remaining items also fails, and none of the items will be created.

To try out this API in our documentation:

1. In the **BODY PARAMS** section, scroll down until you see **ADD OBJECT** (Figure 1).

“add
Figure 1. Add object user interface in readme

2. Click **ADD OBJECT**, and then select or enter the appropriate values for parameters of the item that you want to add.

3. Repeat steps 1 and 2 for each item that you want to add.

Required scope

boards:write\n

Rate limiting

Level 2 per item. For example, if you want to create one sticky note, one card, and one shape item in one call, the rate limiting applicable will be 300 credits. This is because create item calls take Level 2 rate limiting of 100 credits each, 100 for sticky note, 100 for card, and 100 for shape item.", - "operationId": "create-items", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ItemCreate" - }, - "minItems": 1, - "maxItems": 20 - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "Items created", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Items" - } - } - } - }, - "400": { - "description": "Malformed request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BulkOperationError" - } - } - } - }, - "429": { - "description": "Too many requests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "description": "Too many requests" } }, - "summary": "Create items in bulk", - "tags": ["Bulk operations"] + "summary": "Delete item", + "tags": ["items"] } }, - "/v2/boards/{board_id_Platformbulkcreateoperation}/items": { - "parameters": [ - { - "$ref": "#/components/parameters/boardId" - } - ] - }, - "/v2/boards/{board_id}/frames": { + "/v2-experimental/boards/{board_id}/shapes": { "post": { - "description": "Adds a frame to a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-frame-item", + "description": "Adds a flowchart shape item to a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-shape-item-flowchart", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to create a frame.", + "description": "Unique identifier (ID) of the board where you want to create the item.", "in": "path", "name": "board_id", "required": true, @@ -9015,7 +6552,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrameCreateRequest" + "$ref": "#/components/schemas/ShapeCreateRequest" } } }, @@ -9026,11 +6563,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrameItem" + "$ref": "#/components/schemas/ShapeItem" } } }, - "description": "Frame created" + "description": "Shape item created" }, "400": { "content": { @@ -9135,17 +6672,17 @@ "description": "Too many requests" } }, - "summary": "Create frame", - "tags": ["frames"] + "summary": "Create shape item", + "tags": ["Flowchart shapes (experimental)"] } }, - "/v2/boards/{board_id}/frames/{item_id}": { + "/v2-experimental/boards/{board_id}/shapes/{item_id}": { "get": { - "description": "Retrieves information for a specific frame on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-frame-item", + "description": "Retrieves information for a specific shape item on a board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-shape-item-flowchart", "parameters": [ { - "description": "Unique identifier (ID) of the board that contains the frame that you want to retrieve", + "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", "in": "path", "name": "board_id", "required": true, @@ -9154,7 +6691,7 @@ } }, { - "description": "Unique identifier (ID) of the frame that you want to retrieve.", + "description": "Unique identifier (ID) of the item that you want to retrieve.", "in": "path", "name": "item_id", "required": true, @@ -9168,11 +6705,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrameItem" + "$ref": "#/components/schemas/ShapeItem" } } }, - "description": "Frame retrieved" + "description": "Shape item retrieved" }, "400": { "content": { @@ -9277,15 +6814,15 @@ "description": "Too many requests" } }, - "summary": "Get frame", - "tags": ["frames"] + "summary": "Get shape item", + "tags": ["Flowchart shapes (experimental)"] }, "patch": { - "description": "Updates a frame on a board based on the data, style, or geometry properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-frame-item", + "description": "Updates a flowchart shape item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-shape-item-flowchart", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to update the frame.", + "description": "Unique identifier (ID) of the board where you want to update the item.", "in": "path", "name": "board_id", "required": true, @@ -9294,7 +6831,7 @@ } }, { - "description": "Unique identifier (ID) of the frame that you want to update.", + "description": "Unique identifier (ID) of the item that you want to update.", "in": "path", "name": "item_id", "required": true, @@ -9307,7 +6844,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrameUpdateRequest" + "$ref": "#/components/schemas/ShapeUpdateRequest" } } }, @@ -9318,11 +6855,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrameItem" + "$ref": "#/components/schemas/ShapeItem" } } }, - "description": "Frame updated" + "description": "Shape item updated" }, "400": { "content": { @@ -9427,15 +6964,15 @@ "description": "Too many requests" } }, - "summary": "Update frame", - "tags": ["frames"] + "summary": "Update shape item", + "tags": ["Flowchart shapes (experimental)"] }, "delete": { - "description": "Deletes a frame from a board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-frame-item", + "description": "Deletes a flowchart shape item from the board.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "delete-shape-item-flowchart", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete the frame.", + "description": "Unique identifier (ID) of the board from which you want to delete the item.", "in": "path", "name": "board_id", "required": true, @@ -9444,7 +6981,7 @@ } }, { - "description": "Unique identifier (ID) of the frame that you want to delete.", + "description": "Unique identifier (ID) of the item that you want to delete.", "in": "path", "name": "item_id", "required": true, @@ -9462,7 +6999,7 @@ } } }, - "description": "Frame deleted" + "description": "Shape item deleted" }, "400": { "content": { @@ -9567,239 +7104,259 @@ "description": "Too many requests" } }, - "summary": "Delete frame", - "tags": ["frames"] + "summary": "Delete shape item", + "tags": ["Flowchart shapes (experimental)"] } }, - "/v2/boards/{board_id_PlatformContainers}/items": { - "get": { - "description": "Retrieves a list of items within a specific frame. A frame is a parent item and all items within a frame are child items. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "get-items-within-frame", + "/v2/boards/{board_id_PlatformFileUpload}/documents": { + "post": { + "x-readme": { + "explorer-enabled": false, + "samples-languages": ["shell"], + "code-samples": [ + { + "language": "curl", + "code": "curl -X \"POST\" \"https://api.miro.com/v2/boards/{board_id_PlatformFileUpload}/documents\" \\\n-H \"accept: application/json\" \\\n-H \"Authorization: Bearer {{ACCESS_TOKEN}}\" \\\n-H \"Content-Type: multipart/form-data\" \\\n-F \"data={\\\"title\\\":\\\"testpdf\\\",\\\"position\\\":{\\\"x\\\":3000,\\\"y\\\":3000}};type=application/json\" \\\n-F \"resource=@/Users/user/test.pdf;type=application/pdf\"\n", + "name": "Custom cURL snippet", + "install": "brew install curl", + "correspondingExample": "documentPostExample" + } + ] + }, + "description": "Adds a document item to a board by selecting file from device.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-document-item-using-file-from-device", "parameters": [ { - "description": "Unique identifier (ID) of the board that contains the frame for which you want to retrieve the list of available items.", + "description": "Unique identifier (ID) of the board where you want to create the item.", "in": "path", - "name": "board_id_PlatformContainers", + "name": "board_id_PlatformFileUpload", "required": true, "schema": { "type": "string" } - }, - { - "description": "ID of the frame for which you want to retrieve the list of available items.", - "in": "query", - "name": "parent_item_id", - "required": true, - "schema": { - "type": "string", - "minimum": 0 - } - }, - { - "in": "query", - "name": "limit", - "schema": { - "type": "string", - "default": "10", - "description": "The maximum number of results to return per call. If the number of items in the response is greater than the limit specified, the response returns the cursor parameter with a value.", - "maximum": 50, - "minimum": 10 - } - }, - { - "in": "query", - "name": "type", - "schema": { - "type": "string", - "description": "If you want to get a list of items of a specific type, specify an item type. For example, if you want to retrieve the list of card items, set `type` to `cards`.\n Possible values: `app_card`, `card`, `document`, `embed`, `frame`, `image`, `shape`, `sticky_note`, `text`" - } - }, - { - "in": "query", - "name": "cursor", - "schema": { - "type": "string", - "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." - } } ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenericItemCursorPaged" - } - } - }, - "description": "Items within frame retrieved" - }, - "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" - }, - "404": { - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "Title for the document.", + "example": "foo.pdf" + }, + "position": { + "$ref": "#/components/schemas/PositionChange" + }, + "geometry": { + "$ref": "#/components/schemas/FixedRatioGeometry" + }, + "parent": { + "$ref": "#/components/schemas/Parent" + } } + }, + "resource": { + "type": "string", + "format": "binary", + "description": "Select a file to upload. Maximum file size is 6 MB." } - } + }, + "required": ["resource"] } - }, - "description": "Not found" - }, - "429": { + } + } + }, + "responses": { + "201": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error obj", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" + "$ref": "#/components/schemas/DocumentItem" + }, + "examples": { + "documentPostExample": { + "value": { + "id": "3458764517517819000", + "type": "document", + "data": { + "imageUrl": "https://api.miro.com/v2/boards/board_id_PlatformFileUpload/resources/documents/3458764515979043608?format=preview&redirect=false", + "title": "testpdf" + }, + "geometry": { + "width": 512, + "height": 512 + }, + "position": { + "x": 3000, + "y": 3000, + "origin": "center", + "relativeTo": "canvas_center" + }, + "links": { + "self": "https://api.miro.com/v2/boards/board_id_PlatformFileUpload/documents/3458764597687208572" + }, + "createdAt": "2024-08-21T11:19:57Z", + "createdBy": { + "id": "3458764569867985278", + "type": "user" + }, + "modifiedAt": "2024-08-21T11:19:57Z", + "modifiedBy": { + "id": "3458764569867985278", + "type": "user" + } } } } } }, - "description": "Too many requests" + "description": "Document item created" } }, - "summary": "Get items within frame", - "tags": ["items"] + "summary": "Create document item using file from device", + "tags": ["documents"] } }, - "/v2/boards/{board_id_Platformcreateitemsinbulkusingfilefromdevice}/items/bulk": { - "parameters": [ - { - "$ref": "#/components/parameters/boardId" - } - ], - "post": { - "description": "Adds different types of items to a board using files from a device. You can add up to 20 items of the same or different type per create call. For example, you can create 3 shape items, 4 card items, and 5 sticky notes in one create call. The bulk create operation is transactional. If any item's create operation fails, the create operation for all the remaining items also fails, and none of the items will be created.\nTo try out this API in our documentation:\n1. In the **BODY PARAMS** section, scroll down until you see **ADD OBJECT** (Figure 1).\n![add object user interface in readme](https://files.readme.io/570dac1-small-add_object.png)\n*Figure 1. Add object user interface in readme*\n2. Click **ADD OBJECT**, and then select or enter the appropriate values for parameters of the item that you want to add.\n3. Repeat steps 1 and 2 for each item that you want to add.\n**Required scope**: [boards:write](/reference/scopes)\n**Rate limiting**: Level 2 per item. For example, if you want to create one sticky note, one card, and one shape item in one call, the rate limiting applicable will be 300 credits. This is because create item calls take Level 2 rate limiting of 100 credits each, 100 for sticky note, 100 for card, and 100 for shape item.\n", - "operationId": "create-items-in-bulk-using-file-from-device", + "/v2/boards/{board_id_PlatformFileUpload}/documents/{item_id}": { + "patch": { + "x-readme": { + "explorer-enabled": false, + "samples-languages": ["shell"], + "code-samples": [ + { + "language": "curl", + "code": "curl -X \"PATCH\" \"https://api.miro.com/v2/boards/{board_id_PlatformFileUpload}/documents/{item_id}\" \\\n-H \"accept: application/json\" \\\n-H \"Authorization: Bearer {{ACCESS_TOKEN}}\" \\\n-H \"Content-Type: multipart/form-data\" \\\n-F \"data={\\\"title\\\":\\\"testpdf\\\",\\\"position\\\":{\\\"x\\\":3000,\\\"y\\\":3000}};type=application/json\" \\\n-F \"resource=@/Users/user/test.pdf;type=application/pdf\"\n", + "name": "Custom cURL snippet", + "install": "brew install curl", + "correspondingExample": "documentPatchExample" + } + ] + }, + "description": "Updates a document item on a board by using file from a device.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-document-item-using-file-from-device", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to update the item.", + "in": "path", + "name": "board_id_PlatformFileUpload", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to update.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "content": { "multipart/form-data": { "schema": { - "type": "object", - "properties": { - "data": { - "type": "string", - "format": "binary", - "description": "Select a file containing JSON object describing files to upload." - }, - "resources": { - "type": "string", - "format": "binary", - "description": "Select files to upload." - } - }, - "required": ["resource", "data"], - "minItems": 1, - "maxItems": 20 + "$ref": "#/components/schemas/UploadFileFromDevice" } } }, "required": true }, "responses": { - "201": { - "description": "Items created", + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Items" + "$ref": "#/components/schemas/DocumentItem" + }, + "examples": { + "documentPatchExample": { + "value": { + "id": "3458764517517819000", + "type": "document", + "data": { + "imageUrl": "https://api.miro.com/v2/boards/board_id_PlatformFileUpload/resources/documents/3458764515979043608?format=preview&redirect=false", + "title": "testpdf" + }, + "geometry": { + "width": 512, + "height": 512 + }, + "position": { + "x": 3000, + "y": 3000, + "origin": "center", + "relativeTo": "canvas_center" + }, + "links": { + "self": "https://api.miro.com/v2/boards/board_id_PlatformFileUpload/documents/3458764597687208572" + }, + "createdAt": "2024-08-21T11:19:57Z", + "createdBy": { + "id": "3458764569867985278", + "type": "user" + }, + "modifiedAt": "2024-08-21T11:19:57Z", + "modifiedBy": { + "id": "3458764569867985278", + "type": "user" + } + } + } } } - } + }, + "description": "Document item updated" } }, - "summary": "Create items in bulk using file from device", - "tags": ["Bulk operations"] + "summary": "Update document item using file from device", + "tags": ["documents"] } }, - "/v2-experimental/webhooks/board_subscriptions": { + "/v2/boards/{board_id_PlatformFileUpload}/images": { "post": { - "description": "Creates a webhook subscription to receive notifications when an item on a board is updated. Subscriptions are created per user, per board. You can create multiple subscriptions. We currently support all board items except tags, connectors, and comments.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "create-board-subscription", + "x-readme": { + "explorer-enabled": false, + "samples-languages": ["shell"], + "code-samples": [ + { + "language": "curl", + "code": "curl -X \"POST\" \"https://api.miro.com/v2/boards/{board_id_PlatformFileUpload}/images\" \\\n -H \"accept: application/json\" \\\n -H \"Authorization: Bearer {{ACCESS_TOKEN}} \\\n -H \"Content-Type: multipart/form-data\" \\\n -F \"data={\\\"position\\\":{\\\"x\\\":3000,\\\"y\\\":3000}};type=application/json\" \\\n -F \"resource=@image.png;type=image/png\"\n", + "name": "Custom cURL snippet", + "install": "brew install curl", + "correspondingExample": "imagePostExample" + } + ] + }, + "x-settings": { + "skip-tests": true + }, + "description": "Adds an image item to a board by specifying a file from device.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "create-image-item-using-local-file", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to create the item.", + "in": "path", + "name": "board_id_PlatformFileUpload", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "content": { - "application/json": { + "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/CreateBoardSubscriptionRequest" + "$ref": "#/components/schemas/UploadFileFromDevice" } } }, @@ -9810,38 +7367,214 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BoardSubscription" - } - } - }, - "description": "Subscription created" - }, + "$ref": "#/components/schemas/ImageItem" + }, + "examples": { + "imagePostExample": { + "value": { + "id": "3458764597687208572", + "type": "image", + "data": { + "imageUrl": "https://api.miro.com/v2/boards/board_id_PlatformFileUpload/resources/images/3458764515979043608?format=preview&redirect=false", + "title": "image" + }, + "geometry": { + "width": 512, + "height": 512 + }, + "position": { + "x": 3000, + "y": 3000, + "origin": "center", + "relativeTo": "canvas_center" + }, + "links": { + "self": "https://api.miro.com/v2/boards/board_id_PlatformFileUpload/images/3458764597687208572" + }, + "createdAt": "2024-08-21T11:19:57Z", + "createdBy": { + "id": "3458764569867985278", + "type": "user" + }, + "modifiedAt": "2024-08-21T11:19:57Z", + "modifiedBy": { + "id": "3458764569867985278", + "type": "user" + } + } + } + } + } + }, + "description": "Image item created" + } + }, + "summary": "Create image item using file from device", + "tags": ["images"] + } + }, + "/v2/boards/{board_id_PlatformFileUpload}/images/{item_id}": { + "patch": { + "x-readme": { + "explorer-enabled": false, + "samples-languages": ["shell"], + "code-samples": [ + { + "language": "curl", + "code": "curl -X \"PATCH\" \"https://api.miro.com/v2/boards/{board_id_PlatformFileUpload}/images/{item_id}\" \\\n -H \"accept: application/json\" \\\n -H \"Authorization: Bearer {{ACCESS_TOKEN}} \\\n -H \"Content-Type: multipart/form-data\" \\\n -F \"data={\\\"position\\\":{\\\"x\\\":3000,\\\"y\\\":3000}};type=application/json\" \\\n -F \"resource=@image.png;type=image/png\"\n", + "name": "Custom cURL snippet", + "install": "brew install curl", + "correspondingExample": "imagePatchExample" + } + ] + }, + "x-settings": { + "skip-tests": true + }, + "description": "Updates an image item on a board.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "update-image-item-using-file-from-device", + "parameters": [ + { + "description": "Unique identifier (ID) of the board where you want to update the item.", + "in": "path", + "name": "board_id_PlatformFileUpload", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item that you want to update.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/UploadFileFromDevice" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageItem" + }, + "examples": { + "imagePatchExample": { + "value": { + "id": "3458764597687208572", + "type": "image", + "data": { + "imageUrl": "https://api.miro.com/v2/boards/board_id_PlatformFileUpload/resources/images/3458764515979043608?format=preview&redirect=false", + "title": "image" + }, + "geometry": { + "width": 512, + "height": 512 + }, + "position": { + "x": 3000, + "y": 3000, + "origin": "center", + "relativeTo": "canvas_center" + }, + "links": { + "self": "https://api.miro.com/v2/boards/board_id_PlatformFileUpload/images/3458764597687208572" + }, + "createdAt": "2024-08-21T11:19:57Z", + "createdBy": { + "id": "3458764569867985278", + "type": "user" + }, + "modifiedAt": "2024-08-21T11:19:57Z", + "modifiedBy": { + "id": "3458764569867985278", + "type": "user" + } + } + } + } + } + }, + "description": "Image item updated" + } + }, + "summary": "Update image item using file from device", + "tags": ["images"] + } + }, + "/v2/boards/{board_id}/groups": { + "post": { + "description": "Creates a group of items on a board. The group is created with the items that are passed in the request body.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "createGroup", + "summary": "Create group", + "parameters": [ + { + "in": "path", + "name": "board_id", + "required": true, + "schema": { + "$ref": "#/components/schemas/BoardId" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Group" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GroupResponseShort" + } + } + }, + "description": "Group created" + }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", + "description": "Status Code of the error.", "example": 400 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -9855,27 +7588,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 404 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -9889,27 +7621,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 429 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -9919,71 +7650,99 @@ "description": "Too many requests" } }, - "summary": "Create webhook subscription", - "tags": ["Webhooks (experimental)"] - } - }, - "/v2-experimental/webhooks/board_subscriptions/{subscription_id}": { - "patch": { - "description": "Updates the status or the callback URL of an existing webhook subscription.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "update-board-subscription", + "tags": ["groups"] + }, + "get": { + "description": "Returns all the groups and the items of the respective groups within a specific board.
This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request.
For example, if you set the `limit` query parameter to `10` and the board contains 20 items that are a part of a group, the first call will return information about the first 10 items in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "get-all-groups", + "summary": "Get all groups on a board", "parameters": [ { "in": "path", - "name": "subscription_id", + "name": "board_id", + "description": "Unique identifier (ID) of the board.", "required": true, + "schema": { + "$ref": "#/components/schemas/BoardId" + } + }, + { + "in": "query", + "name": "limit", + "description": "The maximum number of items to return at one time, default is 10, maximum is 50.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 10, + "maximum": 50, + "minimum": 10 + } + }, + { + "in": "query", + "name": "cursor", + "required": false, "schema": { "type": "string" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateBoardSubscriptionRequest" - } - } - }, - "required": true - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BoardSubscription" + "properties": { + "limit": { + "type": "integer", + "format": "int32", + "description": "Limit of items.", + "example": 10 + }, + "size": { + "type": "integer", + "format": "int32", + "description": "Size of the items.", + "example": 1 + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupResponseShort" + } + } + } } } }, - "description": "Subscription updated" + "description": "Groups retrieved" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", + "description": "Status Code of the error.", "example": 400 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -9997,27 +7756,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 404 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10031,27 +7789,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 429 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10061,25 +7818,35 @@ "description": "Too many requests" } }, - "summary": "Update webhook subscription", - "tags": ["Webhooks (experimental)"] + "tags": ["groups"] } }, - "/v2-experimental/webhooks/subscriptions": { + "/v2/boards/{board_id}/groups/items": { "get": { - "description": "Retrieves information about all webhook subscriptions for a specific user.

Required scope

boards:read

Rate limiting

Level 4
", - "operationId": "get-user-subscriptions", + "description": "Returns a list of items that are a part of any group, within a specific board.
This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request.
For example, if you set the `limit` query parameter to `10` and the board contains 20 items that are a part of a group, the first call will return information about the first 10 items (not 10 groups) in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", + "operationId": "getItemsByGroupId", + "summary": "Get items of a group by ID", "parameters": [ + { + "in": "path", + "name": "board_id", + "description": "Unique identifier (ID) of the board.", + "required": true, + "schema": { + "$ref": "#/components/schemas/BoardId" + } + }, { "in": "query", "name": "limit", + "description": "The maximum number of items to return at one time, default is 10, maximum is 50.", "required": false, "schema": { - "type": "string", - "default": "10", - "description": "The maximum number of results to return per call. If the number of webhook subscriptions in the response is greater than the limit specified, the response returns the cursor parameter with a value.", - "maximum": 100, - "minimum": 1 + "type": "integer", + "format": "int32", + "default": 10, + "maximum": 50, + "minimum": 10 } }, { @@ -10087,8 +7854,16 @@ "name": "cursor", "required": false, "schema": { - "type": "string", - "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." + "type": "string" + } + }, + { + "in": "query", + "name": "group_item_id", + "description": "The ID of the group item to retrieve.", + "required": true, + "schema": { + "type": "string" } } ], @@ -10097,38 +7872,77 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenericSubscriptionsCursorPaged" + "type": "object", + "properties": { + "limit": { + "type": "integer", + "format": "int32", + "description": "Limit of items.", + "example": 10 + }, + "size": { + "type": "integer", + "format": "int32", + "description": "Size of the items.", + "example": 1 + }, + "total": { + "type": "integer", + "format": "int32", + "description": "total items that are part of any group", + "example": 1 + }, + "data": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier (ID) of the group.", + "example": "3258764517517852419" + }, + "type": { + "type": "string", + "description": "Indicates the type of object returned. In this case, `type` returns `group`." + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ItemPagedResponse" + } + } + } + } + } } } }, - "description": "Subscriptions retrieved" + "description": "Items retrieved" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", + "description": "Status Code of the error.", "example": 400 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10142,27 +7956,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 404 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10176,27 +7989,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 429 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10206,23 +8018,32 @@ "description": "Too many requests" } }, - "summary": "Get webhook subscriptions", - "tags": ["Webhooks (experimental)"] + "tags": ["groups"] } }, - "/v2-experimental/webhooks/subscriptions/{subscription_id}": { + "/v2/boards/{board_id}/groups/{group_id}": { "get": { - "description": "Retrieves information for a specific webhook subscription.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "get-subscription-by-id", + "description": "Returns a list of items in a specific group.

Required scope

boards:read\n

Rate limiting

Level 2 per item ID", + "operationId": "getGroupById", + "summary": "Get a group by its ID", "parameters": [ { "in": "path", - "name": "subscription_id", + "name": "board_id", + "description": "Unique identifier (ID) of the board.", "required": true, "schema": { - "type": "string" - }, - "description": "Unique identifier (ID) of the subscription that you want to retrieve" + "$ref": "#/components/schemas/BoardId" + } + }, + { + "in": "path", + "name": "group_id", + "description": "Unique identifier (ID) of the group.", + "required": true, + "schema": { + "$ref": "#/components/schemas/GroupId" + } } ], "responses": { @@ -10230,38 +8051,37 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenericSubscription" + "$ref": "#/components/schemas/GroupResponseShort" } } }, - "description": "Subscription retrieved" + "description": "Group retrieved" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", + "description": "Status Code of the error.", "example": 400 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10275,27 +8095,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 404 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10309,27 +8128,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 429 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10339,21 +8157,39 @@ "description": "Too many requests" } }, - "summary": "Get specific webhook subscription", - "tags": ["Webhooks (experimental)"] + "tags": ["groups"] }, "delete": { - "description": "Deletes the specified webhook subscription.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "delete-subscription-by-id", + "description": "Ungroups items from a group.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "unGroup", + "summary": "Ungroup items", "parameters": [ { "in": "path", - "name": "subscription_id", + "name": "board_id", + "description": "Unique identifier (ID) of the board.", "required": true, "schema": { - "type": "string" - }, - "description": "Unique identifier (ID) of the subscription that you want to delete" + "$ref": "#/components/schemas/BoardId" + } + }, + { + "in": "path", + "name": "group_id", + "description": "Unique identifier (ID) of the group.", + "required": true, + "schema": { + "$ref": "#/components/schemas/GroupId" + } + }, + { + "in": "query", + "name": "delete_items", + "required": false, + "description": "Indicates whether the items should be removed. By default, false.", + "schema": { + "type": "boolean" + } } ], "responses": { @@ -10365,34 +8201,34 @@ } } }, - "description": "Subscription deleted" + "description": "Ungrouped" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", + "description": "Test error object.", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", + "description": "Status Code of the error.", "example": 400 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10406,27 +8242,27 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", + "description": "Test error object.", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 404 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10440,27 +8276,27 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", + "description": "Test error object.", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 429 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10470,109 +8306,78 @@ "description": "Too many requests" } }, - "summary": "Delete webhook subscription", - "tags": ["Webhooks (experimental)"] - } - }, - "/v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}": { - "get": { - "description": "Retrieves information for a specific mind map node on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-mindmap-node-experimental", - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "board_id", - "in": "path", - "required": true, - "description": "Unique identifier (ID) of the board from which you want to retrieve a mind map node." - }, - { - "schema": { - "type": "string" - }, - "name": "item_id", - "in": "path", - "required": true, - "description": "Unique identifier (ID) of the mind map node that you want to retrieve." - } - ], - "responses": { - "200": { - "description": "Mind map node retrieved", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MindmapItem" - } - } - } - } - }, - "summary": "Get specific mind map node", - "tags": ["Mind map nodes (experimental)"] + "tags": ["groups"] }, - "delete": { - "description": "Deletes a mind map node item and its child nodes from the board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-mindmap-node-experimental", + "put": { + "description": "This endpoint updates an existing group by replacing it entirely with a new group. When the update is made, the original group is completely replaced, and a new group ID is assigned.

Required scope

boards:write

Rate limiting

Level 2
", + "operationId": "updateGroup", + "summary": "Updates a group with new items", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete the mind map node.", "in": "path", "name": "board_id", + "description": "Unique identifier (ID) of the board.", "required": true, "schema": { - "type": "string" + "$ref": "#/components/schemas/BoardId" } }, { - "description": "Unique identifier (ID) of the mind map node that you want to delete.", "in": "path", - "name": "item_id", + "name": "group_id", + "description": "Unique identifier (ID) of the group.", "required": true, "schema": { - "type": "string" + "$ref": "#/components/schemas/GroupId" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Group" + } + } + }, + "required": true + }, "responses": { - "204": { + "200": { "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/GroupResponseShort" } } }, - "description": "Mind map node deleted" + "description": "update group response" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", + "description": "Status Code of the error.", "example": 400 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10586,27 +8391,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 404 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10620,27 +8424,26 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 429 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10650,119 +8453,80 @@ "description": "Too many requests" } }, - "summary": "Delete mind map node", - "tags": ["Mind map nodes (experimental)"] + "tags": ["groups"] } }, - "/v2-experimental/boards/{board_id}/mindmap_nodes": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "board_id", - "in": "path", - "required": true, - "description": "Unique identifier (ID) of the board from which you want to retrieve mind map nodes." - } - ], - "get": { - "summary": "Get mind map nodes", - "tags": ["Mind map nodes (experimental)"], - "responses": { - "200": { - "description": "Mind map nodes retrieved", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MindmapCursorPaged" - } - } - } - } - }, - "operationId": "get-mindmap-nodes-experimental", - "description": "Retrieves a list of mind map nodes for a specific board.\n\nThis method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", + "/v2/boards/{board_id}/groups/{group_id}?": { + "delete": { + "description": "Deletes a group from a board. All the items in the groups are deleted along with the group.

Required scope

boards:write

Rate limiting

Level 3
", + "operationId": "deleteGroup", + "summary": "Deletes the group", "parameters": [ { + "in": "path", + "name": "board_id", + "description": "Unique identifier (ID) of the board.", + "required": true, "schema": { - "type": "string" - }, - "in": "query", - "name": "limit", - "description": "Maximum number of results returned" + "$ref": "#/components/schemas/BoardId" + } }, { + "in": "path", + "name": "group_id", + "description": "Unique identifier (ID) of the group.", + "required": true, "schema": { - "type": "string" - }, - "in": "query", - "name": "cursor", - "description": "Points to the next portion of the results set" - } - ] - }, - "post": { - "description": "Adds a mind map node to a board. A root node is the starting point of a mind map. A node that is created under a root node is a child node. For information on mind maps, use cases, mind map structure, and more, see the Mind Map Overview page.

Required scope

boards:write

Rate limiting

Level 2

Known limitations on node placement: Currently, the create API supports explicit positions for nodes. This means that users can only place nodes based on the x, y coordinates provided in the position parameters. If the position is not provided in the request, nodes default to coordinates x=0, y=0, effectively placing them at the center of the board.

Upcoming changes: We understand the importance of flexibility in node placement. We are actively working on implementing changes to support positioning nodes relative to their parent node as well. This enhancement offers a more dynamic and intuitive mind mapping experience.

Additionally, we are actively working on providing the update API, further enhancing the functionality of mind map APIs.", - "operationId": "create-mindmap-nodes-experimental", - "parameters": [ + "$ref": "#/components/schemas/GroupId" + } + }, { - "description": "Unique identifier (ID) of the board where you want to create the item.", - "in": "path", - "name": "board_id", + "in": "query", + "name": "delete_items", "required": true, + "description": "Indicates whether the items should be removed. Set to `true` to delete items in the group.", "schema": { - "type": "string" + "type": "boolean" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MindmapCreateRequest" - } - } - }, - "required": true - }, "responses": { - "201": { + "204": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MindmapItem" + "type": "object" } } }, - "description": "Mind map node created" + "description": "Group deleted" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", + "description": "Test error object.", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", + "description": "Status Code of the error.", "example": 400 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10776,27 +8540,27 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", + "description": "Test error object.", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 404 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10810,27 +8574,27 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", + "description": "Test error object.", "properties": { "code": { "type": "string", - "description": "Code of the error", + "description": "Code of the error.", "example": "error" }, "message": { "type": "string", - "description": "Description of the error", + "description": "Description of the error.", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status code of the error", - "example": 400 + "description": "Status Code of the error.", + "example": 429 }, "type": { "type": "string", - "description": "Type of the error", + "description": "Type of the error.", "example": "error" } } @@ -10840,49 +8604,30 @@ "description": "Too many requests" } }, - "summary": "Create mind map node", - "tags": ["Mind map nodes (experimental)"] + "tags": ["groups"] } }, - "/v2-experimental/boards/{board_id}/items": { + "/v2/boards/{board_id}/items/{item_id}/tags": { "get": { - "description": "Retrieves a list of items for a specific board. You can retrieve all items on the board, a list of child items inside a parent item, or a list of specific types of items by specifying URL query parameter values.\n\nThis method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "get-items-experimental", + "description": "Retrieves all the tags from the specified item.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-tags-from-item", "parameters": [ { - "in": "query", - "name": "limit", + "description": "Unique identifier (ID) of the board with the item whose tags you want to retrieve.", + "in": "path", + "name": "board_id", + "required": true, "schema": { - "type": "string", - "default": "10", - "description": "The maximum number of results to return per call. If the number of items in the response is greater than the limit specified, the response returns the cursor parameter with a value.", - "maximum": 50, - "minimum": 10 + "type": "string" } }, { - "in": "query", - "name": "type", + "description": "Unique identifier (ID) of the item whose tags you want to retrieve.", + "in": "path", + "name": "item_id", + "required": true, "schema": { - "type": "string", - "enum": ["shape"] - } - }, - { - "in": "query", - "name": "cursor", - "schema": { - "type": "string", - "description": "A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request." - } - }, - { - "description": "Unique identifier (ID) of the board for which you want to retrieve the list of available items.", - "in": "path", - "name": "board_id", - "required": true, - "schema": { - "type": "string" + "type": "string" } } ], @@ -10891,18 +8636,17 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenericItemCursorPaged" + "$ref": "#/components/schemas/GetTagsResponse" } } }, - "description": "Items retrieved" + "description": "Get tags from an item" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -10936,7 +8680,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -10970,7 +8713,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11000,51 +8742,51 @@ "description": "Too many requests" } }, - "summary": "Get items on board", - "tags": ["Flowchart shapes (experimental)"] + "summary": "Get tags from item", + "tags": ["tags"] } }, - "/v2-experimental/boards/{board_id}/items/{item_id}": { - "get": { - "description": "Retrieves information for a specific item on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-specific-item-experimental", + "/v2/boards/{board_id}/tags": { + "post": { + "description": "Creates a tag on a board.

Required scope

boards:write

Rate limiting

Level 1
", + "operationId": "create-tag", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "description": "Unique identifier (ID) of the board where you want to create the tag.", "in": "path", "name": "board_id", "required": true, "schema": { "type": "string" } - }, - { - "description": "Unique identifier (ID) of the item that you want to retrieve.", - "in": "path", - "name": "item_id", - "required": true, - "schema": { - "type": "string" - } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagCreateRequest" + } + } + }, + "required": true + }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GenericItem" + "$ref": "#/components/schemas/TagWithLinks" } } }, - "description": "Item retrieved" + "description": "Tag created" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11078,7 +8820,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11112,7 +8853,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11142,26 +8882,35 @@ "description": "Too many requests" } }, - "summary": "Get specific item on board", - "tags": ["Flowchart shapes (experimental)"] + "summary": "Create tag", + "tags": ["tags"] }, - "delete": { - "description": "Deletes an item from a board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-item-experimental", + "get": { + "description": "Retrieves all the tags from the specified board.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-tags-from-board", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete the item.", - "in": "path", - "name": "board_id", - "required": true, + "in": "query", + "name": "limit", "schema": { - "type": "string" + "type": "string", + "description": "The maximum number of items that can be returned for a single request.\nDefault: `20`.", + "maximum": 50, + "minimum": 1 } }, { - "description": "Unique identifier (ID) of the item that you want to delete.", + "in": "query", + "name": "offset", + "schema": { + "type": "string", + "description": "The displacement of the first item in the collection to return.\nDefault: `0`." + } + }, + { + "description": "Unique identifier (ID) of the board whose tags you want to retrieve.", "in": "path", - "name": "item_id", + "name": "board_id", "required": true, "schema": { "type": "string" @@ -11169,22 +8918,21 @@ } ], "responses": { - "204": { + "200": { "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/TagsPagedResponse" } } }, - "description": "Item deleted" + "description": "Board tags retrieved" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11218,7 +8966,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11252,7 +8999,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11282,52 +9028,50 @@ "description": "Too many requests" } }, - "summary": "Delete item", - "tags": ["items"] + "summary": "Get tags from board", + "tags": ["tags"] } }, - "/v2-experimental/boards/{board_id}/shapes": { - "post": { - "description": "Adds a flowchart shape item to a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-shape-item-flowchart", + "/v2/boards/{board_id}/tags/{tag_id}": { + "get": { + "description": "Retrieves information for a specific tag.

Required scope

boards:write

Rate limiting

Level 1
", + "operationId": "get-tag", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to create the item.", + "description": "Unique identifier (ID) of the board where you want to retrieve a specific tag.", "in": "path", "name": "board_id", "required": true, "schema": { "type": "string" } + }, + { + "description": "Unique identifier (ID) of the tag that you want to retrieve.", + "in": "path", + "name": "tag_id", + "required": true, + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ShapeCreateRequest" - } - } - }, - "required": true - }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ShapeItem" + "$ref": "#/components/schemas/TagWithLinks" } } }, - "description": "Shape item created" + "description": "Tag retrieved by id" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11361,7 +9105,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11395,7 +9138,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11425,17 +9167,15 @@ "description": "Too many requests" } }, - "summary": "Create shape item", - "tags": ["Flowchart shapes (experimental)"] - } - }, - "/v2-experimental/boards/{board_id}/shapes/{item_id}": { - "get": { - "description": "Retrieves information for a specific shape item on a board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-shape-item-flowchart", + "summary": "Get tag", + "tags": ["tags"] + }, + "patch": { + "description": "Updates a tag based on the data properties provided in the request body.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item), [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item), [Delete tag](https://developers.miro.com/reference/delete-tag).

Required scope

boards:write

Rate limiting

Level 1
", + "operationId": "update-tag", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to retrieve a specific item.", + "description": "Unique identifier (ID) of the board where you want to update a specific tag.", "in": "path", "name": "board_id", "required": true, @@ -11444,32 +9184,41 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to retrieve.", + "description": "Unique identifier (ID) of the tag that you want to update.", "in": "path", - "name": "item_id", + "name": "tag_id", "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagUpdateRequest" + } + } + }, + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ShapeItem" + "$ref": "#/components/schemas/TagWithLinks" } } }, - "description": "Shape item retrieved" + "description": "Tag updated" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11503,7 +9252,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11537,7 +9285,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11567,15 +9314,15 @@ "description": "Too many requests" } }, - "summary": "Get shape item", - "tags": ["Flowchart shapes (experimental)"] + "summary": "Update tag", + "tags": ["tags"] }, - "patch": { - "description": "Updates a flowchart shape item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-shape-item-flowchart", + "delete": { + "description": "Deletes the specified tag from the board. The tag is also removed from all cards and sticky notes on the board.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item), [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item), [Update tag](https://developers.miro.com/reference/update-tag).

Required scope

boards:write

Rate limiting

Level 1
", + "operationId": "delete-tag", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to update the item.", + "description": "Unique identifier (ID) of the board where you want to delete a specific tag.", "in": "path", "name": "board_id", "required": true, @@ -11584,42 +9331,31 @@ } }, { - "description": "Unique identifier (ID) of the item that you want to update.", + "description": "Unique identifier (ID) of the tag that you want to delete.", "in": "path", - "name": "item_id", + "name": "tag_id", "required": true, "schema": { "type": "string" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ShapeUpdateRequest" - } - } - }, - "required": true - }, "responses": { - "200": { + "204": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ShapeItem" + "type": "object" } } }, - "description": "Shape item updated" + "description": "Tag deleted" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11653,7 +9389,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11687,7 +9422,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11717,49 +9451,68 @@ "description": "Too many requests" } }, - "summary": "Update shape item", - "tags": ["Flowchart shapes (experimental)"] - }, - "delete": { - "description": "Deletes a flowchart shape item from the board.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "delete-shape-item-flowchart", + "summary": "Delete tag", + "tags": ["tags"] + } + }, + "/v2/boards/{board_id_PlatformTags}/items": { + "get": { + "description": "Retrieves all the items that have the specified tag.

Required scope

boards:read

Rate limiting

Level 1
", + "operationId": "get-items-by-tag", "parameters": [ { - "description": "Unique identifier (ID) of the board from which you want to delete the item.", - "in": "path", - "name": "board_id", - "required": true, + "in": "query", + "name": "limit", "schema": { - "type": "string" + "type": "string", + "description": "The maximum number of items that can be returned for a single request.\nDefault: `20`.", + "maximum": 50, + "minimum": 1 } }, { - "description": "Unique identifier (ID) of the item that you want to delete.", - "in": "path", - "name": "item_id", - "required": true, + "in": "query", + "name": "offset", "schema": { - "type": "string" + "type": "string", + "description": "The displacement of the first item in the collection to return.\nDefault: `0`." } - } + }, + { + "description": "Unique identifier (ID) of the board where you want to retrieve a specific tag.", + "in": "path", + "name": "board_id_PlatformTags", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the tag that you want to retrieve.", + "in": "query", + "name": "tag_id", + "required": true, + "schema": { + "type": "string" + } + } ], "responses": { - "204": { + "200": { "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/ItemPagedResponse" } } }, - "description": "Shape item deleted" + "description": "Item with certain tag" }, "400": { "content": { "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11793,7 +9546,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11827,7 +9579,6 @@ "application/json": { "schema": { "type": "object", - "description": "Test error obj", "properties": { "code": { "type": "string", @@ -11857,259 +9608,199 @@ "description": "Too many requests" } }, - "summary": "Delete shape item", - "tags": ["Flowchart shapes (experimental)"] + "summary": "Get items by tag", + "tags": ["tags"] } }, - "/v2/boards/{board_id_PlatformFileUpload}/documents": { + "/v2/boards/{board_id_PlatformTags}/items/{item_id}": { "post": { - "description": "Adds a document item to a board by selecting file from device.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-document-item-using-file-from-device", + "description": "Attach an existing tag to the specified item. Card and sticky note items can have up to 8 tags.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item), [Update tag](https://developers.miro.com/reference/update-tag), [Delete tag](https://developers.miro.com/reference/delete-tag).

Required scope

boards:write

Rate limiting

Level 1
", + "operationId": "attach-tag-to-item", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to create the item.", + "description": "Unique identifier (ID) of the board with the item that you want to add a tag to.", "in": "path", - "name": "board_id_PlatformFileUpload", + "name": "board_id_PlatformTags", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the item to which you want to add a tag.", + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique identifier (ID) of the tag you want to add to the item.", + "in": "query", + "name": "tag_id", "required": true, "schema": { "type": "string" } } ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "Title for the document.", - "example": "foo.pdf" - }, - "position": { - "$ref": "#/components/schemas/PositionChange" - }, - "geometry": { - "$ref": "#/components/schemas/FixedRatioGeometry" - }, - "parent": { - "$ref": "#/components/schemas/Parent" - } + "responses": { + "204": { + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + }, + "description": "Add a tag to an item" + }, + "400": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Code of the error", + "example": "error" + }, + "message": { + "type": "string", + "description": "Description of the error", + "example": "Error message" + }, + "status": { + "type": "integer", + "format": "int32", + "description": "Status code of the error", + "example": 400 + }, + "type": { + "type": "string", + "description": "Type of the error", + "example": "error" } - }, - "resource": { - "type": "string", - "format": "binary", - "description": "Select a file to upload. Maximum file size is 6 MB." } - }, - "required": ["resource"] + } } - } - } - }, - "responses": { - "201": { + }, + "description": "Malformed request" + }, + "404": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentItem" + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Code of the error", + "example": "error" + }, + "message": { + "type": "string", + "description": "Description of the error", + "example": "Error message" + }, + "status": { + "type": "integer", + "format": "int32", + "description": "Status code of the error", + "example": 400 + }, + "type": { + "type": "string", + "description": "Type of the error", + "example": "error" + } + } } } }, - "description": "Document item created" + "description": "Not found" + }, + "429": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Code of the error", + "example": "error" + }, + "message": { + "type": "string", + "description": "Description of the error", + "example": "Error message" + }, + "status": { + "type": "integer", + "format": "int32", + "description": "Status code of the error", + "example": 400 + }, + "type": { + "type": "string", + "description": "Type of the error", + "example": "error" + } + } + } + } + }, + "description": "Too many requests" } }, - "summary": "Create document item using file from device", - "tags": ["documents"] - } - }, - "/v2/boards/{board_id_PlatformFileUpload}/documents/{item_id}": { - "patch": { - "description": "Updates a document item on a board by using file from a device.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-document-item-using-file-from-device", + "summary": "Attach tag to item", + "tags": ["tags"] + }, + "delete": { + "description": "Removes the specified tag from the specified item. The tag still exists on the board.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item), [Update tag](https://developers.miro.com/reference/update-tag), [Delete tag](https://developers.miro.com/reference/delete-tag).

Required scope

boards:write

Rate limiting

Level 1
", + "operationId": "remove-tag-from-item", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to update the item.", + "description": "Unique identifier (ID) of the board with the item that you want to remove a tag from.", "in": "path", - "name": "board_id_PlatformFileUpload", + "name": "board_id_PlatformTags", "required": true, "schema": { "type": "string" } }, { - "description": "Unique identifier (ID) of the item that you want to update.", + "description": "Unique identifier (ID) of the item that you want to remove the tag from.", "in": "path", "name": "item_id", "required": true, "schema": { "type": "string" } + }, + { + "description": "Unique identifier (ID) of the tag that you want to remove from the item.", + "in": "query", + "name": "tag_id", + "required": true, + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/UploadFileFromDevice" - } - } - }, - "required": true - }, "responses": { - "200": { + "204": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentItem" + "type": "object" } } }, - "description": "Document item updated" - } - }, - "summary": "Update document item using file from device", - "tags": ["documents"] - } - }, - "/v2/boards/{board_id_PlatformFileUpload}/images": { - "post": { - "x-settings": { - "skip-tests": true - }, - "description": "Adds an image item to a board by specifying a file from device.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "create-image-item-using-local-file", - "parameters": [ - { - "description": "Unique identifier (ID) of the board where you want to create the item.", - "in": "path", - "name": "board_id_PlatformFileUpload", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/UploadFileFromDevice" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImageItem" - } - } - }, - "description": "Image item created" - } - }, - "summary": "Create image item using file from device", - "tags": ["images"] - } - }, - "/v2/boards/{board_id_PlatformFileUpload}/images/{item_id}": { - "patch": { - "x-settings": { - "skip-tests": true - }, - "description": "Updates an image item on a board.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "update-image-item-using-file-from-device", - "parameters": [ - { - "description": "Unique identifier (ID) of the board where you want to update the item.", - "in": "path", - "name": "board_id_PlatformFileUpload", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Unique identifier (ID) of the item that you want to update.", - "in": "path", - "name": "item_id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/UploadFileFromDevice" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImageItem" - } - } - }, - "description": "Image item updated" - } - }, - "summary": "Update image item using file from device", - "tags": ["images"] - } - }, - "/v2/boards/{board_id}/groups": { - "post": { - "description": "Creates a group of items on a board. The group is created with the items that are passed in the request body.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "createGroup", - "summary": "Create group", - "parameters": [ - { - "in": "path", - "name": "board_id", - "required": true, - "schema": { - "$ref": "#/components/schemas/BoardId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Group" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GroupResponseShort" - } - } - }, - "description": "Group created" + "description": "Tag removed from an item" }, "400": { "content": { @@ -12119,23 +9810,23 @@ "properties": { "code": { "type": "string", - "description": "Code of the error.", + "description": "Code of the error", "example": "error" }, "message": { "type": "string", - "description": "Description of the error.", + "description": "Description of the error", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status Code of the error.", + "description": "Status code of the error", "example": 400 }, "type": { "type": "string", - "description": "Type of the error.", + "description": "Type of the error", "example": "error" } } @@ -12152,23 +9843,23 @@ "properties": { "code": { "type": "string", - "description": "Code of the error.", + "description": "Code of the error", "example": "error" }, "message": { "type": "string", - "description": "Description of the error.", + "description": "Description of the error", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status Code of the error.", - "example": 404 + "description": "Status code of the error", + "example": 400 }, "type": { "type": "string", - "description": "Type of the error.", + "description": "Type of the error", "example": "error" } } @@ -12185,23 +9876,23 @@ "properties": { "code": { "type": "string", - "description": "Code of the error.", + "description": "Code of the error", "example": "error" }, "message": { "type": "string", - "description": "Description of the error.", + "description": "Description of the error", "example": "Error message" }, "status": { "type": "integer", "format": "int32", - "description": "Status Code of the error.", - "example": 429 + "description": "Status code of the error", + "example": 400 }, "type": { "type": "string", - "description": "Type of the error.", + "description": "Type of the error", "example": "error" } } @@ -12211,221 +9902,166 @@ "description": "Too many requests" } }, - "tags": ["groups"] - }, - "get": { - "description": "Returns all the groups and the items of the respective groups within a specific board.
This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request.
For example, if you set the `limit` query parameter to `10` and the board contains 20 items that are a part of a group, the first call will return information about the first 10 items in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "get-all-groups", - "summary": "Get all groups on a board", + "summary": "Remove tag from item", + "tags": ["tags"] + } + }, + "/v2/orgs/{org_id}/teams/{team_id}/projects": { + "post": { + "description": "Projects are essentially folders of boards with the option to manage user access for a smaller group of people within a team. Projects are here to help you organize your boards and make them easier to find and share. In other words, a project is a group of boards that you can share with your teammates all at once. For more information, see our Help Center page on Projects.

This API creates a new project in an existing team of an organization.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-create-project", "parameters": [ { + "name": "org_id", + "description": "The ID of the organization within which you you want to create a project.", "in": "path", - "name": "board_id", - "description": "Unique identifier (ID) of the board.", "required": true, "schema": { - "$ref": "#/components/schemas/BoardId" - } - }, - { - "in": "query", - "name": "limit", - "description": "The maximum number of items to return at one time, default is 10, maximum is 50.", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 10, - "maximum": 50, - "minimum": 10 - } + "type": "string" + }, + "example": "3074457345618265000" }, { - "in": "query", - "name": "cursor", - "required": false, + "name": "team_id", + "description": "The ID of the team within which you you want to create a project.", + "in": "path", + "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345619012000" } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateProjectRequest" + } + } + }, + "required": true + }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "properties": { - "limit": { - "type": "integer", - "format": "int32", - "description": "Limit of items.", - "example": 10 - }, - "size": { - "type": "integer", - "format": "int32", - "description": "Size of the items.", - "example": 1 - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GroupResponseShort" - } - } - } + "$ref": "#/components/schemas/Project" } } }, - "description": "Groups retrieved" + "description": "Contains information about the project, such as the project name." }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error401" + } + } + }, + "description": "Invalid authentication credentials" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error403" + } + } + }, + "description": "Invalid access" + }, "404": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 404 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, "description": "Not found" }, + "409": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error409" + } + } + }, + "description": "Conflict" + }, "429": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 429 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "tags": ["groups"] - } - }, - "/v2/boards/{board_id}/groups/items": { + "summary": "Create project", + "tags": ["Projects"] + }, "get": { - "description": "Returns a list of items that are a part of any group, within a specific board.
This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request.
For example, if you set the `limit` query parameter to `10` and the board contains 20 items that are a part of a group, the first call will return information about the first 10 items (not 10 groups) in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
", - "operationId": "getItemsByGroupId", - "summary": "Get items of a group by ID", + "description": "Retrieves the list of projects in an existing team of an organization. You can retrieve all projects, including all private projects (projects that haven't been specifically shared with you) by enabling Content Admin permissions. To enable Content Admin permissions, see [Content Admin permissions for Company Admins](https://help.miro.com/hc/en-us/articles/360012777280-Content-Admin-permissions-for-Company-Admins).

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-projects", "parameters": [ { + "name": "org_id", + "description": "The ID of the organization from which you want to retrieve the list of available projects.", "in": "path", - "name": "board_id", - "description": "Unique identifier (ID) of the board.", "required": true, "schema": { - "$ref": "#/components/schemas/BoardId" - } + "type": "string" + }, + "example": "3074457345618265000" }, { - "in": "query", - "name": "limit", - "description": "The maximum number of items to return at one time, default is 10, maximum is 50.", - "required": false, + "name": "team_id", + "description": "The ID of the team from which you want to retrieve the list of available projects.", + "in": "path", + "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 10, - "maximum": 50, - "minimum": 10 - } + "type": "string" + }, + "example": "3074457345619012000" }, { + "name": "limit", + "description": "The maximum number of results to return per call. If the number of projects in the response is greater than the limit specified, the response returns the cursor parameter with a value.", "in": "query", - "name": "cursor", - "required": false, "schema": { - "type": "string" - } + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "example": 100 }, { + "name": "cursor", + "description": "An indicator of the position of a page in the full set of results. To obtain the first page leave it empty. To obtain subsequent pages set it to the value returned in the cursor field of the previous request.", "in": "query", - "name": "group_item_id", - "description": "The ID of the group item to retrieve.", - "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345618265000" } ], "responses": { @@ -12433,113 +10069,47 @@ "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "limit": { - "type": "integer", - "format": "int32", - "description": "Limit of items.", - "example": 10 - }, - "size": { - "type": "integer", - "format": "int32", - "description": "Size of the items.", - "example": 1 - }, - "total": { - "type": "integer", - "format": "int32", - "description": "total items that are part of any group", - "example": 1 - }, - "data": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of the group.", - "example": "3258764517517852419" - }, - "type": { - "type": "string", - "description": "Indicates the type of object returned. In this case, `type` returns `group`." - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ItemPagedResponse" - } - } - } - } - } + "$ref": "#/components/schemas/ProjectPage" } } }, - "description": "Items retrieved" + "description": "Contains the result set information, such as the content, limit, cursor, or size." }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error401" + } + } + }, + "description": "Invalid authentication credentials" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error403" + } + } + }, + "description": "Invalid access" + }, "404": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 404 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, @@ -12549,62 +10119,51 @@ "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 429 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "tags": ["groups"] + "summary": "List of projects", + "tags": ["Projects"] } }, - "/v2/boards/{board_id}/groups/{group_id}": { + "/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}": { "get": { - "description": "Returns a list of items in a specific group.

Required scope

boards:read\n

Rate limiting

Level 2 per item ID", - "operationId": "getGroupById", - "summary": "Get a group by its ID", + "description": "Retrieves project information, such as a name for an existing project.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-project", "parameters": [ { + "name": "org_id", + "description": "The ID of the organization from which you want to retrieve the project information.", "in": "path", - "name": "board_id", - "description": "Unique identifier (ID) of the board.", "required": true, "schema": { - "$ref": "#/components/schemas/BoardId" - } + "type": "string" + }, + "example": "3074457345618265000" }, { + "name": "team_id", + "description": "The ID of the team from which you want to retrieve the project information.", "in": "path", - "name": "group_id", - "description": "Unique identifier (ID) of the group.", "required": true, "schema": { - "$ref": "#/components/schemas/GroupId" - } + "type": "string" + }, + "example": "3074457345619012000" + }, + { + "name": "project_id", + "description": "The ID of the project for which you want to retrieve the information.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "3074457345618265000" } ], "responses": { @@ -12612,73 +10171,47 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GroupResponseShort" + "$ref": "#/components/schemas/Project" } } }, - "description": "Group retrieved" + "description": "Project object" }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error401" + } + } + }, + "description": "Invalid authentication credentials" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error403" + } + } + }, + "description": "Invalid access" + }, "404": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 404 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, @@ -12688,443 +10221,322 @@ "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 429 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "tags": ["groups"] + "summary": "Get project", + "tags": ["Projects"] }, - "delete": { - "description": "Ungroups items from a group.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "unGroup", - "summary": "Ungroup items", + "patch": { + "description": "Update information about a project, such as the project name.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-update-project", "parameters": [ { + "name": "org_id", + "description": "The ID of an Organization.", "in": "path", - "name": "board_id", - "description": "Unique identifier (ID) of the board.", "required": true, "schema": { - "$ref": "#/components/schemas/BoardId" - } + "type": "string" + }, + "example": "3074457345618265000" }, { + "name": "team_id", + "description": "The ID of a Team.", "in": "path", - "name": "group_id", - "description": "Unique identifier (ID) of the group.", "required": true, "schema": { - "$ref": "#/components/schemas/GroupId" - } + "type": "string" + }, + "example": "3074457345619012000" }, { - "in": "query", - "name": "delete_items", - "required": false, - "description": "Indicates whether the items should be removed. By default, false.", + "name": "project_id", + "description": "The ID of a Project.", + "in": "path", + "required": true, "schema": { - "type": "boolean" - } + "type": "string" + }, + "example": "3074457345618265000" } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateProjectRequest" + } + } + }, + "required": true + }, "responses": { - "204": { + "200": { "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/Project" } } }, - "description": "Ungrouped" + "description": "Project object" }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error object.", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, - "404": { + "401": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error object.", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 404 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error401" + } + } + }, + "description": "Invalid authentication credentials" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error403" + } + } + }, + "description": "Invalid access" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error404" } } }, "description": "Not found" }, + "409": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error409" + } + } + }, + "description": "Conflict" + }, "429": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error object.", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 429 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "tags": ["groups"] + "summary": "Update project", + "tags": ["Projects"] }, - "put": { - "description": "This endpoint updates an existing group by replacing it entirely with a new group. When the update is made, the original group is completely replaced, and a new group ID is assigned.

Required scope

boards:write

Rate limiting

Level 2
", - "operationId": "updateGroup", - "summary": "Updates a group with new items", + "delete": { + "description": "Deletes a project. After a project is deleted, all boards and users that belong to the project remain in the team.

Required scope

projects:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-delete-project", "parameters": [ { + "name": "org_id", + "description": "The ID of the organization from which you want to delete a project.", "in": "path", - "name": "board_id", - "description": "Unique identifier (ID) of the board.", "required": true, "schema": { - "$ref": "#/components/schemas/BoardId" - } + "type": "string" + }, + "example": "3074457345618265000" }, { + "name": "team_id", + "description": "The ID of the team from which you want to delete a project.", "in": "path", - "name": "group_id", - "description": "Unique identifier (ID) of the group.", "required": true, "schema": { - "$ref": "#/components/schemas/GroupId" - } + "type": "string" + }, + "example": "3074457345619012000" + }, + { + "name": "project_id", + "description": "The ID of the project that you want to delete.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "3074457345618265000" } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Group" + "responses": { + "204": { + "description": "Project deleted" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error400" + } } - } + }, + "description": "Malformed request" }, - "required": true - }, - "responses": { - "200": { + "401": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GroupResponseShort" + "$ref": "#/components/schemas/Error401" } } }, - "description": "update group response" + "description": "Invalid authentication credentials" }, - "400": { + "403": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error403" } } }, - "description": "Malformed request" + "description": "Invalid access" }, "404": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 404 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, "description": "Not found" }, + "409": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error409" + } + } + }, + "description": "Conflict" + }, "429": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 429 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "tags": ["groups"] + "summary": "Delete project", + "tags": ["Projects"] } }, - "/v2/boards/{board_id}/groups/{group_id}?": { - "delete": { - "description": "Deletes a group from a board. All the items in the groups are deleted along with the group.

Required scope

boards:write

Rate limiting

Level 3
", - "operationId": "deleteGroup", - "summary": "Deletes the group", + "/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings": { + "get": { + "description": "Retrieves the project settings.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-project-settings", "parameters": [ { + "name": "org_id", + "description": "The ID of the organization to which the project belongs.", "in": "path", - "name": "board_id", - "description": "Unique identifier (ID) of the board.", "required": true, "schema": { - "$ref": "#/components/schemas/BoardId" - } + "type": "string" + }, + "example": "3074457345618265000" }, { + "name": "team_id", + "description": "The ID of the team to which the project belongs.", "in": "path", - "name": "group_id", - "description": "Unique identifier (ID) of the group.", "required": true, "schema": { - "$ref": "#/components/schemas/GroupId" - } + "type": "string" + }, + "example": "3074457345619012091" }, { - "in": "query", - "name": "delete_items", + "name": "project_id", + "description": "The ID of the project for which you want to retrieve the project settings.", + "in": "path", "required": true, - "description": "Indicates whether the items should be removed. Set to `true` to delete items in the group.", "schema": { - "type": "boolean" - } + "type": "string" + }, + "example": "3074457345618265000" } ], "responses": { - "204": { + "200": { "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/ProjectSettings" } } }, - "description": "Group deleted" + "description": "Defines the sharing policies for the boards within the project." }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error object.", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error401" + } + } + }, + "description": "Invalid authentication credentials" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error403" + } + } + }, + "description": "Invalid access" + }, "404": { "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error object.", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 404 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, @@ -13134,199 +10546,178 @@ "content": { "application/json": { "schema": { - "type": "object", - "description": "Test error object.", - "properties": { - "code": { - "type": "string", - "description": "Code of the error.", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error.", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status Code of the error.", - "example": 429 - }, - "type": { - "type": "string", - "description": "Type of the error.", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "tags": ["groups"] - } - }, - "/v2/boards/{board_id}/items/{item_id}/tags": { - "get": { - "description": "Retrieves all the tags from the specified item.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-tags-from-item", + "summary": "Get project settings", + "tags": ["Project Settings"] + }, + "patch": { + "description": "Updates the settings of a project.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-update-project-settings", "parameters": [ { - "description": "Unique identifier (ID) of the board with the item whose tags you want to retrieve.", + "name": "org_id", + "description": "The ID of the organization to which the project belongs.", "in": "path", - "name": "board_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345618265000" }, { - "description": "Unique identifier (ID) of the item whose tags you want to retrieve.", + "name": "team_id", + "description": "The ID of the team to which the project belongs.", "in": "path", - "name": "item_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345619012000" + }, + { + "name": "project_id", + "description": "The ID of the project whose settings you want to update.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "3074457345618265000" } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateProjectSettingsRequest" + } + } + }, + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetTagsResponse" + "$ref": "#/components/schemas/ProjectSettings" } } }, - "description": "Get tags from an item" + "description": "Project object" }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, - "404": { + "401": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error401" } } }, - "description": "Not found" + "description": "Invalid authentication credentials" }, - "429": { + "403": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error403" } } }, - "description": "Too many requests" - } - }, - "summary": "Get tags from item", - "tags": ["tags"] - } - }, - "/v2/boards/{board_id}/tags": { - "post": { - "description": "Creates a tag on a board.

Required scope

boards:write

Rate limiting

Level 1
", - "operationId": "create-tag", + "description": "Invalid access" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error404" + } + } + }, + "description": "Not found" + }, + "409": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error409" + } + } + }, + "description": "Conflict" + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error429" + } + } + }, + "description": "Too many requests" + } + }, + "summary": "Update project settings", + "tags": ["Project Settings"] + } + }, + "/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members": { + "post": { + "description": "Add a Miro user to a project.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-add-project-member", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to create the tag.", + "name": "org_id", + "description": "The ID of the organization to which the project belongs.", "in": "path", - "name": "board_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345618265000" + }, + { + "name": "team_id", + "description": "The ID of the team to which the project belongs.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "3074457345619012000" + }, + { + "name": "project_id", + "description": "The ID of the project to which you want to add a user.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "3074457345618265000" } ], "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TagCreateRequest" + "$ref": "#/components/schemas/AddProjectMemberRequest" } } }, @@ -13337,145 +10728,131 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TagWithLinks" + "$ref": "#/components/schemas/ProjectMember" } } }, - "description": "Tag created" + "description": "Project object" }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error401" + } + } + }, + "description": "Invalid authentication credentials" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error403" + } + } + }, + "description": "Invalid access" + }, "404": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, "description": "Not found" }, + "409": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error409" + } + } + }, + "description": "Conflict" + }, "429": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "summary": "Create tag", - "tags": ["tags"] + "summary": "Add member in a project", + "tags": ["Project Members"] }, "get": { - "description": "Retrieves all the tags from the specified board.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-tags-from-board", + "description": "Retrieves the list of members for a specific project.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-project-members", "parameters": [ { - "in": "query", - "name": "limit", + "name": "org_id", + "description": "The ID of the organization to which the project belongs.", + "in": "path", + "required": true, "schema": { - "type": "string", - "description": "The maximum number of items that can be returned for a single request.\nDefault: `20`.", - "maximum": 50, - "minimum": 1 - } + "type": "string" + }, + "example": "3074457345618265000" }, { - "in": "query", - "name": "offset", + "name": "team_id", + "description": "The ID of the team to which the project belongs.", + "in": "path", + "required": true, "schema": { - "type": "string", - "description": "The displacement of the first item in the collection to return.\nDefault: `0`." - } + "type": "string" + }, + "example": "3074457345619012000" }, { - "description": "Unique identifier (ID) of the board whose tags you want to retrieve.", + "name": "project_id", + "description": "The ID of the project for which you want to retrieve the list of members.", "in": "path", - "name": "board_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345618265000" + }, + { + "name": "limit", + "description": "The maximum number of results to return per call. If the number of project members in the response is greater than the limit specified, the response returns the cursor parameter with a value.", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "example": 100 + }, + { + "name": "cursor", + "description": "An indicator of the position of a page in the full set of results. To obtain the first page leave it empty. To obtain subsequent pages set it to the value returned in the cursor field of the previous request.", + "in": "query", + "schema": { + "type": "string" + }, + "example": "3074457345618265000" } ], "responses": { @@ -13483,138 +10860,121 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TagsPagedResponse" + "$ref": "#/components/schemas/ProjectMemberPage" } } }, - "description": "Board tags retrieved" + "description": "Page of project member" }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error401" + } + } + }, + "description": "Invalid authentication credentials" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error403" + } + } + }, + "description": "Invalid access" + }, "404": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, "description": "Not found" }, + "409": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error409" + } + } + }, + "description": "Conflict" + }, "429": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "summary": "Get tags from board", - "tags": ["tags"] + "summary": "List of project members", + "tags": ["Project Members"] } }, - "/v2/boards/{board_id}/tags/{tag_id}": { + "/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}": { "get": { - "description": "Retrieves information for a specific tag.

Required scope

boards:write

Rate limiting

Level 1
", - "operationId": "get-tag", + "description": "Retrieves information for a specific project member.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-project-member", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to retrieve a specific tag.", + "name": "org_id", + "description": "The ID of the organization to which the project belongs.", "in": "path", - "name": "board_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345618265000" }, { - "description": "Unique identifier (ID) of the tag that you want to retrieve.", + "name": "team_id", + "description": "The ID of the team to which the project belongs.", "in": "path", - "name": "tag_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345619012000" + }, + { + "name": "project_id", + "description": "The ID of the project from which you want to retrieve specific member information.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "3074457345618265000" + }, + { + "name": "member_id", + "description": "The ID of the member for which you want to retrieve information.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "307445734562315000" } ], "responses": { @@ -13622,143 +10982,126 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TagWithLinks" + "$ref": "#/components/schemas/ProjectMember" } } }, - "description": "Tag retrieved by id" + "description": "Contains information about the project member, such as the member's role." }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error401" + } + } + }, + "description": "Invalid authentication credentials" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error403" + } + } + }, + "description": "Invalid access" + }, "404": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, "description": "Not found" }, + "409": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error409" + } + } + }, + "description": "Conflict" + }, "429": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "summary": "Get tag", - "tags": ["tags"] + "summary": "Get project member", + "tags": ["Project Members"] }, "patch": { - "description": "Updates a tag based on the data properties provided in the request body.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item), [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item), [Delete tag](https://developers.miro.com/reference/delete-tag).

Required scope

boards:write

Rate limiting

Level 1
", - "operationId": "update-tag", + "description": "Updates details of a project member, such as the member's role.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-update-project-member", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to update a specific tag.", + "name": "org_id", + "description": "The ID of the organization to which the project member belongs.", "in": "path", - "name": "board_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345618265000" }, { - "description": "Unique identifier (ID) of the tag that you want to update.", + "name": "team_id", + "description": "The ID of the team to which the project member belongs.", "in": "path", - "name": "tag_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345619012000" + }, + { + "name": "project_id", + "description": "The ID of a Project.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "3074457345618265000" + }, + { + "name": "member_id", + "description": "The ID of the member whose details you want to update.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "307445734562315000" } ], "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TagUpdateRequest" + "$ref": "#/components/schemas/UpdateProjectMemberRequest" } } }, @@ -13769,860 +11112,721 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TagWithLinks" + "$ref": "#/components/schemas/ProjectMember" } } }, - "description": "Tag updated" + "description": "Contains information about the project member, such as the member's role." }, "400": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error400" } } }, "description": "Malformed request" }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error401" + } + } + }, + "description": "Invalid authentication credentials" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error403" + } + } + }, + "description": "Invalid access" + }, "404": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, "description": "Not found" }, + "409": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error409" + } + } + }, + "description": "Conflict" + }, "429": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, "description": "Too many requests" } }, - "summary": "Update tag", - "tags": ["tags"] + "summary": "Update project member", + "tags": ["Project Members"] }, "delete": { - "description": "Deletes the specified tag from the board. The tag is also removed from all cards and sticky notes on the board.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item), [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item), [Update tag](https://developers.miro.com/reference/update-tag).

Required scope

boards:write

Rate limiting

Level 1
", - "operationId": "delete-tag", + "description": "Remove a member from a project. The user remains in the team even after the member is removed from a project.

Required scope

projects:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-delete-project-member", "parameters": [ { - "description": "Unique identifier (ID) of the board where you want to delete a specific tag.", + "name": "org_id", + "description": "The ID of the organization to which the project belongs.", "in": "path", - "name": "board_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345618265000" }, { - "description": "Unique identifier (ID) of the tag that you want to delete.", + "name": "team_id", + "description": "The ID of the team to which the project belongs.", "in": "path", - "name": "tag_id", "required": true, "schema": { "type": "string" - } + }, + "example": "3074457345619012000" + }, + { + "name": "project_id", + "description": "The ID of the project from which you want to remove a member.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "3074457345618265000" + }, + { + "name": "member_id", + "description": "The ID of the member that you want to remove from a project.", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "3074457345618265000" } ], "responses": { "204": { + "description": "Project member removed" + }, + "400": { "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/Error400" } } }, - "description": "Tag deleted" + "description": "Malformed request" }, - "400": { + "401": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error401" } } }, - "description": "Malformed request" + "description": "Invalid authentication credentials" }, - "404": { + "403": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error403" } } }, - "description": "Not found" + "description": "Invalid access" }, - "429": { + "404": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error404" } } }, - "description": "Too many requests" - } - }, - "summary": "Delete tag", - "tags": ["tags"] - } - }, - "/v2/boards/{board_id_PlatformTags}/items": { - "get": { - "description": "Retrieves all the items that have the specified tag.

Required scope

boards:read

Rate limiting

Level 1
", - "operationId": "get-items-by-tag", - "parameters": [ - { - "in": "query", - "name": "limit", - "schema": { - "type": "string", - "description": "The maximum number of items that can be returned for a single request.\nDefault: `20`.", - "maximum": 50, - "minimum": 1 - } - }, - { - "in": "query", - "name": "offset", - "schema": { - "type": "string", - "description": "The displacement of the first item in the collection to return.\nDefault: `0`." - } - }, - { - "description": "Unique identifier (ID) of the board where you want to retrieve a specific tag.", - "in": "path", - "name": "board_id_PlatformTags", - "required": true, - "schema": { - "type": "string" - } + "description": "Not found" }, - { - "description": "Unique identifier (ID) of the tag that you want to retrieve.", - "in": "query", - "name": "tag_id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { + "409": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ItemPagedResponse" + "$ref": "#/components/schemas/Error409" } } }, - "description": "Item with certain tag" + "description": "Conflict" }, - "400": { + "429": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Error429" } } }, - "description": "Malformed request" + "description": "Too many requests" + } + }, + "summary": "Remove project member", + "tags": ["Project Members"] + } + }, + "/v2/orgs/{org_id}/teams": { + "post": { + "description": "Creates a new team in an existing organization.

Required scope

organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-create-team", + "parameters": [ + { + "$ref": "#/components/parameters/pathOrgId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateTeamRequest" + } + } }, - "404": { + "required": true + }, + "responses": { + "201": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Team" } } }, - "description": "Not found" + "description": "Team object" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get items by tag", - "tags": ["tags"] - } - }, - "/v2/boards/{board_id_PlatformTags}/items/{item_id}": { - "post": { - "description": "Attach an existing tag to the specified item. Card and sticky note items can have up to 8 tags.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item), [Update tag](https://developers.miro.com/reference/update-tag), [Delete tag](https://developers.miro.com/reference/delete-tag).

Required scope

boards:write

Rate limiting

Level 1
", - "operationId": "attach-tag-to-item", + "summary": "Create team", + "tags": ["Teams"] + }, + "get": { + "description": "Retrieves list of teams in an existing organization.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-teams", "parameters": [ { - "description": "Unique identifier (ID) of the board with the item that you want to add a tag to.", - "in": "path", - "name": "board_id_PlatformTags", - "required": true, + "$ref": "#/components/parameters/pathOrgId" + }, + { + "name": "limit", + "in": "query", "schema": { - "type": "string" + "maximum": 100, + "minimum": 1, + "type": "integer", + "description": "Limit for the number of teams returned in the result list.", + "format": "int32", + "example": 100, + "default": 100 } }, { - "description": "Unique identifier (ID) of the item to which you want to add a tag.", - "in": "path", - "name": "item_id", - "required": true, + "description": "An indicator of the position of a page in the full set of results. To obtain the first page leave it empty. To obtain subsequent pages set it to the value returned in the cursor field of the previous request.", + "example": "3055557345821140500", + "in": "query", + "name": "cursor", "schema": { "type": "string" } }, { - "description": "Unique identifier (ID) of the tag you want to add to the item.", + "description": "Name query. Filters teams by name using case insensitive partial match. A value \"dev\" will return both \"Developer's team\" and \"Team for developers\".", + "example": "My team", "in": "query", - "name": "tag_id", - "required": true, + "name": "name", "schema": { "type": "string" } } ], "responses": { - "204": { + "200": { + "description": "Page of teams that match the search query.", "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/TeamsPage" } } - }, - "description": "Add a tag to an item" + } }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" }, "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "List teams", + "tags": ["Teams"] + } + }, + "/v2/orgs/{org_id}/teams/{team_id}": { + "get": { + "description": "Retrieves team information for an existing team.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-team", + "parameters": [ + { + "$ref": "#/components/parameters/pathOrgId" + }, + { + "$ref": "#/components/parameters/pathTeamId" + } + ], + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Team" } } }, - "description": "Not found" + "description": "Team object" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" }, "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Get team", + "tags": ["Teams"] + }, + "patch": { + "description": "Updates an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-update-team", + "parameters": [ + { + "$ref": "#/components/parameters/pathOrgId" + }, + { + "$ref": "#/components/parameters/pathTeamId" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TeamChanges" + } + } + }, + "required": true + }, + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/Team" } } }, - "description": "Too many requests" + "description": "Team object" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" } }, - "summary": "Attach tag to item", - "tags": ["tags"] + "summary": "Update team", + "tags": ["Teams"] }, "delete": { - "description": "Removes the specified tag from the specified item. The tag still exists on the board.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item), [Update tag](https://developers.miro.com/reference/update-tag), [Delete tag](https://developers.miro.com/reference/delete-tag).

Required scope

boards:write

Rate limiting

Level 1
", - "operationId": "remove-tag-from-item", + "description": "Deletes an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-delete-team", "parameters": [ { - "description": "Unique identifier (ID) of the board with the item that you want to remove a tag from.", - "in": "path", - "name": "board_id_PlatformTags", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/pathOrgId" }, { - "description": "Unique identifier (ID) of the item that you want to remove the tag from.", - "in": "path", - "name": "item_id", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/pathTeamId" + } + ], + "responses": { + "204": { + "description": "Team deleted" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Delete team", + "tags": ["Teams"] + } + }, + "/v2/orgs/{org_id}/teams/{team_id}/members": { + "post": { + "description": "Invites a new Miro user to an existing team. The user must exist in your Miro organization. Users who do not exist in your Miro organization can be invited to the team via [SCIM](https://developers.miro.com/docs/scim) and an external identity provider, such as Okta or Azure Active Directory.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-invite-team-member", + "parameters": [ + { + "$ref": "#/components/parameters/pathOrgId" }, { - "description": "Unique identifier (ID) of the tag that you want to remove from the item.", - "in": "query", - "name": "tag_id", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/parameters/pathTeamId" } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TeamMemberInvite" + } + } + }, + "required": true + }, "responses": { - "204": { + "201": { "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/TeamMember" } } }, - "description": "Tag removed from an item" + "description": "Invitation result object" }, "400": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" }, "404": { + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Invite team members", + "tags": ["Team Members"] + }, + "get": { + "description": "Retrieves team members by cursor.

Required scope

organizations:teams:read

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-team-members", + "parameters": [ + { + "$ref": "#/components/parameters/pathOrgId" + }, + { + "$ref": "#/components/parameters/pathTeamId" + }, + { + "name": "limit", + "in": "query", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "description": "Limit for the number of team members returned in the result list.", + "format": "int32", + "example": 100, + "default": 100 + } + }, + { + "description": "An indicator of the position of a page in the full set of results. To obtain the first page leave it empty. To obtain subsequent pages set it to the value returned in the cursor field of the previous request.", + "example": "3055557345821140500", + "in": "query", + "name": "cursor", + "schema": { + "type": "string" + } + }, + { + "description": "\nRole query. Filters members by role using full word match. Accepted values are:\n* \"member\": Team member with full member permissions.\n* \"admin\": Admin of a team. Team member with permission to manage team.\n* \"non_team\": External user, non-team user.\n* \"team_guest\": Team-guest user, user with access only to a team without access to organization.\n", + "in": "query", + "name": "role", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Page of team members that match the search query.", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/TeamMembersPage" } } - }, - "description": "Not found" + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" }, "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "List team members", + "tags": ["Team Members"] + } + }, + "/v2/orgs/{org_id}/teams/{team_id}/members/{member_id}": { + "get": { + "description": "Retrieves team member by id.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-team-member", + "parameters": [ + { + "$ref": "#/components/parameters/pathOrgId" + }, + { + "$ref": "#/components/parameters/pathTeamId" + }, + { + "$ref": "#/components/parameters/pathTeamMemberId" + } + ], + "responses": { + "200": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Code of the error", - "example": "error" - }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 - }, - "type": { - "type": "string", - "description": "Type of the error", - "example": "error" - } - } + "$ref": "#/components/schemas/TeamMember" } } }, - "description": "Too many requests" + "description": "Team member object" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" } }, - "summary": "Remove tag from item", - "tags": ["tags"] - } - }, - "/v2/orgs/{org_id}/teams/{team_id}/projects": { - "post": { - "description": "Projects are essentially folders of boards with the option to manage user access for a smaller group of people within a team. Projects are here to help you organize your boards and make them easier to find and share. In other words, a project is a group of boards that you can share with your teammates all at once. For more information, see our Help Center page on Projects.

This API creates a new project in an existing team of an organization.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-create-project", + "summary": "Get team member", + "tags": ["Team Members"] + }, + "patch": { + "description": "Updates team member role in team by id.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-update-team-member", "parameters": [ { - "name": "org_id", - "description": "The ID of the organization within which you you want to create a project.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" + "$ref": "#/components/parameters/pathOrgId" }, { - "name": "team_id", - "description": "The ID of the team within which you you want to create a project.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" + "$ref": "#/components/parameters/pathTeamId" + }, + { + "$ref": "#/components/parameters/pathTeamMemberId" } ], "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateProjectRequest" + "$ref": "#/components/schemas/TeamMemberChanges" } } }, "required": true }, "responses": { - "201": { + "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Project" + "$ref": "#/components/schemas/TeamMember" } } }, - "description": "Contains information about the project, such as the project name." + "description": "Team member object" }, "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" + "$ref": "#/components/responses/401" }, "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" + "$ref": "#/components/responses/403" }, "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error409" - } - } - }, - "description": "Conflict" + "$ref": "#/components/responses/409" }, "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Create project", - "tags": ["Projects"] + "summary": "Update team member", + "tags": ["Team Members"] }, - "get": { - "description": "Retrieves the list of projects in an existing team of an organization. You can retrieve all projects, including all private projects (projects that haven't been specifically shared with you) by enabling Content Admin permissions. To enable Content Admin permissions, see [Content Admin permissions for Company Admins](https://help.miro.com/hc/en-us/articles/360012777280-Content-Admin-permissions-for-Company-Admins).

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-projects", + "delete": { + "description": "Deletes team member from team by id.

Required scope

organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-delete-team-member", "parameters": [ { - "name": "org_id", - "description": "The ID of the organization from which you want to retrieve the list of available projects.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" + "$ref": "#/components/parameters/pathOrgId" }, { - "name": "team_id", - "description": "The ID of the team from which you want to retrieve the list of available projects.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" + "$ref": "#/components/parameters/pathTeamId" }, { - "name": "limit", - "description": "The maximum number of results to return per call. If the number of projects in the response is greater than the limit specified, the response returns the cursor parameter with a value.", - "in": "query", - "schema": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "example": 100 + "$ref": "#/components/parameters/pathTeamMemberId" + } + ], + "responses": { + "204": { + "description": "Deleted successfully" + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" }, + "409": { + "$ref": "#/components/responses/409" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Delete team member from team", + "tags": ["Team Members"] + } + }, + "/v2/orgs/{org_id}/default_teams_settings": { + "get": { + "description": "Retrieves default team settings of an existing organization.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-default-team-settings", + "parameters": [ { - "name": "cursor", - "description": "An indicator of the position of a page in the full set of results. To obtain the first page leave it empty. To obtain subsequent pages set it to the value returned in the cursor field of the previous request.", - "in": "query", + "description": "The id of an Organization.", + "example": "3074457345618265000", + "in": "path", + "name": "org_id", + "required": true, "schema": { "type": "string" - }, - "example": "3074457345618265000" + } } ], "responses": { @@ -14630,101 +11834,42 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProjectPage" + "$ref": "#/components/schemas/TeamSettings" } } }, - "description": "Contains the result set information, such as the content, limit, cursor, or size." + "description": "Team settings" }, "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" + "$ref": "#/components/responses/401" }, "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" + "$ref": "#/components/responses/403" }, "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "List of projects", - "tags": ["Projects"] + "summary": "Get default team settings", + "tags": ["Team Settings"] } }, - "/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}": { + "/v2/orgs/{org_id}/teams/{team_id}/settings": { "get": { - "description": "Retrieves project information, such as a name for an existing project.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-project", + "description": "Retrieves team settings of an existing team.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-get-team-settings", "parameters": [ { - "name": "org_id", - "description": "The ID of the organization from which you want to retrieve the project information.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of the team from which you want to retrieve the project information.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" + "$ref": "#/components/parameters/pathOrgId" }, { - "name": "project_id", - "description": "The ID of the project for which you want to retrieve the information.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" + "$ref": "#/components/parameters/pathTeamId" } ], "responses": { @@ -14732,106 +11877,47 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Project" + "$ref": "#/components/schemas/TeamSettings" } } }, - "description": "Project object" + "description": "Team settings" }, "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" + "$ref": "#/components/responses/401" }, "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" + "$ref": "#/components/responses/403" }, "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" + "$ref": "#/components/responses/404" }, "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" + "$ref": "#/components/responses/429" } }, - "summary": "Get project", - "tags": ["Projects"] + "summary": "Get team settings", + "tags": ["Team Settings"] }, "patch": { - "description": "Update information about a project, such as the project name.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-update-project", + "description": "Updates team settings of an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", + "operationId": "enterprise-update-team-settings", "parameters": [ { - "name": "org_id", - "description": "The ID of an Organization.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of a Team.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" + "$ref": "#/components/parameters/pathOrgId" }, { - "name": "project_id", - "description": "The ID of a Project.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" + "$ref": "#/components/parameters/pathTeamId" } ], "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateProjectRequest" + "$ref": "#/components/schemas/TeamSettingsChanges" } } }, @@ -14842,3065 +11928,938 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Project" - } - } - }, - "description": "Project object" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error409" - } - } - }, - "description": "Conflict" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" + "$ref": "#/components/schemas/TeamSettings" } } }, - "description": "Too many requests" - } - }, - "summary": "Update project", - "tags": ["Projects"] - }, - "delete": { - "description": "Deletes a project. After a project is deleted, all boards and users that belong to the project remain in the team.

Required scope

projects:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-delete-project", - "parameters": [ - { - "name": "org_id", - "description": "The ID of the organization from which you want to delete a project.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of the team from which you want to delete a project.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" - }, - { - "name": "project_id", - "description": "The ID of the project that you want to delete.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - } - ], - "responses": { - "204": { - "description": "Project deleted" + "description": "Team settings" }, "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" + "$ref": "#/components/responses/400" }, "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" + "$ref": "#/components/responses/401" }, "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error409" - } - } - }, - "description": "Conflict" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" - } - }, - "summary": "Delete project", - "tags": ["Projects"] - } - }, - "/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings": { - "get": { - "description": "Retrieves the project settings.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-project-settings", - "parameters": [ - { - "name": "org_id", - "description": "The ID of the organization to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of the team to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012091" - }, - { - "name": "project_id", - "description": "The ID of the project for which you want to retrieve the project settings.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProjectSettings" - } - } - }, - "description": "Defines the sharing policies for the boards within the project." - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" - } - }, - "summary": "Get project settings", - "tags": ["Project Settings"] - }, - "patch": { - "description": "Updates the settings of a project.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-update-project-settings", - "parameters": [ - { - "name": "org_id", - "description": "The ID of the organization to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of the team to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" - }, - { - "name": "project_id", - "description": "The ID of the project whose settings you want to update.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateProjectSettingsRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProjectSettings" - } - } - }, - "description": "Project object" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error409" - } - } - }, - "description": "Conflict" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" - } - }, - "summary": "Update project settings", - "tags": ["Project Settings"] - } - }, - "/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members": { - "post": { - "description": "Add a Miro user to a project.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-add-project-member", - "parameters": [ - { - "name": "org_id", - "description": "The ID of the organization to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of the team to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" - }, - { - "name": "project_id", - "description": "The ID of the project to which you want to add a user.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddProjectMemberRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProjectMember" - } - } - }, - "description": "Project object" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error409" - } - } - }, - "description": "Conflict" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" - } - }, - "summary": "Add member in a project", - "tags": ["Project Members"] - }, - "get": { - "description": "Retrieves the list of members for a specific project.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-project-members", - "parameters": [ - { - "name": "org_id", - "description": "The ID of the organization to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of the team to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" - }, - { - "name": "project_id", - "description": "The ID of the project for which you want to retrieve the list of members.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "limit", - "description": "The maximum number of results to return per call. If the number of project members in the response is greater than the limit specified, the response returns the cursor parameter with a value.", - "in": "query", - "schema": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "example": 100 - }, - { - "name": "cursor", - "description": "An indicator of the position of a page in the full set of results. To obtain the first page leave it empty. To obtain subsequent pages set it to the value returned in the cursor field of the previous request.", - "in": "query", - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProjectMemberPage" - } - } - }, - "description": "Page of project member" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error409" - } - } - }, - "description": "Conflict" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" - } - }, - "summary": "List of project members", - "tags": ["Project Members"] - } - }, - "/v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}": { - "get": { - "description": "Retrieves information for a specific project member.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-project-member", - "parameters": [ - { - "name": "org_id", - "description": "The ID of the organization to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of the team to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" - }, - { - "name": "project_id", - "description": "The ID of the project from which you want to retrieve specific member information.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "member_id", - "description": "The ID of the member for which you want to retrieve information.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "307445734562315000" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProjectMember" - } - } - }, - "description": "Contains information about the project member, such as the member's role." - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error409" - } - } - }, - "description": "Conflict" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" - } - }, - "summary": "Get project member", - "tags": ["Project Members"] - }, - "patch": { - "description": "Updates details of a project member, such as the member's role.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-update-project-member", - "parameters": [ - { - "name": "org_id", - "description": "The ID of the organization to which the project member belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of the team to which the project member belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" - }, - { - "name": "project_id", - "description": "The ID of a Project.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "member_id", - "description": "The ID of the member whose details you want to update.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "307445734562315000" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateProjectMemberRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProjectMember" - } - } - }, - "description": "Contains information about the project member, such as the member's role." - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error409" - } - } - }, - "description": "Conflict" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" - } - }, - "summary": "Update project member", - "tags": ["Project Members"] - }, - "delete": { - "description": "Remove a member from a project. The user remains in the team even after the member is removed from a project.

Required scope

projects:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-delete-project-member", - "parameters": [ - { - "name": "org_id", - "description": "The ID of the organization to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "team_id", - "description": "The ID of the team to which the project belongs.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345619012000" - }, - { - "name": "project_id", - "description": "The ID of the project from which you want to remove a member.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - }, - { - "name": "member_id", - "description": "The ID of the member that you want to remove from a project.", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "3074457345618265000" - } - ], - "responses": { - "204": { - "description": "Project member removed" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error400" - } - } - }, - "description": "Malformed request" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error401" - } - } - }, - "description": "Invalid authentication credentials" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error403" - } - } - }, - "description": "Invalid access" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error404" - } - } - }, - "description": "Not found" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error409" - } - } - }, - "description": "Conflict" - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error429" - } - } - }, - "description": "Too many requests" - } - }, - "summary": "Remove project member", - "tags": ["Project Members"] - } - }, - "/v2/orgs/{org_id}/teams": { - "post": { - "description": "Creates a new team in an existing organization.

Required scope

organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-create-team", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateTeamRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Team" - } - } - }, - "description": "Team object" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Create team", - "tags": ["Teams"] - }, - "get": { - "description": "Retrieves list of teams in an existing organization.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-teams", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "name": "limit", - "in": "query", - "schema": { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Limit for the number of teams returned in the result list.", - "format": "int32", - "example": 100, - "default": 100 - } - }, - { - "description": "An indicator of the position of a page in the full set of results. To obtain the first page leave it empty. To obtain subsequent pages set it to the value returned in the cursor field of the previous request.", - "example": "3055557345821140500", - "in": "query", - "name": "cursor", - "schema": { - "type": "string" - } - }, - { - "description": "Name query. Filters teams by name using case insensitive partial match. A value \"dev\" will return both \"Developer's team\" and \"Team for developers\".", - "example": "My team", - "in": "query", - "name": "name", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Page of teams that match the search query.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamsPage" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "List teams", - "tags": ["Teams"] - } - }, - "/v2/orgs/{org_id}/teams/{team_id}": { - "get": { - "description": "Retrieves team information for an existing team.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-team", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Team" - } - } - }, - "description": "Team object" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Get team", - "tags": ["Teams"] - }, - "patch": { - "description": "Updates an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-update-team", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamChanges" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Team" - } - } - }, - "description": "Team object" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Update team", - "tags": ["Teams"] - }, - "delete": { - "description": "Deletes an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-delete-team", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - } - ], - "responses": { - "204": { - "description": "Team deleted" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Delete team", - "tags": ["Teams"] - } - }, - "/v2/orgs/{org_id}/teams/{team_id}/members": { - "post": { - "description": "Invites a new Miro user to an existing team. The user must exist in your Miro organization. Users who do not exist in your Miro organization can be invited to the team via [SCIM](https://developers.miro.com/docs/scim) and an external identity provider, such as Okta or Azure Active Directory.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-invite-team-member", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamMemberInvite" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamMember" - } - } - }, - "description": "Invitation result object" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "409": { - "$ref": "#/components/responses/409" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Invite team members", - "tags": ["Team Members"] - }, - "get": { - "description": "Retrieves team members by cursor.

Required scope

organizations:teams:read

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-team-members", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - }, - { - "name": "limit", - "in": "query", - "schema": { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Limit for the number of team members returned in the result list.", - "format": "int32", - "example": 100, - "default": 100 - } - }, - { - "description": "An indicator of the position of a page in the full set of results. To obtain the first page leave it empty. To obtain subsequent pages set it to the value returned in the cursor field of the previous request.", - "example": "3055557345821140500", - "in": "query", - "name": "cursor", - "schema": { - "type": "string" - } - }, - { - "description": "\nRole query. Filters members by role using full word match. Accepted values are:\n* \"member\": Team member with full member permissions.\n* \"admin\": Admin of a team. Team member with permission to manage team.\n* \"non_team\": External user, non-team user.\n* \"team_guest\": Team-guest user, user with access only to a team without access to organization.\n", - "in": "query", - "name": "role", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Page of team members that match the search query.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamMembersPage" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "List team members", - "tags": ["Team Members"] - } - }, - "/v2/orgs/{org_id}/teams/{team_id}/members/{member_id}": { - "get": { - "description": "Retrieves team member by id.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-team-member", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - }, - { - "$ref": "#/components/parameters/pathTeamMemberId" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamMember" - } - } - }, - "description": "Team member object" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Get team member", - "tags": ["Team Members"] - }, - "patch": { - "description": "Updates team member role in team by id.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-update-team-member", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - }, - { - "$ref": "#/components/parameters/pathTeamMemberId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamMemberChanges" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamMember" - } - } - }, - "description": "Team member object" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Update team member", - "tags": ["Team Members"] - }, - "delete": { - "description": "Deletes team member from team by id.

Required scope

organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-delete-team-member", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - }, - { - "$ref": "#/components/parameters/pathTeamMemberId" - } - ], - "responses": { - "204": { - "description": "Deleted successfully" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Delete team member from team", - "tags": ["Team Members"] - } - }, - "/v2/orgs/{org_id}/default_teams_settings": { - "get": { - "description": "Retrieves default team settings of an existing organization.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-default-team-settings", - "parameters": [ - { - "description": "The id of an Organization.", - "example": "3074457345618265000", - "in": "path", - "name": "org_id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamSettings" - } - } - }, - "description": "Team settings" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Get default team settings", - "tags": ["Team Settings"] - } - }, - "/v2/orgs/{org_id}/teams/{team_id}/settings": { - "get": { - "description": "Retrieves team settings of an existing team.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-get-team-settings", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamSettings" - } - } - }, - "description": "Team settings" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Get team settings", - "tags": ["Team Settings"] - }, - "patch": { - "description": "Updates team settings of an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

", - "operationId": "enterprise-update-team-settings", - "parameters": [ - { - "$ref": "#/components/parameters/pathOrgId" - }, - { - "$ref": "#/components/parameters/pathTeamId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamSettingsChanges" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TeamSettings" - } - } - }, - "description": "Team settings" - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "409": { - "$ref": "#/components/responses/409" - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "summary": "Update team settings", - "tags": ["Team Settings"] - } - } - }, - "components": { - "schemas": { - "AuditPage": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of the response, in this case it's always 'cursor-list'", - "example": "cursor-list" - }, - "limit": { - "type": "integer", - "description": "Page limit", - "example": 10 - }, - "size": { - "type": "integer", - "description": "Item count in current page", - "example": 2 - }, - "cursor": { - "type": "string", - "description": "The key that should be used as the cursor request parameter to fetch the next page", - "example": "2023-09-01T09:30:10.840687Z#1234567890123456789-DDB" - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AuditEvent" - }, - "description": "Audit events list" - } - } - }, - "AuditEvent": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Audit event id", - "example": "2023-09-01T09:30:10.840687Z#1234567890123456789-DDB" - }, - "context": { - "$ref": "#/components/schemas/AuditContext" - }, - "object": { - "$ref": "#/components/schemas/AuditObject" - }, - "createdAt": { - "type": "string", - "description": "Time when the audit event has been created", - "format": "date-time", - "example": "2023-09-01T09:30:10.840+0000" - }, - "details": { - "type": "object", - "description": "Details json related to the audit event", - "example": "{ \"authType\": \"SSO\", \"mfaFactorType\": \"NONE\" }" - }, - "createdBy": { - "$ref": "#/components/schemas/AuditCreatedBy" - }, - "event": { - "type": "string", - "description": "Event type of the audit event", - "example": "sign_in_succeeded" - } - } - }, - "AuditContext": { - "type": "object", - "description": "Audit context", - "properties": { - "ip": { - "type": "string", - "description": "Ip address associated with the audit context", - "example": "0.0.0.0" - }, - "team": { - "$ref": "#/components/schemas/AuditTeam" - }, - "organization": { - "$ref": "#/components/schemas/AuditOrganization" - } - } - }, - "AuditTeam": { - "type": "object", - "description": "Team associated with the audit context", - "properties": { - "id": { - "type": "string", - "description": "Id of the team", - "example": "1234567890123456789" - }, - "name": { - "type": "string", - "description": "Name of the team", - "example": "Example Team" - } - } - }, - "AuditOrganization": { - "type": "object", - "description": "Organization associated with the audit context", - "properties": { - "id": { - "type": "string", - "description": "Id of the organization", - "example": "1234567890123456789" - }, - "name": { - "type": "string", - "description": "Name of the organization", - "example": "Example Organization" - } - } - }, - "AuditObject": { - "type": "object", - "description": "The object related with the audit event", - "properties": { - "id": { - "type": "string", - "description": "Id of the object", - "example": "1234567890123456789" - }, - "name": { - "type": "string", - "description": "Name of the object", - "example": "Example Object" - } - } - }, - "AuditCreatedBy": { - "type": "object", - "description": "The details regarding the creator of the audit event", - "properties": { - "type": { - "type": "string", - "description": "Type of the creator", - "example": "user", - "enum": ["user", "application", "scim_provisioner", "miro_automation"] - }, - "id": { - "type": "string", - "description": "Id of the creator", - "example": "1234567890123456789" - }, - "name": { - "type": "string", - "description": "Name of the creator", - "example": "John Smith" - }, - "email": { - "type": "string", - "description": "Email of the creator", - "example": "john.smith@miro.com" - } - } - }, - "BoardDataClassificationLabel": { - "type": "object", - "properties": { - "color": { - "type": "string", - "description": "Label color.", - "example": "blue" - }, - "description": { - "type": "string", - "description": "Label description.", - "example": "Board could not be shared publicly" - }, - "id": { - "type": "string", - "description": "Label id.", - "example": "3000457366756290996" - }, - "name": { - "type": "string", - "description": "Label name.", - "example": "internal" - }, - "sharingRecommendation": { - "type": "string", - "description": "Sharing Recommendation (one of NO_SHARING_RESTRICTIONS, ONLY_WITHIN_ORGANIZATION, ONLY_WITHIN_TEAM or ONLY_WITH_AUTHORIZED_TEAM_MEMBERS ).", - "example": "NO_SHARING_RESTRICTIONS" - }, - "guidelineUrl": { - "type": "string", - "description": "Indicates the URL for the board classification label guidelines.", - "example": "https://miro.com" - }, - "type": { - "type": "string", - "description": "Type of the object returned.", - "default": "board-data-classification-label" - } - } - }, - "DataClassificationLabel": { - "description": "Data classification label", - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Label id.", - "example": "3000457366756290996" - }, - "color": { - "type": "string", - "description": "Label color.", - "example": "#F5DC80" - }, - "default": { - "type": "boolean", - "description": "Label is default.", - "example": false - }, - "description": { - "type": "string", - "description": "Label description.", - "example": "Board could not be shared publicly" - }, - "name": { - "type": "string", - "description": "Label name.", - "example": "internal" - }, - "orderNumber": { - "type": "integer", - "description": "Label order number.", - "format": "int32", - "example": 2 - }, - "sharingRecommendation": { - "type": "string", - "description": "Sharing Recommendation (one of NO_SHARING_RESTRICTIONS, ONLY_WITHIN_ORGANIZATION, ONLY_WITHIN_TEAM or ONLY_WITH_AUTHORIZED_TEAM_MEMBERS ).", - "example": "NO_SHARING_RESTRICTIONS" - }, - "guidelineUrl": { - "type": "string", - "description": "Indicates the URL for the board classification label guidelines.", - "example": "https://miro.com" - }, - "type": { - "type": "string", - "description": "Type of the object returned.", - "default": "data-classification-label" - } - } - }, - "DataClassificationLabelId": { - "type": "object", - "properties": { - "labelId": { - "type": "string", - "description": "Data classification label id", - "example": "3000457366756290996" - } - } - }, - "DataClassificationOrganizationSettings": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Data classification enabled for organization", - "example": true - }, - "labels": { - "type": "array", - "description": "Data classification labels", - "items": { - "$ref": "#/components/schemas/DataClassificationLabel" - } - }, - "type": { - "type": "string", - "description": "Type of the object returned.", - "default": "data-classification-organization-settings" - } - } - }, - "DataClassificationTeamSettings": { - "type": "object", - "properties": { - "defaultLabelId": { - "type": "string", - "description": "Data classification default label id", - "example": "3000457366756290996" - }, - "enabled": { - "type": "boolean", - "description": "Data classification enabled for team", - "example": true - }, - "type": { - "type": "string", - "description": "Type of the object returned.", - "default": "team-data-classification-settings" - } - } - }, - "UpdateBoardsDataClassificationLabel": { - "type": "object", - "properties": { - "numberUpdatedBoards": { - "type": "integer", - "description": "Number of boards updated in the team", - "format": "int64", - "example": 10 - }, - "type": { - "type": "string", - "description": "Type of the object returned.", - "default": "boards-data-classification-label-changed" - } - } - }, - "UpdateBoardsDataClassificationLabelRequest": { - "type": "object", - "properties": { - "labelId": { - "type": "integer", - "description": "Data classification label id for team", - "format": "int64", - "example": 3000457366756291000 - }, - "notClassifiedOnly": { - "type": "boolean", - "description": "Assign data classification label to not-classified only or to all boards of team", - "example": true - } - } - }, - "UpdateTeamSettingsRequest": { - "type": "object", - "properties": { - "defaultLabelId": { - "type": "integer", - "description": "Data classification default label id", - "format": "int64", - "example": 3000457366756291000 - }, - "enabled": { - "type": "boolean", - "description": "Data classification enabled for team", - "example": true - } - } - }, - "BoardExportJobId": { - "required": ["jobId"], - "type": "object", - "properties": { - "jobId": { - "type": "string", - "description": "Unique identifier of the board export job.", - "format": "uuid", - "example": "92343229-c532-446d-b8cb-2f155bedb807" - } - } - }, - "BoardExportJobStatus": { - "required": ["jobStatus"], - "type": "object", - "properties": { - "jobStatus": { - "type": "string", - "description": "Indicates the current state of the board export job.\nPossible values:\n`CREATED`: the job has been created but not yet started. Retry the status call after some time.\n`IN_PROGRESS`: the job is in progress, and the results are not ready yet. Retry the status call after some time.\n`FINISHED`: the job is complete. You can now get results for the board export job.", - "example": "CREATED" - } - } - }, - "BoardExportResult": { - "type": "object", - "properties": { - "jobId": { - "type": "string", - "description": "Unique identifier of the board export job.", - "format": "uuid", - "example": "92343229-c532-446d-b8cb-2f155bedb807" - }, - "results": { - "type": "array", - "description": "Board export task results.", - "items": { - "$ref": "#/components/schemas/BoardExportTaskResult" - } - } - } - }, - "BoardExportTaskResult": { - "required": ["boardId", "status"], - "type": "object", - "properties": { - "boardId": { - "type": "string", - "description": "Unique identifier of the board.", - "example": "o9J_kzlUDmo=" - }, - "errorMessage": { - "type": "string", - "description": "Contains the description of the error that occurred during a board export task." - }, - "exportLink": { - "type": "string", - "description": "URL of the S3 bucket that contains the exported files." - }, - "status": { - "type": "string", - "description": "Indicates the status of the individual board export task.\nPossible values:\n`SUCCESS`: the board export task was completed successfully and the results are available.\n`ERROR`: the board export task encountered an error and failed to complete. The `errorMessage` field provides more information on the error.", - "example": "CREATED" - } - }, - "description": "Board export task results." - }, - "CreateBoardExportRequest": { - "type": "object", - "properties": { - "boardIds": { - "maxItems": 50, - "minItems": 1, - "type": "array", - "description": "List of board IDs to be exported.", - "example": "o9J_kzlUDmo=", - "items": { - "type": "string", - "description": "List of board IDs to be exported.", - "example": "o9J_kzlUDmo=" - } + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "409": { + "$ref": "#/components/responses/409" + }, + "429": { + "$ref": "#/components/responses/429" } }, - "description": "List of board IDs to be exported." - }, - "GetBoardItemContentLogsResponse": { + "summary": "Update team settings", + "tags": ["Team Settings"] + } + } + }, + "components": { + "schemas": { + "AuditPage": { "type": "object", - "description": "Response for query using cursor and filter parameters.", "properties": { + "type": { + "type": "string", + "description": "Type of the response, in this case it's always 'cursor-list'", + "example": "cursor-list" + }, "limit": { "type": "integer", - "description": "The maximum number of results to return per call. If the number of logs in the response is\ngreater than the limit specified, the response returns the cursor parameter with a value.\n", - "format": "int32", - "example": 20 + "description": "Page limit", + "example": 10 }, "size": { "type": "integer", - "description": "Number of results returned in the response considering the cursor and the limit values sent in the request. For example, if there are 20 results, the request does not have a cursor value, and the limit set to 10, the size of the results will be 10. In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection.\n", - "format": "int32", - "example": 1 - }, - "data": { - "$ref": "#/components/schemas/BoardItemContentLogList" + "description": "Item count in current page", + "example": 2 }, "cursor": { "type": "string", - "description": "Indicator of the position of the next page of the result. To retrieve the next page, make another query setting its cursor field to the value returned by the current query. If the value is empty, there are no more pages to fetch.\n", - "example": "MTY2OTg4NTIwMDAwMHwxMjM=" + "description": "The key that should be used as the cursor request parameter to fetch the next page", + "example": "2023-09-01T09:30:10.840687Z#1234567890123456789-DDB" }, - "type": { - "type": "string", - "description": "Type of the object returned.", - "default": "cursor-list" + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AuditEvent" + }, + "description": "Audit events list" } } }, - "BoardItemContentLogList": { - "type": "array", - "description": "Contains the list of content logs for a board item.", - "items": { - "$ref": "#/components/schemas/BoardItemContentLog" - } - }, - "BoardItemContentLog": { + "AuditEvent": { "type": "object", - "description": "Contains information about the content log of for a board item.", "properties": { "id": { "type": "string", - "description": "Unique identifier of the content log.", - "example": 1 - }, - "itemId": { - "type": "string", - "description": "Unique identifier of the board item.", - "example": "3458764549483493025" - }, - "type": { - "format": "string", - "description": "Type of the board item.", - "example": "sticker" - }, - "action": { - "type": "string", - "description": "User action in the form of insert, update, or delete.", - "example": "update" + "description": "Audit event id", + "example": "2023-09-01T09:30:10.840687Z#1234567890123456789-DDB" }, - "boardKey": { - "type": "string", - "description": "Unique identification of the board to which the item belongs.", - "example": "o9J_kzlUDmo=" + "context": { + "$ref": "#/components/schemas/AuditContext" }, - "hidden": { - "type": "boolean", - "description": "Indicates if the board is a hidden board. Returns `true` if board item is hidden.", - "example": true + "object": { + "$ref": "#/components/schemas/AuditObject" }, "createdAt": { "type": "string", + "description": "Time when the audit event has been created", "format": "date-time", - "example": "2023-06-24T17:32:28Z", - "description": "Date and time when the board item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n" + "example": "2023-09-01T09:30:10.840+0000" + }, + "details": { + "type": "object", + "description": "Details json related to the audit event", + "example": "{ \"authType\": \"SSO\", \"mfaFactorType\": \"NONE\" }" }, "createdBy": { - "$ref": "#/components/schemas/User" + "$ref": "#/components/schemas/AuditCreatedBy" }, - "modifiedAt": { + "event": { "type": "string", - "format": "date-time", - "example": "2023-06-24T17:32:28Z", - "description": "Date and time when the board item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n" + "description": "Event type of the audit event", + "example": "sign_in_succeeded" }, - "modifiedBy": { - "$ref": "#/components/schemas/User" + "category": { + "type": "string", + "description": "Event category of the audit event.", + "example": "authentication" + } + } + }, + "AuditContext": { + "type": "object", + "description": "Audit context", + "properties": { + "ip": { + "type": "string", + "description": "Ip address associated with the audit context", + "example": "0.0.0.0" }, - "logData": { - "$ref": "#/components/schemas/BoardContentLogData" + "team": { + "$ref": "#/components/schemas/AuditTeam" + }, + "organization": { + "$ref": "#/components/schemas/AuditOrganization" } } }, - "User": { + "AuditTeam": { "type": "object", - "description": "Contains user information.", + "description": "Team associated with the audit context", "properties": { "id": { "type": "string", - "description": "Unique identifier of the user.", - "example": "3458764517517852417" + "description": "Id of the team", + "example": "1234567890123456789" }, - "email": { + "name": { "type": "string", - "description": "Email of the user.", - "example": "john.smith.demo@miro.com" - }, - "firstName": { + "description": "Name of the team", + "example": "Example Team" + } + } + }, + "AuditOrganization": { + "type": "object", + "description": "Organization associated with the audit context", + "properties": { + "id": { "type": "string", - "description": "First name of the user.", - "example": "John" + "description": "Id of the organization", + "example": "1234567890123456789" }, - "lastName": { + "name": { "type": "string", - "description": "Last name of the user.", - "example": "Smith" + "description": "Name of the organization", + "example": "Example Organization" } } }, - "BoardContentLogData": { + "AuditObject": { "type": "object", - "description": "Content log object representing the current state of the board item at the `modifiedAt` time.", + "description": "The object related with the audit event", "properties": { - "text": { + "id": { "type": "string", - "description": "Text extracted from the board item.", - "example": "

data sample

" + "description": "Id of the object", + "example": "1234567890123456789" }, - "metadata": { - "type": "object", - "description": "Metadata representing more information that might be relevant for a specific board item.", - "additionalProperties": { - "type": "string" - } + "name": { + "type": "string", + "description": "Name of the object", + "example": "Example Object" } } }, - "BasicErrorOrganizationsEnterprisePlan": { + "AuditCreatedBy": { "type": "object", + "description": "The details regarding the creator of the audit event", "properties": { - "status": { - "type": "number", - "description": "HTTP status code." + "type": { + "type": "string", + "description": "Type of the creator", + "example": "user", + "enum": ["user", "application", "scim_provisioner", "miro_automation"] }, - "code": { + "id": { "type": "string", - "description": "Description of the status code." + "description": "Id of the creator", + "example": "1234567890123456789" }, - "message": { + "name": { "type": "string", - "description": "Explanation for the error" + "description": "Name of the creator", + "example": "John Smith" }, - "type": { + "email": { "type": "string", - "description": "Type of the object returned.", - "default": "error" + "description": "Email of the creator", + "example": "john.smith@miro.com" } } }, - "Organization": { - "required": ["fullLicensesPurchased", "id", "name", "plan"], + "BoardDataClassificationLabel": { "type": "object", "properties": { - "id": { + "color": { "type": "string", - "description": "Id of the organization", - "example": "3074457345821140946" + "description": "Label color.", + "example": "blue" }, - "fullLicensesPurchased": { - "type": "integer", - "description": "Purchased FULL licenses", - "format": "int32" + "description": { + "type": "string", + "description": "Label description.", + "example": "Board could not be shared publicly" }, - "name": { + "id": { "type": "string", - "description": "Name of the organization", - "example": "Miro company" + "description": "Label id.", + "example": "3000457366756290996" }, - "plan": { + "name": { "type": "string", - "description": "Organization plan type", - "example": "company", - "enum": [ - "company", - "consultant", - "consultant_slf", - "business", - "paid_team_org", - "integration_org", - "professional_2022", - "edu_team_org", - "free_team_org", - "dev_team_org", - "unknown" - ] + "description": "Label name.", + "example": "internal" + }, + "sharingRecommendation": { + "type": "string", + "description": "Sharing Recommendation (one of NO_SHARING_RESTRICTIONS, ONLY_WITHIN_ORGANIZATION, ONLY_WITHIN_TEAM or ONLY_WITH_AUTHORIZED_TEAM_MEMBERS ).", + "example": "NO_SHARING_RESTRICTIONS" + }, + "guidelineUrl": { + "type": "string", + "description": "Indicates the URL for the board classification label guidelines.", + "example": "https://miro.com" }, "type": { "type": "string", "description": "Type of the object returned.", - "default": "organization" + "default": "board-data-classification-label" } } }, - "OrganizationMember": { - "description": "Organization member", - "required": ["active", "email", "id", "license", "role"], + "DataClassificationLabel": { + "description": "Data classification label", "type": "object", "properties": { "id": { "type": "string", - "description": "Id of the user", - "example": "3074457345821140934" + "description": "Label id.", + "example": "3000457366756290996" }, - "active": { + "color": { + "type": "string", + "description": "Label color.", + "example": "#F5DC80" + }, + "default": { "type": "boolean", - "description": "Indicates if a user is active or deactivated. Learn more about user deactivation.", - "example": true + "description": "Label is default.", + "example": false }, - "email": { + "description": { "type": "string", - "description": "User email", - "example": "user@miro.com" + "description": "Label description.", + "example": "Board could not be shared publicly" }, - "lastActivityAt": { + "name": { "type": "string", - "description": "Date and time when the user was last active.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)). If the user never logged in, the parameter value is empty.\n", - "format": "date-time" + "description": "Label name.", + "example": "internal" }, - "license": { - "type": "string", - "description": "Name of the current user license in the organization", - "example": "full", - "enum": ["full", "occasional", "free", "free_restricted", "full_trial", "unknown"] + "orderNumber": { + "type": "integer", + "description": "Label order number.", + "format": "int32", + "example": 2 }, - "licenseAssignedAt": { + "sharingRecommendation": { "type": "string", - "description": "Time when the license was assigned to the user", - "format": "date-time" + "description": "Sharing Recommendation (one of NO_SHARING_RESTRICTIONS, ONLY_WITHIN_ORGANIZATION, ONLY_WITHIN_TEAM or ONLY_WITH_AUTHORIZED_TEAM_MEMBERS ).", + "example": "NO_SHARING_RESTRICTIONS" }, - "role": { + "guidelineUrl": { "type": "string", - "description": "Name of the user role in the organization", - "example": "organization_internal_user", - "enum": [ - "organization_internal_admin", - "organization_internal_user", - "organization_external_user", - "organization_team_guest_user", - "unknown" - ] + "description": "Indicates the URL for the board classification label guidelines.", + "example": "https://miro.com" }, "type": { "type": "string", "description": "Type of the object returned.", - "default": "organization-member" - }, - "adminRoles": { - "description": "List of admin roles assigned to the user", - "type": "array", - "items": { - "$ref": "#/components/schemas/AdminRole" - } + "default": "data-classification-label" } } }, - "OrganizationMembersSearchByEmailsResponse": { - "description": "Response for search organization members by user emails", - "type": "array", - "items": { - "$ref": "#/components/schemas/OrganizationMember" + "DataClassificationLabelId": { + "type": "object", + "properties": { + "labelId": { + "type": "string", + "description": "Data classification label id", + "example": "3000457366756290996" + } } }, - "OrganizationMembersSearchResponse": { + "DataClassificationOrganizationSettings": { "type": "object", - "description": "Response for query by cursor and filter parameters", "properties": { - "limit": { - "type": "integer", - "description": "Maximum number of results returned based on the limit specified in the request. For example, if there are 20 results, the request has no cursor value, and the limit is set to 20, the size of the results will be 20. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the cursor parameter value.", - "format": "int32", - "example": 20 - }, - "size": { - "type": "integer", - "description": "Number of results returned in the response considering the cursor and the limit values sent in the request. For example, if there are 20 results, the request does not have a cursor value, and the limit set to 10, the size of the results will be 10.", - "format": "int32", - "example": 1 + "enabled": { + "type": "boolean", + "description": "Data classification enabled for organization", + "example": true }, - "data": { + "labels": { "type": "array", + "description": "Data classification labels", "items": { - "$ref": "#/components/schemas/OrganizationMember" + "$ref": "#/components/schemas/DataClassificationLabel" } }, - "cursor": { - "type": "string", - "description": "Indicator of the position of the next page of the result. To retrieve the next page, make another query setting its cursor field to the value returned by the current query. If the value is empty, there are no more pages to fetch.", - "example": "3074457345821140946" - }, "type": { "type": "string", "description": "Type of the object returned.", - "default": "cursor-list" + "default": "data-classification-organization-settings" } } }, - "AdminRole": { + "DataClassificationTeamSettings": { "type": "object", "properties": { - "type": { + "defaultLabelId": { "type": "string", - "description": "Type of the admin role prebuilt or custom", - "example": "prebuilt", - "enum": ["prebuilt", "custom"] + "description": "Data classification default label id", + "example": "3000457366756290996" }, - "name": { + "enabled": { + "type": "boolean", + "description": "Data classification enabled for team", + "example": true + }, + "type": { "type": "string", - "description": "Name of the admin role", - "example": "User Admin" + "description": "Type of the object returned.", + "default": "team-data-classification-settings" } } }, - "AppCardCreateRequest": { + "UpdateBoardsDataClassificationLabel": { "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/AppCardDataChanges" - }, - "style": { - "$ref": "#/components/schemas/AppCardStyle" - }, - "position": { - "$ref": "#/components/schemas/PositionChange" - }, - "geometry": { - "$ref": "#/components/schemas/Geometry" + "numberUpdatedBoards": { + "type": "integer", + "description": "Number of boards updated in the team", + "format": "int64", + "example": 10 }, - "parent": { - "$ref": "#/components/schemas/Parent" + "type": { + "type": "string", + "description": "Type of the object returned.", + "default": "boards-data-classification-label-changed" } } }, - "AppCardDataChanges": { + "UpdateBoardsDataClassificationLabelRequest": { "type": "object", - "description": "Contains app card item data, such as the title, description, or fields.", "properties": { - "description": { - "type": "string", - "description": "A short text description to add context about the app card.", - "example": "Sample app card description" + "labelId": { + "type": "integer", + "description": "Data classification label id for team", + "format": "int64", + "example": 3000457366756291000 }, - "fields": { - "type": "array", - "description": "Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.", - "items": { - "$ref": "#/components/schemas/CustomField" - } + "notClassifiedOnly": { + "type": "boolean", + "description": "Assign data classification label to not-classified only or to all boards of team", + "example": true + } + } + }, + "UpdateTeamSettingsRequest": { + "type": "object", + "properties": { + "defaultLabelId": { + "type": "integer", + "description": "Data classification default label id", + "format": "int64", + "example": 3000457366756291000 }, - "status": { + "enabled": { + "type": "boolean", + "description": "Data classification enabled for team", + "example": true + } + } + }, + "BoardExportJobId": { + "required": ["jobId"], + "type": "object", + "properties": { + "jobId": { "type": "string", - "default": "disconnected", - "description": "Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns `disabled`.", - "enum": ["disconnected", "connected", "disabled"] - }, - "title": { + "description": "Unique identifier of the board export job.", + "format": "uuid", + "example": "92343229-c532-446d-b8cb-2f155bedb807" + } + } + }, + "BoardExportJobStatus": { + "required": ["jobStatus"], + "type": "object", + "properties": { + "jobStatus": { "type": "string", - "default": "sample app card item", - "description": "A short text header to identify the app card." + "description": "Indicates the current state of the board export job.\nPossible values:\n`CREATED`: the job has been created but not yet started. Retry the status call after some time.\n`IN_PROGRESS`: the job is in progress, and the results are not ready yet. Retry the status call after some time.\n`FINISHED`: the job is complete. You can now get results for the board export job.", + "example": "CREATED" } } }, - "AppCardItem": { + "BoardExportResult": { "type": "object", "properties": { - "id": { + "jobId": { "type": "string", - "description": "Unique identifier (ID) of an item.", - "example": "3458764517517819000" - }, - "data": { - "$ref": "#/components/schemas/AppCardData" - }, - "style": { - "$ref": "#/components/schemas/AppCardStyle" - }, - "position": { - "$ref": "#/components/schemas/Position" - }, - "geometry": { - "$ref": "#/components/schemas/Geometry" + "description": "Unique identifier of the board export job.", + "format": "uuid", + "example": "92343229-c532-446d-b8cb-2f155bedb807" }, - "createdAt": { + "results": { + "type": "array", + "description": "Board export task results.", + "items": { + "$ref": "#/components/schemas/BoardExportTaskResult" + } + } + } + }, + "BoardExportTaskResult": { + "required": ["boardId", "status"], + "type": "object", + "properties": { + "boardId": { "type": "string", - "format": "date-time", - "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" - }, - "createdBy": { - "$ref": "#/components/schemas/createdBy" + "description": "Unique identifier of the board.", + "example": "o9J_kzlUDmo=" }, - "modifiedAt": { + "errorMessage": { "type": "string", - "format": "date-time", - "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" - }, - "modifiedBy": { - "$ref": "#/components/schemas/modifiedBy" - }, - "parent": { - "$ref": "#/components/schemas/ParentLinksEnvelope" + "description": "Contains the description of the error that occurred during a board export task." }, - "links": { - "$ref": "#/components/schemas/WidgetLinks" + "exportLink": { + "type": "string", + "description": "URL of the S3 bucket that contains the exported files." }, - "type": { + "status": { "type": "string", - "description": "Type of item that is returned.", - "example": "app_card" + "description": "Indicates the status of the individual board export task.\nPossible values:\n`SUCCESS`: the board export task was completed successfully and the results are available.\n`ERROR`: the board export task encountered an error and failed to complete. The `errorMessage` field provides more information on the error.", + "example": "CREATED" } }, - "required": ["id", "type"] + "description": "Board export task results." }, - "UpdateAppCardStyle": { + "CreateBoardExportRequest": { "type": "object", - "description": "Contains information about the style of an app card item, such as the fill color.", "properties": { - "fillColor": { - "type": "string", - "description": "Hex value of the border color of the app card.", - "example": "#2d9bf0" + "boardIds": { + "maxItems": 50, + "minItems": 1, + "type": "array", + "description": "List of board IDs to be exported.", + "example": "o9J_kzlUDmo=", + "items": { + "type": "string", + "description": "List of board IDs to be exported.", + "example": "o9J_kzlUDmo=" + } } - } + }, + "description": "List of board IDs to be exported." }, - "AppCardUpdateRequest": { + "GetBoardItemContentLogsResponse": { "type": "object", + "description": "Response for query using cursor and filter parameters.", "properties": { - "data": { - "$ref": "#/components/schemas/AppCardDataChanges" + "limit": { + "type": "integer", + "description": "The maximum number of results to return per call. If the number of logs in the response is\ngreater than the limit specified, the response returns the cursor parameter with a value.\n", + "format": "int32", + "example": 20 }, - "style": { - "$ref": "#/components/schemas/UpdateAppCardStyle" + "size": { + "type": "integer", + "description": "Number of results returned in the response considering the cursor and the limit values sent in the request. For example, if there are 20 results, the request does not have a cursor value, and the limit set to 10, the size of the results will be 10. In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection.\n", + "format": "int32", + "example": 1 }, - "position": { - "$ref": "#/components/schemas/PositionChange" + "data": { + "$ref": "#/components/schemas/BoardItemContentLogList" }, - "geometry": { - "$ref": "#/components/schemas/Geometry" + "cursor": { + "type": "string", + "description": "Indicator of the position of the next page of the result. To retrieve the next page, make another query setting its cursor field to the value returned by the current query. If the value is empty, there are no more pages to fetch.\n", + "example": "MTY2OTg4NTIwMDAwMHwxMjM=" }, - "parent": { - "$ref": "#/components/schemas/Parent" + "type": { + "type": "string", + "description": "Type of the object returned.", + "default": "cursor-list" } } }, - "Board": { + "BoardItemContentLogList": { + "type": "array", + "description": "Contains the list of content logs for a board item.", + "items": { + "$ref": "#/components/schemas/BoardItemContentLog" + } + }, + "BoardItemContentLog": { "type": "object", - "description": "Contains the result data.", + "description": "Contains information about the content log of for a board item.", "properties": { - "createdAt": { + "id": { "type": "string", - "format": "date-time", - "description": "Date and time when the board was created. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." + "description": "Unique identifier of the content log.", + "example": 1 }, - "createdBy": { - "$ref": "#/components/schemas/UserInfoShort" + "itemId": { + "type": "string", + "description": "Unique identifier of the board item.", + "example": "3458764549483493025" }, - "currentUserMembership": { - "$ref": "#/components/schemas/BoardMember" + "type": { + "format": "string", + "description": "Type of the board item.", + "example": "sticker" }, - "description": { + "action": { "type": "string", - "description": "Description of the board.", - "example": "Sample board description" + "description": "User action in the form of insert, update, or delete.", + "example": "update" }, - "id": { + "boardKey": { "type": "string", - "description": "Unique identifier (ID) of the board.", - "example": "uXjVOD6LSME=" + "description": "Unique identification of the board to which the item belongs.", + "example": "o9J_kzlUDmo=" }, - "lastOpenedAt": { + "hidden": { + "type": "boolean", + "description": "Indicates if the board is a hidden board. Returns `true` if board item is hidden.", + "example": true + }, + "createdAt": { "type": "string", "format": "date-time", - "description": "Date and time when the board was last opened by any user. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." + "example": "2023-06-24T17:32:28Z", + "description": "Date and time when the board item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n" }, - "lastOpenedBy": { - "$ref": "#/components/schemas/UserInfoLastOpenedBy" + "createdBy": { + "$ref": "#/components/schemas/User" }, "modifiedAt": { "type": "string", "format": "date-time", - "description": "Date and time when the board was last modified. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." + "example": "2023-06-24T17:32:28Z", + "description": "Date and time when the board item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).\n" }, "modifiedBy": { - "$ref": "#/components/schemas/UserInfoShort" - }, - "name": { - "type": "string", - "description": "Name of the board.", - "example": "Sample board name" - }, - "owner": { - "$ref": "#/components/schemas/UserInfoShort" - }, - "picture": { - "$ref": "#/components/schemas/Picture" - }, - "policy": { - "$ref": "#/components/schemas/BoardPolicy" - }, - "team": { - "$ref": "#/components/schemas/Team" - }, - "project": { - "$ref": "#/components/schemas/BoardProject" - }, - "type": { - "type": "string", - "description": "Type of the object that is returned. In this case, type returns `board`.", - "example": "board" + "$ref": "#/components/schemas/User" }, - "viewLink": { - "type": "string", - "description": "URL to view the board.", - "example": "https://miro.com/app/board/uXjVOD6LSME=" + "logData": { + "$ref": "#/components/schemas/BoardContentLogData" } - }, - "required": ["description", "id", "name", "type"] + } }, - "BoardChanges": { + "User": { "type": "object", + "description": "Contains user information.", "properties": { - "description": { + "id": { "type": "string", - "description": "Description of the board.", - "maxLength": 300, - "minLength": 0 + "description": "Unique identifier of the user.", + "example": "3458764517517852417" }, - "name": { + "email": { "type": "string", - "default": "Untitled", - "description": "Name for the board.", - "maxLength": 60, - "minLength": 1 - }, - "policy": { - "$ref": "#/components/schemas/BoardPolicyChange" + "description": "Email of the user.", + "example": "john.smith.demo@miro.com" }, - "teamId": { + "firstName": { "type": "string", - "description": "Unique identifier (ID) of the team where the board must be placed." + "description": "First name of the user.", + "example": "John" }, - "projectId": { + "lastName": { "type": "string", - "description": "Unique identifier (ID) of the project to which the board must be added." + "description": "Last name of the user.", + "example": "Smith" } } }, - "CopyBoardChanges": { + "BoardContentLogData": { "type": "object", + "description": "Content log object representing the current state of the board item at the `modifiedAt` time.", "properties": { - "description": { - "type": "string", - "description": "Description of the board.", - "maxLength": 300, - "minLength": 0 - }, - "name": { + "text": { "type": "string", - "default": "Untitled", - "description": "Name for the board.", - "maxLength": 60, - "minLength": 1 - }, - "policy": { - "$ref": "#/components/schemas/BoardPolicyChange" + "description": "Text extracted from the board item.", + "example": "

data sample

" }, - "teamId": { - "type": "string", - "description": "Unique identifier (ID) of the team where the board must be placed." + "metadata": { + "type": "object", + "description": "Metadata representing more information that might be relevant for a specific board item.", + "additionalProperties": { + "type": "string" + } } } }, - "BoardLinks": { + "BasicErrorOrganizationsEnterprisePlan": { "type": "object", - "description": "Contains applicable links for the board.", "properties": { - "related": { + "status": { + "type": "number", + "description": "HTTP status code." + }, + "code": { "type": "string", - "description": "Link to obtain information about the board members associated with the board.", - "example": "http://api.miro.com/v2/boards/o9J_k1JKioQ=/members?limit=20&offset=0" + "description": "Description of the status code." }, - "self": { + "message": { "type": "string", - "description": "Link to obtain information about the current board.", - "example": "http://api.miro.com/v2/boards/o9J_k1JKioQ=" + "description": "Explanation for the error" + }, + "type": { + "type": "string", + "description": "Type of the object returned.", + "default": "error" } } }, - "BoardMember": { + "Organization": { + "required": ["fullLicensesPurchased", "id", "name", "plan"], "type": "object", - "description": "Contains the current user's board membership details. The current user could be different from the board owner.", "properties": { "id": { "type": "string", - "description": "Unique identifier (ID) of the user.", - "example": "3074457353169356300" + "description": "Id of the organization", + "example": "3074457345821140946" + }, + "fullLicensesPurchased": { + "type": "integer", + "description": "Purchased FULL licenses", + "format": "int32" }, "name": { "type": "string", - "description": "Name of the user.", - "example": "John Smith" + "description": "Name of the organization", + "example": "Miro company" }, - "role": { + "plan": { "type": "string", - "description": "Role of the board member.", - "enum": ["viewer", "commenter", "editor", "coowner", "owner"] + "description": "Organization plan type", + "example": "company", + "enum": [ + "company", + "consultant", + "consultant_slf", + "business", + "paid_team_org", + "integration_org", + "professional_2022", + "edu_team_org", + "free_team_org", + "dev_team_org", + "unknown" + ] }, "type": { "type": "string", - "description": "Type of the object that is returned. In this case, `type` returns `board_member`.", - "example": "board_member" - } - }, - "required": ["id", "name", "type"] - }, - "BoardMemberChanges": { - "type": "object", - "properties": { - "role": { - "type": "string", - "default": "commenter", - "description": "Role of the board member.", - "enum": ["viewer", "commenter", "editor", "coowner", "owner"] + "description": "Type of the object returned.", + "default": "organization" } } }, - "BoardMemberWithLinks": { + "OrganizationMember": { + "description": "Organization member", + "required": ["active", "email", "id", "license", "role"], "type": "object", "properties": { "id": { "type": "string", - "description": "Unique identifier (ID) of the user.", - "example": "3074457353169356300" + "description": "Id of the user", + "example": "3074457345821140934" }, - "name": { + "active": { + "type": "boolean", + "description": "Indicates if a user is active or deactivated. Learn more about user deactivation.", + "example": true + }, + "email": { "type": "string", - "description": "Name of the user.", - "example": "John Smith" + "description": "User email", + "example": "user@miro.com" }, - "role": { + "lastActivityAt": { "type": "string", - "description": "Role of the board member.", - "enum": ["viewer", "commenter", "editor", "coowner", "owner"] + "description": "Date and time when the user was last active.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)). If the user never logged in, the parameter value is empty.\n", + "format": "date-time" }, - "links": { - "$ref": "#/components/schemas/SelfLink" + "license": { + "type": "string", + "description": "Name of the current user license in the organization", + "example": "full", + "enum": ["full", "occasional", "free", "free_restricted", "full_trial", "unknown"] }, - "type": { + "licenseAssignedAt": { "type": "string", - "description": "Type of the object that is returned. In this case, `type` returns `board_member`.", - "example": "board_member" - } - }, - "required": ["id", "name", "type"] - }, - "BoardMembersInvite": { - "type": "object", - "properties": { - "emails": { - "type": "array", - "description": "Email IDs of the users you want to invite to the board. You can invite up to 20 members per call.", - "items": { - "type": "string", - "example": "member@email.com", - "description": "Email IDs of the users you want to invite to the board. You can invite up to 20 members per call." - }, - "maxItems": 20, - "minItems": 1 + "description": "Time when the license was assigned to the user", + "format": "date-time" }, "role": { "type": "string", - "default": "commenter", - "description": "Role of the board member. Inviting users with the role `owner` has the same effect as the role `coowner`.", - "enum": ["viewer", "commenter", "editor", "coowner", "owner"] + "description": "Name of the user role in the organization", + "example": "organization_internal_user", + "enum": [ + "organization_internal_admin", + "organization_internal_user", + "organization_external_user", + "organization_team_guest_user", + "unknown" + ] }, - "message": { + "type": { "type": "string", - "description": "The message that will be sent in the invitation email.", - "example": "Hey there! Join my board and let's collaborate on this project!" + "description": "Type of the object returned.", + "default": "organization-member" + }, + "adminRoles": { + "description": "List of admin roles assigned to the user", + "type": "array", + "items": { + "$ref": "#/components/schemas/AdminRole" + } } - }, - "required": ["emails"] + } }, - "BoardMembersPagedResponse": { + "OrganizationMembersSearchByEmailsResponse": { + "description": "Response for search organization members by user emails", + "type": "array", + "items": { + "$ref": "#/components/schemas/OrganizationMember" + } + }, + "OrganizationMembersSearchResponse": { "type": "object", + "description": "Response for query by cursor and filter parameters", "properties": { - "data": { - "type": "array", - "description": "Contains the result data.", - "items": { - "$ref": "#/components/schemas/BoardMember" - } - }, - "total": { + "limit": { "type": "integer", - "format": "int64", - "description": "Total number of results available. If the value of the `total` parameter is higher than the value of the `size` parameter, this means that there are more results that you can retrieve. To retrieve more results, you can make another request and set the `offset` value accordingly. For example, if there are `30` results, and the request has the `offset` set to `0` and the `limit` set to `20`, the `size` parameter will return `20` and the `total` parameter will return `30`. This means that there are 9 more results to retrieve (as the offset is zero-based).", - "example": 1 + "description": "Maximum number of results returned based on the limit specified in the request. For example, if there are 20 results, the request has no cursor value, and the limit is set to 20, the size of the results will be 20. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the cursor parameter value.", + "format": "int32", + "example": 20 }, "size": { "type": "integer", + "description": "Number of results returned in the response considering the cursor and the limit values sent in the request. For example, if there are 20 results, the request does not have a cursor value, and the limit set to 10, the size of the results will be 10.", "format": "int32", - "description": "Number of results returned in the response. The `size` is the number of results returned considering the `offset` and the `limit` values sent in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`.
If there are `10` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `10`.
If there are `30` results, and the request has the offset set to `28` and the `limit` set to `20`, the `size` of the results will be `2` as the `offset` is the zero-based offset of the first item in the collection.", "example": 1 }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Zero-based index of the first item in the collection. For example, If there are `30` results, and the request has the offset set to `28`, the response will return `2` results.", - "example": 0 - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the offset parameter. In this example, you will set the offset parameter to 20 as the offset is zero-based.\n", - "example": 20 + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrganizationMember" + } }, - "links": { - "$ref": "#/components/schemas/PageLinks" + "cursor": { + "type": "string", + "description": "Indicator of the position of the next page of the result. To retrieve the next page, make another query setting its cursor field to the value returned by the current query. If the value is empty, there are no more pages to fetch.", + "example": "3074457345821140946" }, "type": { - "type": "string" + "type": "string", + "description": "Type of the object returned.", + "default": "cursor-list" } } }, - "BoardPermissionsPolicy": { + "AdminRole": { "type": "object", - "description": "Defines the permissions policies for the board.", "properties": { - "collaborationToolsStartAccess": { - "type": "string", - "default": "all_editors", - "description": "Defines who can start or stop timer, voting, video chat, screen sharing, attention management. Others will only be able to join. To change the value for the `collaborationToolsStartAccess` parameter, contact Miro Customer Support.", - "enum": ["all_editors", "board_owners_and_coowners"] - }, - "copyAccess": { + "type": { "type": "string", - "default": "anyone", - "description": "Defines who can copy the board, copy objects, download images, and save the board as a template or PDF.", - "enum": ["anyone", "team_members", "team_editors", "board_owner"] + "description": "Type of the admin role prebuilt or custom", + "example": "prebuilt", + "enum": ["prebuilt", "custom"] }, - "sharingAccess": { + "name": { "type": "string", - "default": "team_members_with_editing_rights", - "description": "Defines who can change access and invite users to this board. To change the value for the `sharingAccess` parameter, contact Miro Customer Support.", - "enum": ["team_members_with_editing_rights", "owner_and_coowners"] - } - } - }, - "BoardPolicy": { - "type": "object", - "description": "Defines the permissions policies and sharing policies for the board.", - "properties": { - "permissionsPolicy": { - "$ref": "#/components/schemas/BoardPermissionsPolicy" - }, - "sharingPolicy": { - "$ref": "#/components/schemas/BoardSharingPolicy" - } - } - }, - "BoardPolicyChange": { - "type": "object", - "description": "Defines the permissions policies and sharing policies for the board.", - "properties": { - "permissionsPolicy": { - "$ref": "#/components/schemas/BoardPermissionsPolicy" - }, - "sharingPolicy": { - "$ref": "#/components/schemas/BoardSharingPolicyChange" + "description": "Name of the admin role", + "example": "User Admin" } } }, - "BoardSharingPolicy": { + "AppCardCreateRequest": { "type": "object", - "description": "Defines the public-level, organization-level, and team-level access for the board. The access level that a user gets depends on the highest level of access that results from considering the public-level, team-level, organization-level, and direct sharing access.", "properties": { - "access": { - "type": "string", - "description": "Defines the public-level access to the board.", - "enum": ["private", "view", "edit", "comment"] + "data": { + "$ref": "#/components/schemas/AppCardDataChanges" }, - "inviteToAccountAndBoardLinkAccess": { - "type": "string", - "default": "no_access", - "description": "Defines the user role when inviting a user via the invite to team and board link. For Enterprise users, the `inviteToAccountAndBoardLinkAccess` parameter is always set to `no_access`.", - "enum": ["viewer", "commenter", "editor", "coowner", "owner", "guest", "no_access"] + "style": { + "$ref": "#/components/schemas/AppCardStyle" }, - "organizationAccess": { - "type": "string", - "default": "private", - "description": "Defines the organization-level access to the board. If the board is created for a team that does not belong to an organization, the `organizationAccess` parameter is always set to the default value.", - "enum": ["private", "view", "comment", "edit"] + "position": { + "$ref": "#/components/schemas/PositionChange" }, - "teamAccess": { - "type": "string", - "description": "Defines the team-level access to the board.", - "enum": ["private", "view", "comment", "edit"] + "geometry": { + "$ref": "#/components/schemas/Geometry" + }, + "parent": { + "$ref": "#/components/schemas/Parent" } } }, - "BoardSharingPolicyChange": { + "AppCardDataChanges": { "type": "object", - "description": "Defines the public-level, organization-level, and team-level access for the board. The access level that a user gets depends on the highest level of access that results from considering the public-level, team-level, organization-level, and direct sharing access.", + "description": "Contains app card item data, such as the title, description, or fields.", "properties": { - "access": { + "description": { "type": "string", - "default": "private", - "description": "Defines the public-level access to the board.", - "enum": ["private", "view", "edit", "comment"] + "description": "A short text description to add context about the app card.", + "example": "Sample app card description" }, - "inviteToAccountAndBoardLinkAccess": { - "type": "string", - "default": "no_access", - "description": "Defines the user role when inviting a user via the invite to team and board link. For Enterprise users, the `inviteToAccountAndBoardLinkAccess` parameter is always set to `no_access` regardless of the value that you assign for this parameter.", - "enum": ["viewer", "commenter", "editor", "no_access"] + "fields": { + "type": "array", + "description": "Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.", + "items": { + "$ref": "#/components/schemas/CustomField" + } }, - "organizationAccess": { + "status": { "type": "string", - "default": "private", - "description": "Defines the organization-level access to the board. If the board is created for a team that does not belong to an organization, the `organizationAccess` parameter is always set to the default value.", - "enum": ["private", "view", "comment", "edit"] + "default": "disconnected", + "description": "Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns `disabled`.", + "enum": ["disconnected", "connected", "disabled"] }, - "teamAccess": { + "title": { "type": "string", - "description": "Defines the team-level access to the board. By default, **edit** for the free plan and **private** for other plans.", - "enum": ["private", "view", "comment", "edit"] + "default": "sample app card item", + "description": "A short text header to identify the app card." } } }, - "BoardWithLinks": { + "AppCardItem": { "type": "object", "properties": { "id": { "type": "string", - "description": "Unique identifier (ID) of the board.", - "example": "uXjVOD6LSME=" - }, - "name": { - "type": "string", - "description": "Name of the board.", - "example": "Sample board name" - }, - "description": { - "type": "string", - "description": "Description of the board.", - "example": "Sample board description" - }, - "team": { - "$ref": "#/components/schemas/Team" - }, - "project": { - "$ref": "#/components/schemas/BoardProject" - }, - "picture": { - "$ref": "#/components/schemas/Picture" + "description": "Unique identifier (ID) of an item.", + "example": "3458764517517819000" }, - "policy": { - "$ref": "#/components/schemas/BoardPolicy" + "data": { + "$ref": "#/components/schemas/AppCardData" }, - "viewLink": { - "type": "string", - "description": "URL to view the board.", - "example": "https://miro.com/app/board/uXjVOD6LSME=" + "style": { + "$ref": "#/components/schemas/AppCardStyle" }, - "owner": { - "$ref": "#/components/schemas/UserInfoShort" + "position": { + "$ref": "#/components/schemas/Position" }, - "currentUserMembership": { - "$ref": "#/components/schemas/BoardMember" + "geometry": { + "$ref": "#/components/schemas/Geometry" }, "createdAt": { "type": "string", "format": "date-time", - "description": "Date and time when the board was created. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." + "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" }, "createdBy": { - "$ref": "#/components/schemas/UserInfoShort" + "$ref": "#/components/schemas/createdBy" }, "modifiedAt": { "type": "string", "format": "date-time", - "description": "Date and time when the board was last modified. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." + "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" }, "modifiedBy": { - "$ref": "#/components/schemas/UserInfoShort" + "$ref": "#/components/schemas/modifiedBy" + }, + "parent": { + "$ref": "#/components/schemas/ParentLinksEnvelope" }, "links": { - "$ref": "#/components/schemas/BoardLinks" + "$ref": "#/components/schemas/WidgetLinks" }, "type": { "type": "string", - "description": "Type of the object that is returned. In this case, type returns `board`.", - "example": "board" + "description": "Type of item that is returned.", + "example": "app_card" } }, - "required": ["description", "id", "name", "type"] + "required": ["id", "type"] }, - "BoardWithLinksAndLastOpened": { + "UpdateAppCardStyle": { "type": "object", + "description": "Contains information about the style of an app card item, such as the fill color.", "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of the board.", - "example": "uXjVOD6LSME=" - }, - "name": { - "type": "string", - "description": "Name of the board.", - "example": "Sample board name" - }, - "description": { + "fillColor": { "type": "string", - "description": "Description of the board.", - "example": "Sample board description" - }, - "team": { - "$ref": "#/components/schemas/Team" - }, - "project": { - "$ref": "#/components/schemas/BoardProject" - }, - "picture": { - "$ref": "#/components/schemas/Picture" - }, - "policy": { - "$ref": "#/components/schemas/BoardPolicy" + "description": "Hex value of the border color of the app card.", + "example": "#2d9bf0" + } + } + }, + "AppCardUpdateRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AppCardDataChanges" }, - "viewLink": { - "type": "string", - "description": "URL to view the board.", - "example": "https://miro.com/app/board/uXjVOD6LSME=" + "style": { + "$ref": "#/components/schemas/UpdateAppCardStyle" }, - "owner": { - "$ref": "#/components/schemas/UserInfoShort" + "position": { + "$ref": "#/components/schemas/PositionChange" }, - "currentUserMembership": { - "$ref": "#/components/schemas/BoardMember" + "geometry": { + "$ref": "#/components/schemas/Geometry" }, + "parent": { + "$ref": "#/components/schemas/Parent" + } + } + }, + "Board": { + "type": "object", + "description": "Contains the result data.", + "properties": { "createdAt": { "type": "string", "format": "date-time", @@ -17909,78 +12868,26 @@ "createdBy": { "$ref": "#/components/schemas/UserInfoShort" }, - "lastOpenedAt": { - "type": "string", - "format": "date-time", - "description": "Date and time when the board was last opened by any user. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." - }, - "lastOpenedBy": { - "$ref": "#/components/schemas/GetBoardUserInfoLastOpenedBy" - }, - "modifiedAt": { - "type": "string", - "format": "date-time", - "description": "Date and time when the board was last modified. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." - }, - "modifiedBy": { - "$ref": "#/components/schemas/UserInfoShort" - }, - "links": { - "$ref": "#/components/schemas/BoardLinks" - }, - "type": { - "type": "string", - "description": "Type of the object that is returned. In this case, type returns `board`.", - "example": "board" - } - }, - "required": ["description", "id", "name", "type"] - }, - "BoardWithLinksAndWithoutProject": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of the board.", - "example": "uXjVOD6LSME=" - }, - "name": { - "type": "string", - "description": "Name of the board.", - "example": "Sample board name" + "currentUserMembership": { + "$ref": "#/components/schemas/BoardMember" }, "description": { "type": "string", "description": "Description of the board.", "example": "Sample board description" }, - "team": { - "$ref": "#/components/schemas/Team" - }, - "picture": { - "$ref": "#/components/schemas/Picture" - }, - "policy": { - "$ref": "#/components/schemas/BoardPolicy" - }, - "viewLink": { - "type": "string", - "description": "URL to view the board.", - "example": "https://miro.com/app/board/uXjVOD6LSME=" - }, - "owner": { - "$ref": "#/components/schemas/UserInfoShort" - }, - "currentUserMembership": { - "$ref": "#/components/schemas/BoardMember" + "id": { + "type": "string", + "description": "Unique identifier (ID) of the board.", + "example": "uXjVOD6LSME=" }, - "createdAt": { + "lastOpenedAt": { "type": "string", "format": "date-time", - "description": "Date and time when the board was created. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." + "description": "Date and time when the board was last opened by any user. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." }, - "createdBy": { - "$ref": "#/components/schemas/UserInfoShort" + "lastOpenedBy": { + "$ref": "#/components/schemas/UserInfoLastOpenedBy" }, "modifiedAt": { "type": "string", @@ -17990,583 +12897,647 @@ "modifiedBy": { "$ref": "#/components/schemas/UserInfoShort" }, - "links": { - "$ref": "#/components/schemas/BoardLinks" + "name": { + "type": "string", + "description": "Name of the board.", + "example": "Sample board name" + }, + "owner": { + "$ref": "#/components/schemas/UserInfoShort" + }, + "picture": { + "$ref": "#/components/schemas/Picture" + }, + "policy": { + "$ref": "#/components/schemas/BoardPolicy" + }, + "team": { + "$ref": "#/components/schemas/Team" + }, + "project": { + "$ref": "#/components/schemas/BoardProject" }, "type": { "type": "string", "description": "Type of the object that is returned. In this case, type returns `board`.", "example": "board" + }, + "viewLink": { + "type": "string", + "description": "URL to view the board.", + "example": "https://miro.com/app/board/uXjVOD6LSME=" } }, "required": ["description", "id", "name", "type"] }, - "BoardsPagedResponse": { + "BoardChanges": { "type": "object", "properties": { - "data": { - "type": "array", - "description": "Contains the result data.", - "items": { - "$ref": "#/components/schemas/Board" - } - }, - "total": { - "type": "integer", - "format": "int64", - "description": "Total number of results available. If the value of the `total` parameter is higher than the value of the `size` parameter, this means that there are more results that you can retrieve. To retrieve more results, you can make another request and set the `offset` value accordingly. For example, if there are `30` results, and the request has the `offset` set to `0` and the `limit` set to `20`, the `size` parameter will return `20` and the `total` parameter will return `30`. This means that there are 9 more results to retrieve (as the offset is zero-based).", - "example": 1 - }, - "size": { - "type": "integer", - "format": "int32", - "description": "Number of results returned in the response. The `size` is the number of results returned considering the `offset` and the `limit` values sent in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`.
If there are `10` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `10`.
If there are `30` results, and the request has the offset set to `28` and the `limit` set to `20`, the `size` of the results will be `2` as the `offset` is the zero-based offset of the first item in the collection.", - "example": 1 + "description": { + "type": "string", + "description": "Description of the board.", + "maxLength": 300, + "minLength": 0 }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Zero-based index of the first item in the collection. For example, If there are `30` results, and the request has the offset set to `28`, the response will return `2` results.", - "example": 0 + "name": { + "type": "string", + "default": "Untitled", + "description": "Name for the board.", + "maxLength": 60, + "minLength": 1 }, - "limit": { - "type": "integer", - "format": "int32", - "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the offset parameter. In this example, you will set the offset parameter to 20 as the offset is zero-based.\n", - "example": 20 + "policy": { + "$ref": "#/components/schemas/BoardPolicyChange" }, - "links": { - "$ref": "#/components/schemas/PageLinks" + "teamId": { + "type": "string", + "description": "Unique identifier (ID) of the team where the board must be placed." }, - "type": { - "type": "string" + "projectId": { + "type": "string", + "description": "Unique identifier (ID) of the project to which the board must be added." } } }, - "Caption": { + "CopyBoardChanges": { "type": "object", - "description": "Contains the connector's caption data, such as content and its position.", "properties": { - "content": { + "description": { "type": "string", - "description": "The text you want to display on the connector. Supports inline HTML tags.", - "example": "

Caption text

", - "maxLength": 200, + "description": "Description of the board.", + "maxLength": 300, "minLength": 0 }, - "position": { + "name": { "type": "string", - "description": "The relative position of the text on the connector, in percentage, minimum 0%, maximum 100%. With 50% value, the text will be placed in the middle of the connector line. Default: 50%", - "example": "50%" + "default": "Untitled", + "description": "Name for the board.", + "maxLength": 60, + "minLength": 1 }, - "textAlignVertical": { + "policy": { + "$ref": "#/components/schemas/BoardPolicyChange" + }, + "teamId": { "type": "string", - "description": "The vertical position of the text on the connector. Default: middle", - "enum": ["top", "middle", "bottom"] + "description": "Unique identifier (ID) of the team where the board must be placed." } - }, - "required": ["content"] + } }, - "CardCreateRequest": { + "BoardLinks": { "type": "object", + "description": "Contains applicable links for the board.", "properties": { - "data": { - "$ref": "#/components/schemas/CardData" + "related": { + "type": "string", + "description": "Link to obtain information about the board members associated with the board.", + "example": "http://api.miro.com/v2/boards/o9J_k1JKioQ=/members?limit=20&offset=0" }, - "style": { - "$ref": "#/components/schemas/CardStyle" + "self": { + "type": "string", + "description": "Link to obtain information about the current board.", + "example": "http://api.miro.com/v2/boards/o9J_k1JKioQ=" + } + } + }, + "BoardMember": { + "type": "object", + "description": "Contains the current user's board membership details. The current user could be different from the board owner.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier (ID) of the user.", + "example": "3074457353169356300" }, - "position": { - "$ref": "#/components/schemas/PositionChange" + "name": { + "type": "string", + "description": "Name of the user.", + "example": "John Smith" }, - "geometry": { - "$ref": "#/components/schemas/Geometry" + "role": { + "type": "string", + "description": "Role of the board member.", + "enum": ["viewer", "commenter", "editor", "coowner", "owner"] }, - "parent": { - "$ref": "#/components/schemas/Parent" + "type": { + "type": "string", + "description": "Type of the object that is returned. In this case, `type` returns `board_member`.", + "example": "board_member" + } + }, + "required": ["id", "name", "type"] + }, + "BoardMemberChanges": { + "type": "object", + "properties": { + "role": { + "type": "string", + "default": "commenter", + "description": "Role of the board member.", + "enum": ["viewer", "commenter", "editor", "coowner", "owner"] } } }, - "CardItem": { + "BoardMemberWithLinks": { "type": "object", "properties": { "id": { "type": "string", - "description": "Unique identifier (ID) of an item.", - "example": "3458764517517819000" - }, - "data": { - "$ref": "#/components/schemas/CardData" + "description": "Unique identifier (ID) of the user.", + "example": "3074457353169356300" }, - "style": { - "$ref": "#/components/schemas/CardStyle" + "name": { + "type": "string", + "description": "Name of the user.", + "example": "John Smith" }, - "position": { - "$ref": "#/components/schemas/Position" + "role": { + "type": "string", + "description": "Role of the board member.", + "enum": ["viewer", "commenter", "editor", "coowner", "owner"] }, - "geometry": { - "$ref": "#/components/schemas/Geometry" + "links": { + "$ref": "#/components/schemas/SelfLink" }, - "createdAt": { + "type": { "type": "string", - "format": "date-time", - "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" + "description": "Type of the object that is returned. In this case, `type` returns `board_member`.", + "example": "board_member" + } + }, + "required": ["id", "name", "type"] + }, + "BoardMembersInvite": { + "type": "object", + "properties": { + "emails": { + "type": "array", + "description": "Email IDs of the users you want to invite to the board. You can invite up to 20 members per call.", + "items": { + "type": "string", + "example": "member@email.com", + "description": "Email IDs of the users you want to invite to the board. You can invite up to 20 members per call." + }, + "maxItems": 20, + "minItems": 1 }, - "createdBy": { - "$ref": "#/components/schemas/createdBy" + "role": { + "type": "string", + "default": "commenter", + "description": "Role of the board member. Inviting users with the role `owner` has the same effect as the role `coowner`.", + "enum": ["viewer", "commenter", "editor", "coowner", "owner"] }, - "modifiedAt": { + "message": { "type": "string", - "format": "date-time", - "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" + "description": "The message that will be sent in the invitation email.", + "example": "Hey there! Join my board and let's collaborate on this project!" + } + }, + "required": ["emails"] + }, + "BoardMembersPagedResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Contains the result data.", + "items": { + "$ref": "#/components/schemas/BoardMember" + } + }, + "total": { + "type": "integer", + "format": "int64", + "description": "Total number of results available. If the value of the `total` parameter is higher than the value of the `size` parameter, this means that there are more results that you can retrieve. To retrieve more results, you can make another request and set the `offset` value accordingly. For example, if there are `30` results, and the request has the `offset` set to `0` and the `limit` set to `20`, the `size` parameter will return `20` and the `total` parameter will return `30`. This means that there are 9 more results to retrieve (as the offset is zero-based).", + "example": 1 }, - "modifiedBy": { - "$ref": "#/components/schemas/modifiedBy" + "size": { + "type": "integer", + "format": "int32", + "description": "Number of results returned in the response. The `size` is the number of results returned considering the `offset` and the `limit` values sent in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`.
If there are `10` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `10`.
If there are `30` results, and the request has the offset set to `28` and the `limit` set to `20`, the `size` of the results will be `2` as the `offset` is the zero-based offset of the first item in the collection.", + "example": 1 }, - "parent": { - "$ref": "#/components/schemas/ParentLinksEnvelope" + "offset": { + "type": "integer", + "format": "int32", + "description": "Zero-based index of the first item in the collection. For example, If there are `30` results, and the request has the offset set to `28`, the response will return `2` results.", + "example": 0 + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the offset parameter. In this example, you will set the offset parameter to 20 as the offset is zero-based.\n", + "example": 20 }, "links": { - "$ref": "#/components/schemas/WidgetLinks" + "$ref": "#/components/schemas/PageLinks" }, "type": { - "type": "string", - "description": "Type of item that is returned.", - "example": "card" + "type": "string" } - }, - "required": ["id", "type"] + } }, - "UpdateCardStyle": { + "BoardPermissionsPolicy": { "type": "object", - "description": "Contains information about the style of a card item, such as the card theme.", + "description": "Defines the permissions policies for the board.", "properties": { - "cardTheme": { + "collaborationToolsStartAccess": { "type": "string", - "description": "Hex value of the border color of the card.", - "example": "#2d9bf0" + "default": "all_editors", + "description": "Defines who can start or stop timer, voting, video chat, screen sharing, attention management. Others will only be able to join. To change the value for the `collaborationToolsStartAccess` parameter, contact Miro Customer Support.", + "enum": ["all_editors", "board_owners_and_coowners"] + }, + "copyAccess": { + "type": "string", + "default": "anyone", + "description": "Defines who can copy the board, copy objects, download images, and save the board as a template or PDF.", + "enum": ["anyone", "team_members", "team_editors", "board_owner"] + }, + "sharingAccess": { + "type": "string", + "default": "team_members_with_editing_rights", + "description": "Defines who can change access and invite users to this board. To change the value for the `sharingAccess` parameter, contact Miro Customer Support.", + "enum": ["team_members_with_editing_rights", "owner_and_coowners"] } } }, - "CardUpdateRequest": { + "BoardPolicy": { "type": "object", + "description": "Defines the permissions policies and sharing policies for the board.", "properties": { - "data": { - "$ref": "#/components/schemas/CardData" - }, - "style": { - "$ref": "#/components/schemas/UpdateCardStyle" - }, - "position": { - "$ref": "#/components/schemas/PositionChange" - }, - "geometry": { - "$ref": "#/components/schemas/Geometry" + "permissionsPolicy": { + "$ref": "#/components/schemas/BoardPermissionsPolicy" }, - "parent": { - "$ref": "#/components/schemas/Parent" + "sharingPolicy": { + "$ref": "#/components/schemas/BoardSharingPolicy" } } }, - "ConnectorChangesData": { + "BoardPolicyChange": { "type": "object", - "description": "If both are provided, startItem.id must be different from endItem.id", + "description": "Defines the permissions policies and sharing policies for the board.", "properties": { - "startItem": { - "$ref": "#/components/schemas/ItemConnectionChangesData" + "permissionsPolicy": { + "$ref": "#/components/schemas/BoardPermissionsPolicy" }, - "endItem": { - "$ref": "#/components/schemas/ItemConnectionChangesData" + "sharingPolicy": { + "$ref": "#/components/schemas/BoardSharingPolicyChange" + } + } + }, + "BoardSharingPolicy": { + "type": "object", + "description": "Defines the public-level, organization-level, and team-level access for the board. The access level that a user gets depends on the highest level of access that results from considering the public-level, team-level, organization-level, and direct sharing access.", + "properties": { + "access": { + "type": "string", + "description": "Defines the public-level access to the board.", + "enum": ["private", "view", "edit", "comment"] }, - "shape": { + "inviteToAccountAndBoardLinkAccess": { "type": "string", - "description": "The path type of the connector line, defines curvature. Default: curved.", - "enum": ["straight", "elbowed", "curved"] + "default": "no_access", + "description": "Defines the user role when inviting a user via the invite to team and board link. For Enterprise users, the `inviteToAccountAndBoardLinkAccess` parameter is always set to `no_access`.", + "enum": ["viewer", "commenter", "editor", "coowner", "owner", "guest", "no_access"] }, - "captions": { - "type": "array", - "description": "Blocks of text you want to display on the connector.", - "items": { - "$ref": "#/components/schemas/Caption" - }, - "maxItems": 20, - "maxLength": 20, - "minItems": 0 + "organizationAccess": { + "type": "string", + "default": "private", + "description": "Defines the organization-level access to the board. If the board is created for a team that does not belong to an organization, the `organizationAccess` parameter is always set to the default value.", + "enum": ["private", "view", "comment", "edit"] }, - "style": { - "$ref": "#/components/schemas/UpdateConnectorStyle" + "teamAccess": { + "type": "string", + "description": "Defines the team-level access to the board.", + "enum": ["private", "view", "comment", "edit"] } } }, - "ConnectorCreationData": { + "BoardSharingPolicyChange": { "type": "object", - "description": "startItem.id must be different from endItem.id", + "description": "Defines the public-level, organization-level, and team-level access for the board. The access level that a user gets depends on the highest level of access that results from considering the public-level, team-level, organization-level, and direct sharing access.", "properties": { - "startItem": { - "$ref": "#/components/schemas/ItemConnectionCreationData" - }, - "endItem": { - "$ref": "#/components/schemas/ItemConnectionCreationData" + "access": { + "type": "string", + "default": "private", + "description": "Defines the public-level access to the board.", + "enum": ["private", "view", "edit", "comment"] }, - "shape": { + "inviteToAccountAndBoardLinkAccess": { "type": "string", - "description": "The path type of the connector line, defines curvature. Default: curved.", - "enum": ["straight", "elbowed", "curved"] + "default": "no_access", + "description": "Defines the user role when inviting a user via the invite to team and board link. For Enterprise users, the `inviteToAccountAndBoardLinkAccess` parameter is always set to `no_access` regardless of the value that you assign for this parameter.", + "enum": ["viewer", "commenter", "editor", "no_access"] }, - "captions": { - "type": "array", - "description": "Blocks of text you want to display on the connector.", - "items": { - "$ref": "#/components/schemas/Caption" - }, - "maxItems": 20, - "maxLength": 20, - "minItems": 0 + "organizationAccess": { + "type": "string", + "default": "private", + "description": "Defines the organization-level access to the board. If the board is created for a team that does not belong to an organization, the `organizationAccess` parameter is always set to the default value.", + "enum": ["private", "view", "comment", "edit"] }, - "style": { - "$ref": "#/components/schemas/ConnectorStyle" + "teamAccess": { + "type": "string", + "description": "Defines the team-level access to the board. By default, **edit** for the free plan and **private** for other plans.", + "enum": ["private", "view", "comment", "edit"] } - }, - "required": ["endItem", "startItem"] + } }, - "ConnectorStyle": { + "BoardWithLinks": { "type": "object", - "description": "Contains information about the style of a connector, such as the color or caption font size", "properties": { - "color": { + "id": { "type": "string", - "description": "Hex value representing the color for the captions on the connector. Default: `#1a1a1a`", - "example": "#9510ac" + "description": "Unique identifier (ID) of the board.", + "example": "uXjVOD6LSME=" }, - "endStrokeCap": { + "name": { "type": "string", - "description": "The decoration cap of the connector end, like an arrow or circle. Default: stealth.", - "enum": [ - "none", - "stealth", - "diamond", - "filled_diamond", - "oval", - "filled_oval", - "arrow", - "triangle", - "filled_triangle", - "erd_one", - "erd_many", - "erd_only_one", - "erd_zero_or_one", - "erd_one_or_many", - "erd_zero_or_many", - "unknown" - ] + "description": "Name of the board.", + "example": "Sample board name" }, - "fontSize": { + "description": { "type": "string", - "description": "Defines the font size, in dp, for the captions on the connector. Default: 14", - "example": "15", - "maximum": 288, - "minimum": 10 + "description": "Description of the board.", + "example": "Sample board description" }, - "startStrokeCap": { + "team": { + "$ref": "#/components/schemas/Team" + }, + "project": { + "$ref": "#/components/schemas/BoardProject" + }, + "picture": { + "$ref": "#/components/schemas/Picture" + }, + "policy": { + "$ref": "#/components/schemas/BoardPolicy" + }, + "viewLink": { "type": "string", - "description": "The decoration cap of the connector end, like an arrow or circle. Default: none.", - "enum": [ - "none", - "stealth", - "diamond", - "filled_diamond", - "oval", - "filled_oval", - "arrow", - "triangle", - "filled_triangle", - "erd_one", - "erd_many", - "erd_only_one", - "erd_zero_or_one", - "erd_one_or_many", - "erd_zero_or_many", - "unknown" - ] + "description": "URL to view the board.", + "example": "https://miro.com/app/board/uXjVOD6LSME=" }, - "strokeColor": { + "owner": { + "$ref": "#/components/schemas/UserInfoShort" + }, + "currentUserMembership": { + "$ref": "#/components/schemas/BoardMember" + }, + "createdAt": { "type": "string", - "description": "Hex value of the color of the connector line. Default: #000000.", - "example": "#2d9bf0" + "format": "date-time", + "description": "Date and time when the board was created. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." + }, + "createdBy": { + "$ref": "#/components/schemas/UserInfoShort" }, - "strokeStyle": { + "modifiedAt": { "type": "string", - "description": "The stroke pattern of the connector line. Default: normal.", - "enum": ["normal", "dotted", "dashed"] + "format": "date-time", + "description": "Date and time when the board was last modified. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." }, - "strokeWidth": { - "type": "string", - "description": "The thickness of the connector line, in dp. Default: 1.0.", - "example": "2.0", - "maximum": 24, - "minimum": 1 + "modifiedBy": { + "$ref": "#/components/schemas/UserInfoShort" }, - "textOrientation": { + "links": { + "$ref": "#/components/schemas/BoardLinks" + }, + "type": { "type": "string", - "description": "The captions orientation relatively to the connector line curvature. Default: aligned.", - "enum": ["horizontal", "aligned"] + "description": "Type of the object that is returned. In this case, type returns `board`.", + "example": "board" } - } + }, + "required": ["description", "id", "name", "type"] }, - "UpdateConnectorStyle": { + "BoardWithLinksAndLastOpened": { "type": "object", - "description": "Contains information about the style of a connector, such as the color or caption font size", "properties": { - "color": { + "id": { "type": "string", - "description": "Hex value representing the color for the captions on the connector.", - "example": "#9510ac" + "description": "Unique identifier (ID) of the board.", + "example": "uXjVOD6LSME=" }, - "endStrokeCap": { + "name": { "type": "string", - "description": "The decoration cap of the connector end, like an arrow or circle.", - "enum": [ - "none", - "stealth", - "diamond", - "filled_diamond", - "oval", - "filled_oval", - "arrow", - "triangle", - "filled_triangle", - "erd_one", - "erd_many", - "erd_only_one", - "erd_zero_or_one", - "erd_one_or_many", - "erd_zero_or_many", - "unknown" - ] + "description": "Name of the board.", + "example": "Sample board name" }, - "fontSize": { + "description": { "type": "string", - "description": "Defines the font size, in dp, for the captions on the connector.", - "example": "15", - "maximum": 288, - "minimum": 10 + "description": "Description of the board.", + "example": "Sample board description" }, - "startStrokeCap": { + "team": { + "$ref": "#/components/schemas/Team" + }, + "project": { + "$ref": "#/components/schemas/BoardProject" + }, + "picture": { + "$ref": "#/components/schemas/Picture" + }, + "policy": { + "$ref": "#/components/schemas/BoardPolicy" + }, + "viewLink": { "type": "string", - "description": "The decoration cap of the connector end, like an arrow or circle.", - "enum": [ - "none", - "stealth", - "diamond", - "filled_diamond", - "oval", - "filled_oval", - "arrow", - "triangle", - "filled_triangle", - "erd_one", - "erd_many", - "erd_only_one", - "erd_zero_or_one", - "erd_one_or_many", - "erd_zero_or_many", - "unknown" - ] + "description": "URL to view the board.", + "example": "https://miro.com/app/board/uXjVOD6LSME=" }, - "strokeColor": { + "owner": { + "$ref": "#/components/schemas/UserInfoShort" + }, + "currentUserMembership": { + "$ref": "#/components/schemas/BoardMember" + }, + "createdAt": { "type": "string", - "description": "Hex value of the color of the connector line.", - "example": "#2d9bf0" + "format": "date-time", + "description": "Date and time when the board was created. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." }, - "strokeStyle": { + "createdBy": { + "$ref": "#/components/schemas/UserInfoShort" + }, + "lastOpenedAt": { "type": "string", - "description": "The stroke pattern of the connector line.", - "enum": ["normal", "dotted", "dashed"] + "format": "date-time", + "description": "Date and time when the board was last opened by any user. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." }, - "strokeWidth": { + "lastOpenedBy": { + "$ref": "#/components/schemas/GetBoardUserInfoLastOpenedBy" + }, + "modifiedAt": { "type": "string", - "description": "The thickness of the connector line, in dp.", - "example": "2.0", - "maximum": 24, - "minimum": 1 + "format": "date-time", + "description": "Date and time when the board was last modified. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." }, - "textOrientation": { + "modifiedBy": { + "$ref": "#/components/schemas/UserInfoShort" + }, + "links": { + "$ref": "#/components/schemas/BoardLinks" + }, + "type": { "type": "string", - "description": "The captions orientation relatively to the connector line curvature.", - "enum": ["horizontal", "aligned"] + "description": "Type of the object that is returned. In this case, type returns `board`.", + "example": "board" } - } + }, + "required": ["description", "id", "name", "type"] }, - "ConnectorWithLinks": { + "BoardWithLinksAndWithoutProject": { "type": "object", - "description": "Contains the result data.", "properties": { - "captions": { - "type": "array", - "description": "Blocks of text you want to display on the connector.", - "items": { - "$ref": "#/components/schemas/Caption" - } + "id": { + "type": "string", + "description": "Unique identifier (ID) of the board.", + "example": "uXjVOD6LSME=" }, - "createdAt": { + "name": { "type": "string", - "format": "date-time", - "description": "Date and time when the connector was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" + "description": "Name of the board.", + "example": "Sample board name" }, - "createdBy": { - "$ref": "#/components/schemas/createdBy" + "description": { + "type": "string", + "description": "Description of the board.", + "example": "Sample board description" }, - "endItem": { - "$ref": "#/components/schemas/ItemConnectionWithLinks" + "team": { + "$ref": "#/components/schemas/Team" }, - "id": { + "picture": { + "$ref": "#/components/schemas/Picture" + }, + "policy": { + "$ref": "#/components/schemas/BoardPolicy" + }, + "viewLink": { "type": "string", - "description": "Unique identifier (ID) of a connector.", - "example": "3458764517517818867" + "description": "URL to view the board.", + "example": "https://miro.com/app/board/uXjVOD6LSME=" }, - "isSupported": { - "type": "boolean", - "description": "Indicates whether the connector is supported at the moment. If this parameter returns `false`, we do not support the connector at the moment. We do not allow updates for unsupported connectors and we might not return all data about the connector, such as intermediate points and connection points to the canvas." + "owner": { + "$ref": "#/components/schemas/UserInfoShort" }, - "links": { - "$ref": "#/components/schemas/SelfLink" + "currentUserMembership": { + "$ref": "#/components/schemas/BoardMember" }, - "modifiedAt": { + "createdAt": { "type": "string", "format": "date-time", - "description": "Date and time when the connector was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" + "description": "Date and time when the board was created. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." }, - "modifiedBy": { - "$ref": "#/components/schemas/modifiedBy" + "createdBy": { + "$ref": "#/components/schemas/UserInfoShort" }, - "shape": { + "modifiedAt": { "type": "string", - "default": "curved", - "description": "The path type of the connector line, defines curvature. Default: curved.", - "enum": ["straight", "elbowed", "curved"] + "format": "date-time", + "description": "Date and time when the board was last modified. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC))." }, - "startItem": { - "$ref": "#/components/schemas/ItemConnectionWithLinks" + "modifiedBy": { + "$ref": "#/components/schemas/UserInfoShort" }, - "style": { - "$ref": "#/components/schemas/ConnectorStyle" + "links": { + "$ref": "#/components/schemas/BoardLinks" }, "type": { "type": "string", - "description": "Type of board object that is returned." + "description": "Type of the object that is returned. In this case, type returns `board`.", + "example": "board" } }, - "required": ["id"] + "required": ["description", "id", "name", "type"] }, - "ConnectorsCursorPaged": { + "BoardsPagedResponse": { "type": "object", "properties": { - "cursor": { - "type": "string", - "description": "A cursor-paginated method returns a portion of the total set of results based on the `limit` specified and a `cursor` that points to the next portion of the results. To retrieve the next set of results of the collection, set the `cursor` parameter in your next request to the value returned in this parameter.", - "example": "MzQ1ODc2NDUyMjQ5MDA4Mjg5NX4=" - }, "data": { "type": "array", "description": "Contains the result data.", "items": { - "$ref": "#/components/schemas/ConnectorWithLinks" + "$ref": "#/components/schemas/Board" } }, + "total": { + "type": "integer", + "format": "int64", + "description": "Total number of results available. If the value of the `total` parameter is higher than the value of the `size` parameter, this means that there are more results that you can retrieve. To retrieve more results, you can make another request and set the `offset` value accordingly. For example, if there are `30` results, and the request has the `offset` set to `0` and the `limit` set to `20`, the `size` parameter will return `20` and the `total` parameter will return `30`. This means that there are 9 more results to retrieve (as the offset is zero-based).", + "example": 1 + }, + "size": { + "type": "integer", + "format": "int32", + "description": "Number of results returned in the response. The `size` is the number of results returned considering the `offset` and the `limit` values sent in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`.
If there are `10` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `10`.
If there are `30` results, and the request has the offset set to `28` and the `limit` set to `20`, the `size` of the results will be `2` as the `offset` is the zero-based offset of the first item in the collection.", + "example": 1 + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Zero-based index of the first item in the collection. For example, If there are `30` results, and the request has the offset set to `28`, the response will return `2` results.", + "example": 0 + }, "limit": { "type": "integer", "format": "int32", - "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `20` results, the request has no `cursor` value, and the `limit` is set to `20`,the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the `cursor` parameter value that you obtained from the response.", + "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the offset parameter. In this example, you will set the offset parameter to 20 as the offset is zero-based.\n", "example": 20 }, "links": { "$ref": "#/components/schemas/PageLinks" }, - "size": { - "type": "integer", - "format": "int32", - "description": "Number of results returned in the response considering the `cursor` and the `limit` values sent in the request. For example, if there are `20` results, the request does not have a `cursor` value, and the `limit` set to `10`, the `size` of the results will be `10`.
In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection.", - "example": 1 - }, - "total": { - "type": "integer", - "format": "int64" + "type": { + "type": "string" } } }, - "DocumentCreateRequest": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/DocumentUrlData" - }, - "position": { - "$ref": "#/components/schemas/PositionChange" - }, - "geometry": { - "$ref": "#/components/schemas/FixedRatioGeometry" - }, - "parent": { - "$ref": "#/components/schemas/Parent" - } - }, - "required": ["data"] - }, - "DocumentUpdateRequest": { + "Caption": { "type": "object", + "description": "Contains the connector's caption data, such as content and its position.", "properties": { - "data": { - "$ref": "#/components/schemas/DocumentUrlDataChanges" + "content": { + "type": "string", + "description": "The text you want to display on the connector. Supports inline HTML tags.", + "example": "

Caption text

", + "maxLength": 200, + "minLength": 0 }, "position": { - "$ref": "#/components/schemas/PositionChange" - }, - "geometry": { - "$ref": "#/components/schemas/FixedRatioGeometry" - }, - "parent": { - "$ref": "#/components/schemas/Parent" - } - } - }, - "DocumentUrlDataChanges": { - "type": "object", - "description": "Contains information about the document URL.", - "properties": { - "title": { "type": "string", - "description": "A short text header to identify the document." + "description": "The relative position of the text on the connector, in percentage, minimum 0%, maximum 100%. With 50% value, the text will be placed in the middle of the connector line. Default: 50%", + "example": "50%" }, - "url": { + "textAlignVertical": { "type": "string", - "description": "URL where the document is hosted.", - "example": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf" + "description": "The vertical position of the text on the connector. Default: middle", + "enum": ["top", "middle", "bottom"] } - } + }, + "required": ["content"] }, - "EmbedCreateRequest": { + "CardCreateRequest": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/EmbedUrlData" + "$ref": "#/components/schemas/CardData" + }, + "style": { + "$ref": "#/components/schemas/CardStyle" }, "position": { "$ref": "#/components/schemas/PositionChange" }, "geometry": { - "$ref": "#/components/schemas/FixedRatioNoRotationGeometry" + "$ref": "#/components/schemas/Geometry" }, "parent": { "$ref": "#/components/schemas/Parent" } - }, - "required": ["data"] + } }, - "EmbedItem": { + "CardItem": { "type": "object", "properties": { "id": { @@ -18575,7 +13546,10 @@ "example": "3458764517517819000" }, "data": { - "$ref": "#/components/schemas/EmbedData" + "$ref": "#/components/schemas/CardData" + }, + "style": { + "$ref": "#/components/schemas/CardStyle" }, "position": { "$ref": "#/components/schemas/Position" @@ -18610,471 +13584,431 @@ "type": { "type": "string", "description": "Type of item that is returned.", - "example": "embed" + "example": "card" } }, "required": ["id", "type"] }, - "EmbedUpdateRequest": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/EmbedUrlDataChanges" - }, - "position": { - "$ref": "#/components/schemas/PositionChange" - }, - "geometry": { - "$ref": "#/components/schemas/FixedRatioNoRotationGeometry" - }, - "parent": { - "$ref": "#/components/schemas/Parent" - } - } - }, - "EmbedUrlDataChanges": { + "UpdateCardStyle": { "type": "object", - "description": "Contains information about the embed URL.", + "description": "Contains information about the style of a card item, such as the card theme.", "properties": { - "mode": { - "type": "string", - "description": "Defines how the content in the embed item is displayed on the board.\n`inline`: The embedded content is displayed directly on the board.\n`modal`: The embedded content is displayed inside a modal overlay on the board.", - "enum": ["inline", "modal"] - }, - "previewUrl": { - "type": "string", - "description": "URL of the image to be used as the preview image for the embedded item." - }, - "url": { + "cardTheme": { "type": "string", - "description": "A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS.", - "example": "https://www.youtube.com/watch?v=HlVSNEiFCBk" - } - } - }, - "FixedRatioNoRotationGeometry": { - "type": "object", - "description": "Contains geometrical information about the item. You can set either the width or height. You cannot set both the width and height at the same time.", - "properties": { - "height": { - "type": "number", - "format": "double", - "description": "Height of the item, in pixels." - }, - "width": { - "type": "number", - "format": "double", - "description": "Width of the item, in pixels." - } - } - }, - "GenericItemUpdate": { - "type": "object", - "properties": { - "parent": { - "$ref": "#/components/schemas/Parent" - }, - "position": { - "$ref": "#/components/schemas/PositionChange" + "description": "Hex value of the border color of the card.", + "example": "#2d9bf0" } } }, - "ImageCreateRequest": { + "CardUpdateRequest": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/ImageUrlData" - }, - "position": { - "$ref": "#/components/schemas/PositionChange" - }, - "geometry": { - "$ref": "#/components/schemas/FixedRatioGeometry" + "$ref": "#/components/schemas/CardData" }, - "parent": { - "$ref": "#/components/schemas/Parent" - } - }, - "required": ["data"] - }, - "ImageUpdateRequest": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ImageUrlDataChanges" + "style": { + "$ref": "#/components/schemas/UpdateCardStyle" }, "position": { "$ref": "#/components/schemas/PositionChange" }, "geometry": { - "$ref": "#/components/schemas/FixedRatioGeometry" + "$ref": "#/components/schemas/Geometry" }, "parent": { "$ref": "#/components/schemas/Parent" } } }, - "InvitationError": { + "ConnectorChangesData": { "type": "object", - "description": "Contains information about the invites that failed.", + "description": "If both are provided, startItem.id must be different from endItem.id", "properties": { - "email": { - "type": "string", - "description": "Email ID for which the invitation failed.", - "example": "john.smith.demo@miro.com" + "startItem": { + "$ref": "#/components/schemas/ItemConnectionChangesData" }, - "reason": { + "endItem": { + "$ref": "#/components/schemas/ItemConnectionChangesData" + }, + "shape": { "type": "string", - "description": "Reason why the invitation failed.", - "example": "INVITATION_FAILED" - } - } - }, - "InvitationResult": { - "type": "object", - "properties": { - "failed": { - "type": "array", - "description": "Contains information about the invites that failed.", - "items": { - "$ref": "#/components/schemas/InvitationError" - } + "description": "The path type of the connector line, defines curvature. Default: curved.", + "enum": ["straight", "elbowed", "curved"] }, - "successful": { + "captions": { "type": "array", - "description": "Contains information about the invites that were successfully sent.", - "example": 3074457350804038700, + "description": "Blocks of text you want to display on the connector.", "items": { - "type": "integer", - "format": "int64", - "description": "Contains information about the invites that were successfully sent.", - "example": 3074457350804038700 - } - } - } - }, - "ItemConnectionChangesData": { - "type": "object", - "description": "The ending point of the connector. If startItem is also provided, endItem.id must be different from startItem.id", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of the item to which you want to attach the connector. Note that Frames are not supported at the moment.", - "example": "3458764517517818867" - }, - "position": { - "$ref": "#/components/schemas/RelativeOffset" - }, - "snapTo": { - "type": "string", - "description": "The side of the item connector should be attached to, the connection point will be placed in the middle of that side. Option `auto` allows to pick a connection point automatically. Only either `position` or `snapTo` parameter is allowed to be set, if neither provided `snapTo: auto` will be used by default.", - "enum": ["auto", "top", "right", "bottom", "left"] - } - } - }, - "ItemConnectionCreationData": { - "type": "object", - "description": "The end point of the connector. endItem.id must be different from startItem.id", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of the item to which you want to attach the connector. Note that Frames are not supported at the moment.", - "example": "3458764517517818867" - }, - "position": { - "$ref": "#/components/schemas/RelativeOffset" + "$ref": "#/components/schemas/Caption" + }, + "maxItems": 20, + "maxLength": 20, + "minItems": 0 }, - "snapTo": { - "type": "string", - "description": "The side of the item connector should be attached to, the connection point will be placed in the middle of that side. Option `auto` allows to pick a connection point automatically. Only either `position` or `snapTo` parameter is allowed to be set, if neither provided `snapTo: auto` will be used by default.", - "enum": ["auto", "top", "right", "bottom", "left"] + "style": { + "$ref": "#/components/schemas/UpdateConnectorStyle" } } }, - "ItemConnectionWithLinks": { + "ConnectorCreationData": { "type": "object", - "description": "The starting point of the connector.", + "description": "startItem.id must be different from endItem.id", "properties": { - "id": { + "startItem": { + "$ref": "#/components/schemas/ItemConnectionCreationData" + }, + "endItem": { + "$ref": "#/components/schemas/ItemConnectionCreationData" + }, + "shape": { "type": "string", - "description": "Unique identifier (ID) of the item the connector is attached to.", - "example": "3458764517517818867" + "description": "The path type of the connector line, defines curvature. Default: curved.", + "enum": ["straight", "elbowed", "curved"] }, - "links": { - "$ref": "#/components/schemas/SelfLink" + "captions": { + "type": "array", + "description": "Blocks of text you want to display on the connector.", + "items": { + "$ref": "#/components/schemas/Caption" + }, + "maxItems": 20, + "maxLength": 20, + "minItems": 0 }, - "position": { - "$ref": "#/components/schemas/RelativeOffset" + "style": { + "$ref": "#/components/schemas/ConnectorStyle" } - } + }, + "required": ["endItem", "startItem"] }, - "BoardProject": { + "ConnectorStyle": { "type": "object", - "description": "Contains information about the project with which the board is associated.", + "description": "Contains information about the style of a connector, such as the color or caption font size", "properties": { - "id": { + "color": { "type": "string", - "format": "int64", - "description": "Unique identifier (ID) of the project.", - "example": "3088887345710756000" - } - } - }, - "RelativeOffset": { - "type": "object", - "description": "The relative position of the point on an item where the connector is attached. Position with x=0% and y=0% correspond to the top-left corner of the item, x=100% and y=100% correspond to the right-bottom corner.", - "properties": { - "x": { + "description": "Hex value representing the color for the captions on the connector. Default: `#1a1a1a`", + "example": "#9510ac" + }, + "endStrokeCap": { "type": "string", - "description": "X-axis relative coordinate of the location where the connector connects with an item, in percentage, minimum 0%, maximum 100%.", - "example": "50%" + "description": "The decoration cap of the connector end, like an arrow or circle. Default: stealth.", + "enum": [ + "none", + "stealth", + "diamond", + "filled_diamond", + "oval", + "filled_oval", + "arrow", + "triangle", + "filled_triangle", + "erd_one", + "erd_many", + "erd_only_one", + "erd_zero_or_one", + "erd_one_or_many", + "erd_zero_or_many", + "unknown" + ] }, - "y": { + "fontSize": { "type": "string", - "description": "Y-axis relative coordinate of the location where the connector connects with an item, in percentage, minimum 0%, maximum 100%.", - "example": "0%" - } - } - }, - "UpdateShapeStyle": { - "type": "object", - "description": "Contains information about the shape style, such as the border color or opacity.", - "properties": { - "borderColor": { + "description": "Defines the font size, in dp, for the captions on the connector. Default: 14", + "example": "15", + "maximum": 288, + "minimum": 10 + }, + "startStrokeCap": { "type": "string", - "description": "Defines the color of the border of the shape." + "description": "The decoration cap of the connector end, like an arrow or circle. Default: none.", + "enum": [ + "none", + "stealth", + "diamond", + "filled_diamond", + "oval", + "filled_oval", + "arrow", + "triangle", + "filled_triangle", + "erd_one", + "erd_many", + "erd_only_one", + "erd_zero_or_one", + "erd_one_or_many", + "erd_zero_or_many", + "unknown" + ] }, - "borderOpacity": { + "strokeColor": { "type": "string", - "description": "Defines the opacity level of the shape border.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible\n`1.0`: the background color is completely opaque or solid", - "maximum": 1, - "minimum": 0 + "description": "Hex value of the color of the connector line. Default: #000000.", + "example": "#2d9bf0" }, - "borderStyle": { + "strokeStyle": { "type": "string", - "description": "Defines the style used to represent the border of the shape.", + "description": "The stroke pattern of the connector line. Default: normal.", "enum": ["normal", "dotted", "dashed"] }, - "borderWidth": { + "strokeWidth": { "type": "string", - "description": "Defines the thickness of the shape border, in dp.", + "description": "The thickness of the connector line, in dp. Default: 1.0.", + "example": "2.0", "maximum": 24, "minimum": 1 }, - "color": { - "type": "string", - "description": "Hex value representing the color for the text within the shape item.", - "example": "#1a1a1a" - }, - "fillColor": { + "textOrientation": { "type": "string", - "description": "Fill color for the shape.\nHex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`", - "example": "#8fd14f" - }, - "fillOpacity": { + "description": "The captions orientation relatively to the connector line curvature. Default: aligned.", + "enum": ["horizontal", "aligned"] + } + } + }, + "UpdateConnectorStyle": { + "type": "object", + "description": "Contains information about the style of a connector, such as the color or caption font size", + "properties": { + "color": { "type": "string", - "description": "Opacity level of the fill color.\nPossible values: any number between `0` and `1`, where:\n`0.0`: the background color is completely transparent or invisible\n`1.0`: the background color is completely opaque or solid\n", - "maximum": 1, - "minimum": 0 + "description": "Hex value representing the color for the captions on the connector.", + "example": "#9510ac" }, - "fontFamily": { + "endStrokeCap": { "type": "string", - "description": "Defines the font type for the text in the shape item.", + "description": "The decoration cap of the connector end, like an arrow or circle.", "enum": [ - "arial", - "abril_fatface", - "bangers", - "eb_garamond", - "georgia", - "graduate", - "gravitas_one", - "fredoka_one", - "nixie_one", - "open_sans", - "permanent_marker", - "pt_sans", - "pt_sans_narrow", - "pt_serif", - "rammetto_one", - "roboto", - "roboto_condensed", - "roboto_slab", - "caveat", - "times_new_roman", - "titan_one", - "lemon_tuesday", - "roboto_mono", - "noto_sans", - "plex_sans", - "plex_serif", - "plex_mono", - "spoof", - "tiempos_text", - "formular" + "none", + "stealth", + "diamond", + "filled_diamond", + "oval", + "filled_oval", + "arrow", + "triangle", + "filled_triangle", + "erd_one", + "erd_many", + "erd_only_one", + "erd_zero_or_one", + "erd_one_or_many", + "erd_zero_or_many", + "unknown" ] }, "fontSize": { "type": "string", - "description": "Defines the font size, in dp, for the text on the shape.", + "description": "Defines the font size, in dp, for the captions on the connector.", + "example": "15", "maximum": 288, "minimum": 10 }, - "textAlign": { + "startStrokeCap": { "type": "string", - "description": "Defines how the sticky note text is horizontally aligned.", - "enum": ["left", "right", "center"] + "description": "The decoration cap of the connector end, like an arrow or circle.", + "enum": [ + "none", + "stealth", + "diamond", + "filled_diamond", + "oval", + "filled_oval", + "arrow", + "triangle", + "filled_triangle", + "erd_one", + "erd_many", + "erd_only_one", + "erd_zero_or_one", + "erd_one_or_many", + "erd_zero_or_many", + "unknown" + ] }, - "textAlignVertical": { + "strokeColor": { "type": "string", - "description": "Defines how the sticky note text is vertically aligned.", - "enum": ["top", "middle", "bottom"] - } - } - }, - "StickyNoteCreateRequest": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/StickyNoteData" - }, - "style": { - "$ref": "#/components/schemas/StickyNoteStyle" + "description": "Hex value of the color of the connector line.", + "example": "#2d9bf0" }, - "position": { - "$ref": "#/components/schemas/PositionChange" + "strokeStyle": { + "type": "string", + "description": "The stroke pattern of the connector line.", + "enum": ["normal", "dotted", "dashed"] }, - "geometry": { - "$ref": "#/components/schemas/FixedRatioNoRotationGeometry" + "strokeWidth": { + "type": "string", + "description": "The thickness of the connector line, in dp.", + "example": "2.0", + "maximum": 24, + "minimum": 1 }, - "parent": { - "$ref": "#/components/schemas/Parent" + "textOrientation": { + "type": "string", + "description": "The captions orientation relatively to the connector line curvature.", + "enum": ["horizontal", "aligned"] } } }, - "StickyNoteItem": { + "ConnectorWithLinks": { "type": "object", + "description": "Contains the result data.", "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of an item.", - "example": "3458764517517819000" - }, - "data": { - "$ref": "#/components/schemas/StickyNoteData" - }, - "style": { - "$ref": "#/components/schemas/StickyNoteStyle" - }, - "position": { - "$ref": "#/components/schemas/Position" - }, - "geometry": { - "$ref": "#/components/schemas/Geometry" + "captions": { + "type": "array", + "description": "Blocks of text you want to display on the connector.", + "items": { + "$ref": "#/components/schemas/Caption" + } }, "createdAt": { "type": "string", "format": "date-time", - "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "description": "Date and time when the connector was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", "example": "2022-03-30T17:26:50.000Z" }, "createdBy": { "$ref": "#/components/schemas/createdBy" }, + "endItem": { + "$ref": "#/components/schemas/ItemConnectionWithLinks" + }, + "id": { + "type": "string", + "description": "Unique identifier (ID) of a connector.", + "example": "3458764517517818867" + }, + "isSupported": { + "type": "boolean", + "description": "Indicates whether the connector is supported at the moment. If this parameter returns `false`, we do not support the connector at the moment. We do not allow updates for unsupported connectors and we might not return all data about the connector, such as intermediate points and connection points to the canvas." + }, + "links": { + "$ref": "#/components/schemas/SelfLink" + }, "modifiedAt": { "type": "string", "format": "date-time", - "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "description": "Date and time when the connector was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", "example": "2022-03-30T17:26:50.000Z" }, "modifiedBy": { "$ref": "#/components/schemas/modifiedBy" }, - "parent": { - "$ref": "#/components/schemas/ParentLinksEnvelope" + "shape": { + "type": "string", + "default": "curved", + "description": "The path type of the connector line, defines curvature. Default: curved.", + "enum": ["straight", "elbowed", "curved"] }, - "links": { - "$ref": "#/components/schemas/WidgetLinks" + "startItem": { + "$ref": "#/components/schemas/ItemConnectionWithLinks" + }, + "style": { + "$ref": "#/components/schemas/ConnectorStyle" }, "type": { "type": "string", - "description": "Type of item that is returned.", - "example": "sticky_note" + "description": "Type of board object that is returned." } }, - "required": ["id", "type"] + "required": ["id"] }, - "UpdateStickyNoteStyle": { + "ConnectorsCursorPaged": { "type": "object", - "description": "Contains information about the style of a sticky note item, such as the fill color or text alignment.", "properties": { - "fillColor": { + "cursor": { "type": "string", - "description": "Fill color for the sticky note.", - "enum": [ - "gray", - "light_yellow", - "yellow", - "orange", - "light_green", - "green", - "dark_green", - "cyan", - "light_pink", - "pink", - "violet", - "red", - "light_blue", - "blue", - "dark_blue", - "black" - ] + "description": "A cursor-paginated method returns a portion of the total set of results based on the `limit` specified and a `cursor` that points to the next portion of the results. To retrieve the next set of results of the collection, set the `cursor` parameter in your next request to the value returned in this parameter.", + "example": "MzQ1ODc2NDUyMjQ5MDA4Mjg5NX4=" }, - "textAlign": { - "type": "string", - "description": "Defines how the sticky note text is horizontally aligned.", - "enum": ["left", "right", "center"] + "data": { + "type": "array", + "description": "Contains the result data.", + "items": { + "$ref": "#/components/schemas/ConnectorWithLinks" + } }, - "textAlignVertical": { - "type": "string", - "description": "Defines how the sticky note text is vertically aligned.", - "enum": ["top", "middle", "bottom"] + "limit": { + "type": "integer", + "format": "int32", + "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `20` results, the request has no `cursor` value, and the `limit` is set to `20`,the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the `cursor` parameter value that you obtained from the response.", + "example": 20 + }, + "links": { + "$ref": "#/components/schemas/PageLinks" + }, + "size": { + "type": "integer", + "format": "int32", + "description": "Number of results returned in the response considering the `cursor` and the `limit` values sent in the request. For example, if there are `20` results, the request does not have a `cursor` value, and the `limit` set to `10`, the `size` of the results will be `10`.
In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection.", + "example": 1 + }, + "total": { + "type": "integer", + "format": "int64" } } }, - "StickyNoteUpdateRequest": { + "DocumentCreateRequest": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/StickyNoteData" + "$ref": "#/components/schemas/DocumentUrlData" }, - "style": { - "$ref": "#/components/schemas/UpdateStickyNoteStyle" + "position": { + "$ref": "#/components/schemas/PositionChange" + }, + "geometry": { + "$ref": "#/components/schemas/FixedRatioGeometry" + }, + "parent": { + "$ref": "#/components/schemas/Parent" + } + }, + "required": ["data"] + }, + "DocumentUpdateRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/DocumentUrlDataChanges" }, "position": { "$ref": "#/components/schemas/PositionChange" }, "geometry": { - "$ref": "#/components/schemas/FixedRatioNoRotationGeometry" + "$ref": "#/components/schemas/FixedRatioGeometry" }, "parent": { "$ref": "#/components/schemas/Parent" } } }, - "TextCreateRequest": { + "DocumentUrlDataChanges": { "type": "object", + "description": "Contains information about the document URL.", "properties": { - "data": { - "$ref": "#/components/schemas/TextData" + "title": { + "type": "string", + "description": "A short text header to identify the document." }, - "style": { - "$ref": "#/components/schemas/TextStyle" + "url": { + "type": "string", + "description": "URL where the document is hosted.", + "example": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf" + } + } + }, + "EmbedCreateRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/EmbedUrlData" }, "position": { "$ref": "#/components/schemas/PositionChange" }, "geometry": { - "$ref": "#/components/schemas/WidthOnlyAdjustableGeometry" + "$ref": "#/components/schemas/FixedRatioNoRotationGeometry" }, "parent": { "$ref": "#/components/schemas/Parent" @@ -19082,7 +14016,7 @@ }, "required": ["data"] }, - "TextItem": { + "EmbedItem": { "type": "object", "properties": { "id": { @@ -19091,10 +14025,7 @@ "example": "3458764517517819000" }, "data": { - "$ref": "#/components/schemas/TextData" - }, - "style": { - "$ref": "#/components/schemas/TextStyle" + "$ref": "#/components/schemas/EmbedData" }, "position": { "$ref": "#/components/schemas/Position" @@ -19129,294 +14060,406 @@ "type": { "type": "string", "description": "Type of item that is returned.", - "example": "text" + "example": "embed" } }, "required": ["id", "type"] }, - "UpdateTextStyle": { + "EmbedUpdateRequest": { "type": "object", - "description": "Contains information about the style of a text item, such as the fill color or font family.", "properties": { - "color": { - "type": "string", - "description": "Hex value representing the color for the text within the text item.", - "example": "#1a1a1a" - }, - "fillColor": { - "type": "string", - "description": "Background color of the text item.", - "example": "#e6e6e6" + "data": { + "$ref": "#/components/schemas/EmbedUrlDataChanges" }, - "fillOpacity": { - "type": "string", - "description": "Opacity level of the background color.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible\n`1.0`: the background color is completely opaque or solid", - "maximum": 1, - "minimum": 0 + "position": { + "$ref": "#/components/schemas/PositionChange" }, - "fontFamily": { - "type": "string", - "description": "Font type for the text in the text item.", - "enum": [ - "arial", - "abril_fatface", - "bangers", - "eb_garamond", - "georgia", - "graduate", - "gravitas_one", - "fredoka_one", - "nixie_one", - "open_sans", - "permanent_marker", - "pt_sans", - "pt_sans_narrow", - "pt_serif", - "rammetto_one", - "roboto", - "roboto_condensed", - "roboto_slab", - "caveat", - "times_new_roman", - "titan_one", - "lemon_tuesday", - "roboto_mono", - "noto_sans", - "plex_sans", - "plex_serif", - "plex_mono", - "spoof", - "tiempos_text", - "formular" - ] + "geometry": { + "$ref": "#/components/schemas/FixedRatioNoRotationGeometry" }, - "fontSize": { + "parent": { + "$ref": "#/components/schemas/Parent" + } + } + }, + "EmbedUrlDataChanges": { + "type": "object", + "description": "Contains information about the embed URL.", + "properties": { + "mode": { "type": "string", - "description": "Font size, in dp.", - "minimum": 1 + "description": "Defines how the content in the embed item is displayed on the board.\n`inline`: The embedded content is displayed directly on the board.\n`modal`: The embedded content is displayed inside a modal overlay on the board.", + "enum": ["inline", "modal"] }, - "textAlign": { + "previewUrl": { "type": "string", - "description": "Horizontal alignment for the item's content.", - "enum": ["left", "right", "center"] + "description": "URL of the image to be used as the preview image for the embedded item." + }, + "url": { + "type": "string", + "description": "A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS.", + "example": "https://www.youtube.com/watch?v=HlVSNEiFCBk" } } }, - "TextUpdateRequest": { + "FixedRatioNoRotationGeometry": { + "type": "object", + "description": "Contains geometrical information about the item. You can set either the width or height. You cannot set both the width and height at the same time.", + "properties": { + "height": { + "type": "number", + "format": "double", + "description": "Height of the item, in pixels." + }, + "width": { + "type": "number", + "format": "double", + "description": "Width of the item, in pixels." + } + } + }, + "GenericItemUpdate": { + "type": "object", + "properties": { + "parent": { + "$ref": "#/components/schemas/Parent" + }, + "position": { + "$ref": "#/components/schemas/PositionChange" + } + } + }, + "ImageCreateRequest": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/TextData" + "$ref": "#/components/schemas/ImageUrlData" }, - "style": { - "$ref": "#/components/schemas/UpdateTextStyle" + "position": { + "$ref": "#/components/schemas/PositionChange" + }, + "geometry": { + "$ref": "#/components/schemas/FixedRatioGeometry" + }, + "parent": { + "$ref": "#/components/schemas/Parent" + } + }, + "required": ["data"] + }, + "ImageUpdateRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ImageUrlDataChanges" }, "position": { "$ref": "#/components/schemas/PositionChange" }, "geometry": { - "$ref": "#/components/schemas/WidthOnlyAdjustableGeometry" + "$ref": "#/components/schemas/FixedRatioGeometry" }, "parent": { "$ref": "#/components/schemas/Parent" } } }, - "UserInfoShort": { + "InvitationError": { "type": "object", - "description": "Contains information about the user who created the board.", + "description": "Contains information about the invites that failed.", "properties": { - "id": { + "email": { "type": "string", - "description": "Unique identifier (ID) of the user.", - "example": "3074457353169356300" + "description": "Email ID for which the invitation failed.", + "example": "john.smith.demo@miro.com" }, - "name": { + "reason": { "type": "string", - "description": "Name of the user.", - "example": "John Smith" + "description": "Reason why the invitation failed.", + "example": "INVITATION_FAILED" + } + } + }, + "InvitationResult": { + "type": "object", + "properties": { + "failed": { + "type": "array", + "description": "Contains information about the invites that failed.", + "items": { + "$ref": "#/components/schemas/InvitationError" + } }, - "type": { - "type": "string", - "description": "Indicates the type of object returned. In this case, `type` returns `user`.", - "example": "user" + "successful": { + "type": "array", + "description": "Contains information about the invites that were successfully sent.", + "example": 3074457350804038700, + "items": { + "type": "integer", + "format": "int64", + "description": "Contains information about the invites that were successfully sent.", + "example": 3074457350804038700 + } } - }, - "required": ["id", "name", "type"] + } }, - "UserInfoLastOpenedBy": { + "ItemConnectionChangesData": { "type": "object", - "description": "Contains information about the user who opened the board last.", + "description": "The ending point of the connector. If startItem is also provided, endItem.id must be different from startItem.id", "properties": { "id": { "type": "string", - "description": "Unique identifier (ID) of the user.", - "example": "3074457353169356300" + "description": "Unique identifier (ID) of the item to which you want to attach the connector. Note that Frames are not supported at the moment.", + "example": "3458764517517818867" }, - "name": { - "type": "string", - "description": "Name of the user.", - "example": "John Smith" + "position": { + "$ref": "#/components/schemas/RelativeOffset" }, - "type": { + "snapTo": { "type": "string", - "description": "Indicates the type of object returned. In this case, `type` returns `user`.", - "example": "user" + "description": "The side of the item connector should be attached to, the connection point will be placed in the middle of that side. Option `auto` allows to pick a connection point automatically. Only either `position` or `snapTo` parameter is allowed to be set, if neither provided `snapTo: auto` will be used by default.", + "enum": ["auto", "top", "right", "bottom", "left"] } } }, - "GetBoardUserInfoLastOpenedBy": { + "ItemConnectionCreationData": { "type": "object", - "description": "Contains information about the user who last opened the board.", + "description": "The end point of the connector. endItem.id must be different from startItem.id", "properties": { "id": { "type": "string", - "description": "Unique identifier (ID) of the user.", - "example": "3074457353169356300" + "description": "Unique identifier (ID) of the item to which you want to attach the connector. Note that Frames are not supported at the moment.", + "example": "3458764517517818867" }, - "name": { - "type": "string", - "description": "Name of the user.", - "example": "John Smith" + "position": { + "$ref": "#/components/schemas/RelativeOffset" }, - "type": { + "snapTo": { "type": "string", - "description": "Indicates the type of object returned. In this case, `type` returns `user`.", - "example": "user" + "description": "The side of the item connector should be attached to, the connection point will be placed in the middle of that side. Option `auto` allows to pick a connection point automatically. Only either `position` or `snapTo` parameter is allowed to be set, if neither provided `snapTo: auto` will be used by default.", + "enum": ["auto", "top", "right", "bottom", "left"] } - }, - "required": ["id", "name", "type"] + } }, - "WidthOnlyAdjustableGeometry": { + "ItemConnectionWithLinks": { "type": "object", - "description": "Contains geometrical information about the item, such as its width or rotation. You can only specify the width of the text item as the height is dynamically updated based on the content.", + "description": "The starting point of the connector.", "properties": { - "rotation": { - "type": "number", - "format": "double", - "description": "Rotation angle of an item, in degrees, relative to the board. You can rotate items clockwise (right) and counterclockwise (left) by specifying positive and negative values, respectively." + "id": { + "type": "string", + "description": "Unique identifier (ID) of the item the connector is attached to.", + "example": "3458764517517818867" }, - "width": { - "type": "number", - "format": "double", - "description": "Width of the item, in pixels.\nThe minimum `width` of a `text` widget is relative to the font size of the `text` widget. The width must be at least 1.7 times wider than the font size.\nFor example, if the font size of the `text` item is `14`, the minimum `width` is `24`." + "links": { + "$ref": "#/components/schemas/SelfLink" + }, + "position": { + "$ref": "#/components/schemas/RelativeOffset" } } }, - "AppCardStylePlatformbulkcreateoperation": { + "BoardProject": { "type": "object", - "description": "Contains information about the style of an app card item, such as the fill color.", + "description": "Contains information about the project with which the board is associated.", "properties": { - "fillColor": { + "id": { "type": "string", - "description": "Hex value of the border color of the app card.\nDefault: `#2d9bf0`.", - "example": "#2d9bf0" + "format": "int64", + "description": "Unique identifier (ID) of the project.", + "example": "3088887345710756000" } } }, - "CardDataPlatformbulkcreateoperation": { + "RelativeOffset": { "type": "object", - "description": "Contains card item data, such as the title, description, due date, or assignee ID.", + "description": "The relative position of the point on an item where the connector is attached. Position with x=0% and y=0% correspond to the top-left corner of the item, x=100% and y=100% correspond to the right-bottom corner.", "properties": { - "assigneeId": { + "x": { + "type": "string", + "description": "X-axis relative coordinate of the location where the connector connects with an item, in percentage, minimum 0%, maximum 100%.", + "example": "50%" + }, + "y": { + "type": "string", + "description": "Y-axis relative coordinate of the location where the connector connects with an item, in percentage, minimum 0%, maximum 100%.", + "example": "0%" + } + } + }, + "UpdateShapeStyle": { + "type": "object", + "description": "Contains information about the shape style, such as the border color or opacity.", + "properties": { + "borderColor": { + "type": "string", + "description": "Defines the color of the border of the shape." + }, + "borderOpacity": { + "type": "string", + "description": "Defines the opacity level of the shape border.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible\n`1.0`: the background color is completely opaque or solid", + "maximum": 1, + "minimum": 0 + }, + "borderStyle": { + "type": "string", + "description": "Defines the style used to represent the border of the shape.", + "enum": ["normal", "dotted", "dashed"] + }, + "borderWidth": { + "type": "string", + "description": "Defines the thickness of the shape border, in dp.", + "maximum": 24, + "minimum": 1 + }, + "color": { + "type": "string", + "description": "Hex value representing the color for the text within the shape item.", + "example": "#1a1a1a" + }, + "fillColor": { + "type": "string", + "description": "Fill color for the shape.\nHex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`", + "example": "#8fd14f" + }, + "fillOpacity": { + "type": "string", + "description": "Opacity level of the fill color.\nPossible values: any number between `0` and `1`, where:\n`0.0`: the background color is completely transparent or invisible\n`1.0`: the background color is completely opaque or solid\n", + "maximum": 1, + "minimum": 0 + }, + "fontFamily": { "type": "string", - "format": "int64", - "description": "Unique user identifier. In the GUI, the user ID is mapped to the name of the user who is assigned as the owner of the task or activity described in the card. The identifier is a string containing numbers, and it is automatically assigned to a user when they first sign up.", - "example": "3074457362577955300" + "description": "Defines the font type for the text in the shape item.", + "enum": [ + "arial", + "abril_fatface", + "bangers", + "eb_garamond", + "georgia", + "graduate", + "gravitas_one", + "fredoka_one", + "nixie_one", + "open_sans", + "permanent_marker", + "pt_sans", + "pt_sans_narrow", + "pt_serif", + "rammetto_one", + "roboto", + "roboto_condensed", + "roboto_slab", + "caveat", + "times_new_roman", + "titan_one", + "lemon_tuesday", + "roboto_mono", + "noto_sans", + "plex_sans", + "plex_serif", + "plex_mono", + "spoof", + "tiempos_text", + "formular" + ] }, - "description": { + "fontSize": { "type": "string", - "description": "A short text description to add context about the card.", - "example": "sample card description" + "description": "Defines the font size, in dp, for the text on the shape.", + "maximum": 288, + "minimum": 10 }, - "dueDate": { + "textAlign": { "type": "string", - "format": "date-time", - "description": "The date when the task or activity described in the card is due to be completed. In the GUI, users can select the due date from a calendar. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2023-10-12T22:00:55.000Z" + "description": "Defines how the sticky note text is horizontally aligned.", + "enum": ["left", "right", "center"] }, - "title": { + "textAlignVertical": { "type": "string", - "default": "sample card item", - "description": "A short text header for the card.", - "example": "sample card item" + "description": "Defines how the sticky note text is vertically aligned.", + "enum": ["top", "middle", "bottom"] } } }, - "CardStylePlatformbulkcreateoperation": { + "StickyNoteCreateRequest": { "type": "object", - "description": "Contains information about the style of a card item, such as the card theme.", "properties": { - "cardTheme": { - "type": "string", - "description": "Hex value of the border color of the card.\nDefault: `#2d9bf0`.", - "example": "#2d9bf0" + "data": { + "$ref": "#/components/schemas/StickyNoteData" + }, + "style": { + "$ref": "#/components/schemas/StickyNoteStyle" + }, + "position": { + "$ref": "#/components/schemas/PositionChange" + }, + "geometry": { + "$ref": "#/components/schemas/FixedRatioNoRotationGeometry" + }, + "parent": { + "$ref": "#/components/schemas/Parent" } } }, - "DocumentUrlDataPlatformbulkcreateoperation": { + "StickyNoteItem": { "type": "object", - "description": "Contains information about the document URL.", "properties": { - "title": { + "id": { "type": "string", - "description": "A short text header to identify the document.", - "example": "Sample document title" + "description": "Unique identifier (ID) of an item.", + "example": "3458764517517819000" }, - "url": { - "type": "string", - "default": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf", - "description": "URL where the document is hosted.", - "example": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf" - } - }, - "required": ["url"] - }, - "EmbedUrlDataPlatformbulkcreateoperation": { - "type": "object", - "description": "Contains information about the embed URL.", - "properties": { - "mode": { - "type": "string", - "description": "Defines how the content in the embed item is displayed on the board.\n`inline`: The embedded content is displayed directly on the board.\n`modal`: The embedded content is displayed inside a modal overlay on the board.", - "enum": ["inline", "modal"] + "data": { + "$ref": "#/components/schemas/StickyNoteData" }, - "previewUrl": { - "type": "string", - "description": "URL of the image to be used as the preview image for the embedded item." + "style": { + "$ref": "#/components/schemas/StickyNoteStyle" }, - "url": { + "position": { + "$ref": "#/components/schemas/Position" + }, + "geometry": { + "$ref": "#/components/schemas/Geometry" + }, + "createdAt": { "type": "string", - "default": "https://www.youtube.com/watch?v=HlVSNEiFCBk", - "description": "A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS." - } - }, - "required": ["url"] - }, - "StickyNoteDataPlatformbulkcreateoperation": { - "type": "object", - "description": "Contains sticky note item data, such as the content or shape of the sticky note.", - "properties": { - "content": { + "format": "date-time", + "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" + }, + "createdBy": { + "$ref": "#/components/schemas/createdBy" + }, + "modifiedAt": { "type": "string", - "description": "The actual text (content) that appears in the sticky note item.", - "example": "Hello" + "format": "date-time", + "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" }, - "shape": { + "modifiedBy": { + "$ref": "#/components/schemas/modifiedBy" + }, + "parent": { + "$ref": "#/components/schemas/ParentLinksEnvelope" + }, + "links": { + "$ref": "#/components/schemas/WidgetLinks" + }, + "type": { "type": "string", - "default": "square", - "description": "Defines the geometric shape of the sticky note and aspect ratio for its dimensions.", - "enum": ["square", "rectangle"] + "description": "Type of item that is returned.", + "example": "sticky_note" } - } + }, + "required": ["id", "type"] }, - "StickyNoteStylePlatformbulkcreateoperation": { + "UpdateStickyNoteStyle": { "type": "object", "description": "Contains information about the style of a sticky note item, such as the fill color or text alignment.", "properties": { "fillColor": { "type": "string", - "description": "Fill color for the sticky note.\nDefault: `light_yellow`.", + "description": "Fill color for the sticky note.", "enum": [ "gray", "light_yellow", @@ -19438,351 +14481,362 @@ }, "textAlign": { "type": "string", - "description": "Defines how the sticky note text is horizontally aligned.\nDefault: `center`.", + "description": "Defines how the sticky note text is horizontally aligned.", "enum": ["left", "right", "center"] }, "textAlignVertical": { "type": "string", - "description": "Defines how the sticky note text is vertically aligned.\nDefault: `top`.", + "description": "Defines how the sticky note text is vertically aligned.", "enum": ["top", "middle", "bottom"] } } }, - "TextDataPlatformbulkcreateoperation": { - "type": "object", - "description": "Contains text item data, such as the title, content, or description. For more information on the JSON properties, see [Data](https://developers.miro.com/reference/data).", - "properties": { - "content": { - "type": "string", - "description": "The actual text (content) that appears in the text item.", - "example": "Hello" - } - }, - "required": ["content"] - }, - "CustomFieldPlatformbulkcreateoperation": { + "StickyNoteUpdateRequest": { "type": "object", - "description": "Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.", "properties": { - "fillColor": { - "type": "string", - "description": "Hex value representing the color that fills the background area of the preview field, when it's displayed on the app card.", - "example": "#2fa9e3" - }, - "iconShape": { - "type": "string", - "default": "round", - "description": "The shape of the icon on the preview field.", - "enum": ["round", "square"] - }, - "iconUrl": { - "type": "string", - "description": "A valid URL pointing to an image available online.\nThe transport protocol must be HTTPS.\nPossible image file formats: JPG/JPEG, PNG, SVG.", - "example": "https://cdn-icons-png.flaticon.com/512/5695/5695864.png" - }, - "textColor": { - "type": "string", - "description": "Hex value representing the color of the text string assigned to `value`.", - "example": "#1a1a1a" + "data": { + "$ref": "#/components/schemas/StickyNoteData" }, - "tooltip": { - "type": "string", - "description": "A short text displayed in a tooltip when clicking or hovering over the preview field.", - "example": "Completion status indicator" + "style": { + "$ref": "#/components/schemas/UpdateStickyNoteStyle" }, - "value": { - "type": "string", - "description": "The actual data value of the custom field.\nIt can be any type of information that you want to convey.", - "example": "Status: in progress" - } - } - }, - "GeometryPlatformbulkcreateoperation": { - "type": "object", - "description": "Contains geometrical information about the item, such as its width or height.", - "properties": { - "height": { - "type": "number", - "format": "double", - "description": "Height of the item, in pixels.", - "example": 60 + "position": { + "$ref": "#/components/schemas/PositionChange" }, - "rotation": { - "type": "number", - "format": "double", - "description": "Rotation angle of an item, in degrees, relative to the board. You can rotate items clockwise (right) and counterclockwise (left) by specifying positive and negative values, respectively." + "geometry": { + "$ref": "#/components/schemas/FixedRatioNoRotationGeometry" }, - "width": { - "type": "number", - "format": "double", - "description": "Width of the item, in pixels.", - "example": 320 + "parent": { + "$ref": "#/components/schemas/Parent" } } }, - "ItemChanges": { + "TextCreateRequest": { "type": "object", - "description": "Updates one or more items in one request. You can update up to 20 items per request.", - "properties": { - "id": { - "$ref": "#/components/schemas/ItemId" - }, - "type": { - "$ref": "#/components/schemas/ItemTypeChange" - }, + "properties": { "data": { - "$ref": "#/components/schemas/ItemDataChanges" + "$ref": "#/components/schemas/TextData" }, "style": { - "$ref": "#/components/schemas/ItemStyle" + "$ref": "#/components/schemas/TextStyle" }, "position": { "$ref": "#/components/schemas/PositionChange" }, "geometry": { - "$ref": "#/components/schemas/Geometry" + "$ref": "#/components/schemas/WidthOnlyAdjustableGeometry" }, "parent": { "$ref": "#/components/schemas/Parent" } - } + }, + "required": ["data"] }, - "ItemCreate": { + "TextItem": { "type": "object", - "description": "Creates one or more items in one request. You can create up to 20 items per request.", "properties": { - "type": { - "$ref": "#/components/schemas/ItemTypeChange" + "id": { + "type": "string", + "description": "Unique identifier (ID) of an item.", + "example": "3458764517517819000" }, "data": { - "$ref": "#/components/schemas/ItemDataCreate" + "$ref": "#/components/schemas/TextData" }, "style": { - "$ref": "#/components/schemas/ItemStyle" + "$ref": "#/components/schemas/TextStyle" }, "position": { - "$ref": "#/components/schemas/PositionChange" + "$ref": "#/components/schemas/Position" }, "geometry": { "$ref": "#/components/schemas/Geometry" }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" + }, + "createdBy": { + "$ref": "#/components/schemas/createdBy" + }, + "modifiedAt": { + "type": "string", + "format": "date-time", + "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" + }, + "modifiedBy": { + "$ref": "#/components/schemas/modifiedBy" + }, "parent": { - "$ref": "#/components/schemas/Parent" - } - }, - "required": ["type"] - }, - "ItemDataChanges": { - "type": "object", - "description": "Provides information about item-specific fields for update request.", - "oneOf": [ - { - "$ref": "#/components/schemas/AppCardData" + "$ref": "#/components/schemas/ParentLinksEnvelope" }, - { - "$ref": "#/components/schemas/ImageUrlDataChanges" + "links": { + "$ref": "#/components/schemas/WidgetLinks" + }, + "type": { + "type": "string", + "description": "Type of item that is returned.", + "example": "text" } - ] + }, + "required": ["id", "type"] }, - "ItemDataCreate": { + "UpdateTextStyle": { "type": "object", - "description": "Contains data information applicable for each item type.", - "oneOf": [ - { - "$ref": "#/components/schemas/AppCardData" - }, - { - "$ref": "#/components/schemas/CardData" - }, - { - "$ref": "#/components/schemas/DocumentUrlData" + "description": "Contains information about the style of a text item, such as the fill color or font family.", + "properties": { + "color": { + "type": "string", + "description": "Hex value representing the color for the text within the text item.", + "example": "#1a1a1a" }, - { - "$ref": "#/components/schemas/EmbedUrlData" + "fillColor": { + "type": "string", + "description": "Background color of the text item.", + "example": "#e6e6e6" }, - { - "$ref": "#/components/schemas/ImageUrlData" + "fillOpacity": { + "type": "string", + "description": "Opacity level of the background color.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible\n`1.0`: the background color is completely opaque or solid", + "maximum": 1, + "minimum": 0 }, - { - "$ref": "#/components/schemas/ShapeData" + "fontFamily": { + "type": "string", + "description": "Font type for the text in the text item.", + "enum": [ + "arial", + "abril_fatface", + "bangers", + "eb_garamond", + "georgia", + "graduate", + "gravitas_one", + "fredoka_one", + "nixie_one", + "open_sans", + "permanent_marker", + "pt_sans", + "pt_sans_narrow", + "pt_serif", + "rammetto_one", + "roboto", + "roboto_condensed", + "roboto_slab", + "caveat", + "times_new_roman", + "titan_one", + "lemon_tuesday", + "roboto_mono", + "noto_sans", + "plex_sans", + "plex_serif", + "plex_mono", + "spoof", + "tiempos_text", + "formular" + ] }, - { - "$ref": "#/components/schemas/StickyNoteData" + "fontSize": { + "type": "string", + "description": "Font size, in dp.", + "minimum": 1 }, - { - "$ref": "#/components/schemas/TextData" + "textAlign": { + "type": "string", + "description": "Horizontal alignment for the item's content.", + "enum": ["left", "right", "center"] } - ] + } }, - "ItemsPage": { + "TextUpdateRequest": { "type": "object", - "description": "Contains cursor-based items page information.", "properties": { - "size": { - "type": "integer", - "format": "int32", - "description": "Number of results returned in the response considering the `cursor` and the `limit` values sent in the request. For example, if there are `20` results, the request does not have a `cursor` value, and the `limit` set to `10`, the `size` of the results will be `10`.
In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection.", - "example": 1 + "data": { + "$ref": "#/components/schemas/TextData" }, - "limit": { - "type": "integer", - "format": "int32", - "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `20` results, the request has no `cursor` value, and the `limit` is set to `20`,the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the `cursor` parameter value that you obtained from the response.", - "example": 10 + "style": { + "$ref": "#/components/schemas/UpdateTextStyle" }, - "total": { - "type": "integer", - "format": "int64", - "description": "Total number of results available for the given request.", - "example": 11 + "position": { + "$ref": "#/components/schemas/PositionChange" }, - "data": { - "type": "array", - "description": "Contains the result data.", - "items": { - "$ref": "#/components/schemas/Item" - } + "geometry": { + "$ref": "#/components/schemas/WidthOnlyAdjustableGeometry" }, - "links": { - "$ref": "#/components/schemas/PageLinks" + "parent": { + "$ref": "#/components/schemas/Parent" + } + } + }, + "UserInfoShort": { + "type": "object", + "description": "Contains information about the user who created the board.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier (ID) of the user.", + "example": "3074457353169356300" + }, + "name": { + "type": "string", + "description": "Name of the user.", + "example": "John Smith" }, "type": { "type": "string", - "description": "Type of the object.", - "example": "cursor-list" + "description": "Indicates the type of object returned. In this case, `type` returns `user`.", + "example": "user" } }, - "required": ["type", "size", "limit", "total", "data", "links"] + "required": ["id", "name", "type"] }, - "ItemTypeChange": { - "type": "string", - "description": "Type of item that you want to create.", - "enum": ["app_card", "text", "shape", "sticky_note", "image", "document", "card", "frame", "embed"], - "example": "text" + "UserInfoLastOpenedBy": { + "type": "object", + "description": "Contains information about the user who opened the board last.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier (ID) of the user.", + "example": "3074457353169356300" + }, + "name": { + "type": "string", + "description": "Name of the user.", + "example": "John Smith" + }, + "type": { + "type": "string", + "description": "Indicates the type of object returned. In this case, `type` returns `user`.", + "example": "user" + } + } }, - "ImageUrlDataPlatformbulkcreateoperation": { + "GetBoardUserInfoLastOpenedBy": { "type": "object", - "description": "Contains information about the image URL.", + "description": "Contains information about the user who last opened the board.", "properties": { - "title": { + "id": { "type": "string", - "description": "A short text header to identify the image.", - "example": "Sample image title" + "description": "Unique identifier (ID) of the user.", + "example": "3074457353169356300" }, - "url": { + "name": { "type": "string", - "default": "https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png", - "description": "URL of the image.", - "example": "https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png" + "description": "Name of the user.", + "example": "John Smith" + }, + "type": { + "type": "string", + "description": "Indicates the type of object returned. In this case, `type` returns `user`.", + "example": "user" } }, - "required": ["url"] + "required": ["id", "name", "type"] }, - "ImageUrlDataChangesPlatformbulkcreateoperation": { + "WidthOnlyAdjustableGeometry": { "type": "object", - "description": "Contains information about the image URL.", + "description": "Contains geometrical information about the item, such as its width or rotation. You can only specify the width of the text item as the height is dynamically updated based on the content.", "properties": { - "title": { - "type": "string", - "description": "A short text header to identify the image.", - "example": "Test image title" + "rotation": { + "type": "number", + "format": "double", + "description": "Rotation angle of an item, in degrees, relative to the board. You can rotate items clockwise (right) and counterclockwise (left) by specifying positive and negative values, respectively." }, - "url": { - "type": "string", - "description": "URL of the image.", - "example": "https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png" + "width": { + "type": "number", + "format": "double", + "description": "Width of the item, in pixels.\nThe minimum `width` of a `text` widget is relative to the font size of the `text` widget. The width must be at least 1.7 times wider than the font size.\nFor example, if the font size of the `text` item is `14`, the minimum `width` is `24`." } } }, - "Error": { + "AppCardDataResponse": { "type": "object", - "description": "Error information", + "description": "Contains app card item data, such as the title, description, or fields.", "properties": { - "code": { + "description": { "type": "string", - "description": "Code of the error", - "example": 2.074 + "description": "A short text description to add context about the app card.", + "example": "Sample app card description" }, - "message": { - "type": "string", - "description": "Description of the error", - "example": "Error message" + "fields": { + "type": "array", + "description": "Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.", + "items": { + "$ref": "#/components/schemas/CustomField" + } }, - "context": { - "type": "object" + "owned": { + "type": "boolean", + "description": "Defines whether the card is owned by the application making the call." }, "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 + "type": "string", + "description": "Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns `disabled`.", + "enum": ["disconnected", "connected", "disabled"] }, - "type": { + "title": { "type": "string", - "description": "Type of entity that is returned.", - "example": "error" + "description": "A short text header to identify the app card.", + "example": "sample app card item" } - }, - "required": ["message", "type"] + } }, - "BulkOperationError": { + "AppCardStylePlatformbulkcreateoperation": { "type": "object", - "description": "Error information with details about operation failure", + "description": "Contains information about the style of an app card item, such as the fill color.", "properties": { - "type": { + "fillColor": { "type": "string", - "description": "Type of the error", - "example": "error" - }, - "code": { + "description": "Hex value of the border color of the app card.\nDefault: `#2d9bf0`.", + "example": "#2d9bf0" + } + } + }, + "CardDataPlatformbulkcreateoperation": { + "type": "object", + "description": "Contains card item data, such as the title, description, due date, or assignee ID.", + "properties": { + "assigneeId": { "type": "string", - "description": "Code of the error", - "example": 2.074 + "format": "int64", + "description": "Unique user identifier. In the GUI, the user ID is mapped to the name of the user who is assigned as the owner of the task or activity described in the card. The identifier is a string containing numbers, and it is automatically assigned to a user when they first sign up.", + "example": "3074457362577955300" }, - "message": { + "description": { "type": "string", - "description": "Description of the error", - "example": "Error message" + "description": "A short text description to add context about the card.", + "example": "sample card description" }, - "context": { - "type": "object", - "properties": { - "fields": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BulkSubOperationError" - } - } - } + "dueDate": { + "type": "string", + "format": "date-time", + "description": "The date when the task or activity described in the card is due to be completed. In the GUI, users can select the due date from a calendar. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2023-10-12T22:00:55.000Z" }, - "status": { - "type": "integer", - "format": "int32", - "description": "Status code of the error", - "example": 400 + "title": { + "type": "string", + "default": "sample card item", + "description": "A short text header for the card.", + "example": "sample card item" } - }, - "required": ["message"] + } }, - "BulkSubOperationError": { + "CardStylePlatformbulkcreateoperation": { "type": "object", + "description": "Contains information about the style of a card item, such as the card theme.", "properties": { - "field": { - "type": "string", - "description": "0-based index indicating a sub-operations from the input that caused a failure followed by parameter name" - }, - "message": { + "cardTheme": { "type": "string", - "description": "Description of the sub-operation related error", - "example": "Invalid parameters" - }, - "context": { - "type": "object" + "description": "Hex value of the border color of the card.\nDefault: `#2d9bf0`.", + "example": "#2d9bf0" } - }, - "required": ["field", "message"] + } }, - "DocumentUrlData": { + "DocumentUrlDataPlatformbulkcreateoperation": { "type": "object", "description": "Contains information about the document URL.", "properties": { @@ -19800,7 +14854,7 @@ }, "required": ["url"] }, - "EmbedUrlData": { + "EmbedUrlDataPlatformbulkcreateoperation": { "type": "object", "description": "Contains information about the embed URL.", "properties": { @@ -19809,251 +14863,336 @@ "description": "Defines how the content in the embed item is displayed on the board.\n`inline`: The embedded content is displayed directly on the board.\n`modal`: The embedded content is displayed inside a modal overlay on the board.", "enum": ["inline", "modal"] }, - "previewUrl": { + "previewUrl": { + "type": "string", + "description": "URL of the image to be used as the preview image for the embedded item." + }, + "url": { + "type": "string", + "default": "https://www.youtube.com/watch?v=HlVSNEiFCBk", + "description": "A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS." + } + }, + "required": ["url"] + }, + "EmbedDataResponse": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "description": "Type of the embedded item's content.", + "example": "video" + }, + "description": { + "type": "string", + "description": "Short description of the embedded item.", + "example": "So this is how to organize your life with Miro (a virtual whiteboard) for collaboration, brainstorming, and project management. Students, designers, agile en..." + }, + "html": { + "type": "string", + "description": "HTML code of the embedded item.", + "example": "" + }, + "mode": { + "type": "string", + "description": "Defines how the content in the embed item is displayed on the board.\n`inline`: The embedded content is displayed directly on the board.\n`modal`: The embedded content is displayed inside a modal overlay on the board.", + "enum": ["inline", "modal"] + }, + "previewUrl": { + "type": "string", + "description": "The URL to download the resource. You must use your access token to access the URL.\nThe URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters:\n`format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`.\n`redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file.\nIf the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, 'image/svg', or 'image/jpg', depending on the original image type.", + "example": "https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?format=preview&redirect=false" + }, + "providerName": { + "type": "string", + "description": "Name of the content's provider.", + "example": "YouTube" + }, + "providerUrl": { + "type": "string", + "description": "Url of the content's provider.", + "example": "https://www.youtube.com/" + }, + "title": { + "type": "string", + "description": "Title of the embedded item.", + "example": "HOW TO ORGANIZE YOUR LIFE WITH MIRO! ?? Virtual Whiteboard Tour" + }, + "url": { + "type": "string", + "description": "A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS.", + "example": "https://www.youtube.com/watch?v=HlVSNEiFCBk" + } + } + }, + "ShapeStyle": { + "type": "object", + "description": "Contains information about the shape style, such as the border color or opacity.", + "properties": { + "borderColor": { + "type": "string", + "description": "Defines the color of the border of the shape.\nDefault: `#1a1a1a` (dark gray)." + }, + "borderOpacity": { + "type": "string", + "description": "Defines the opacity level of the shape border.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible\n`1.0`: the background color is completely opaque or solid\nDefault: `1.0` (solid color).", + "maximum": 1, + "minimum": 0 + }, + "borderStyle": { + "type": "string", + "description": "Defines the style used to represent the border of the shape.\nDefault: `normal`.", + "enum": ["normal", "dotted", "dashed"] + }, + "borderWidth": { + "type": "string", + "description": "Defines the thickness of the shape border, in dp.\nDefault: `2.0`.", + "maximum": 24, + "minimum": 1 + }, + "color": { + "type": "string", + "description": "Hex value representing the color for the text within the shape item.\nDefault: `#1a1a1a`.", + "example": "#1a1a1a" + }, + "fillColor": { + "type": "string", + "description": "Fill color for the shape.\nHex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`\nDefault: #ffffff.", + "example": "#8fd14f" + }, + "fillOpacity": { + "type": "string", + "description": "Opacity level of the fill color.\nPossible values: any number between `0` and `1`, where:\n`0.0`: the background color is completely transparent or invisible.\n`1.0`: the background color is completely opaque or solid.\n\n Default: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided.\n", + "maximum": 1, + "minimum": 0 + }, + "fontFamily": { + "type": "string", + "description": "Defines the font type for the text in the shape item.\nDefault: `arial`.", + "enum": [ + "arial", + "abril_fatface", + "bangers", + "eb_garamond", + "georgia", + "graduate", + "gravitas_one", + "fredoka_one", + "nixie_one", + "open_sans", + "permanent_marker", + "pt_sans", + "pt_sans_narrow", + "pt_serif", + "rammetto_one", + "roboto", + "roboto_condensed", + "roboto_slab", + "caveat", + "times_new_roman", + "titan_one", + "lemon_tuesday", + "roboto_mono", + "noto_sans", + "plex_sans", + "plex_serif", + "plex_mono", + "spoof", + "tiempos_text", + "formular" + ] + }, + "fontSize": { "type": "string", - "description": "URL of the image to be used as the preview image for the embedded item." + "description": "Defines the font size, in dp, for the text on the shape.\nDefault: `14`.", + "maximum": 288, + "minimum": 10 }, - "url": { - "type": "string", - "default": "https://www.youtube.com/watch?v=HlVSNEiFCBk", - "description": "A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS." - } - }, - "required": ["url"] - }, - "ImageUrlData": { - "type": "object", - "description": "Contains information about the image URL.", - "properties": { - "title": { + "textAlign": { "type": "string", - "description": "A short text header to identify the image.", - "example": "Sample image title" + "description": "Defines how the sticky note text is horizontally aligned.\nDefault: `center`.", + "enum": ["left", "right", "center"] }, - "url": { + "textAlignVertical": { "type": "string", - "default": "https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png", - "description": "URL of the image.", - "example": "https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png" + "description": "Defines how the sticky note text is vertically aligned.\nDefault: `top`.", + "enum": ["top", "middle", "bottom"] } - }, - "required": ["url"] + } }, - "ImageUrlDataChanges": { + "StickyNoteDataPlatformbulkcreateoperation": { "type": "object", - "description": "Contains information about the image URL.", + "description": "Contains sticky note item data, such as the content or shape of the sticky note.", "properties": { - "title": { + "content": { "type": "string", - "description": "A short text header to identify the image.", - "example": "Test image title" + "description": "The actual text (content) that appears in the sticky note item.", + "example": "Hello" }, - "url": { + "shape": { "type": "string", - "description": "URL of the image.", - "example": "https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png" + "default": "square", + "description": "Defines the geometric shape of the sticky note and aspect ratio for its dimensions.", + "enum": ["square", "rectangle"] } } }, - "FrameChanges": { + "StickyNoteStylePlatformbulkcreateoperation": { "type": "object", - "description": "Contains frame item data, such as the title, frame type, or frame format.", + "description": "Contains information about the style of a sticky note item, such as the fill color or text alignment.", "properties": { - "format": { + "fillColor": { "type": "string", - "default": "custom", - "description": "Only custom frames are supported at the moment.", - "enum": ["custom"] + "description": "Fill color for the sticky note.\nDefault: `light_yellow`.", + "enum": [ + "gray", + "light_yellow", + "yellow", + "orange", + "light_green", + "green", + "dark_green", + "cyan", + "light_pink", + "pink", + "violet", + "red", + "light_blue", + "blue", + "dark_blue", + "black" + ] }, - "title": { + "textAlign": { "type": "string", - "default": "Sample frame title", - "description": "Title of the frame. This title appears at the top of the frame." + "description": "Defines how the sticky note text is horizontally aligned.\nDefault: `center`.", + "enum": ["left", "right", "center"] }, - "type": { + "textAlignVertical": { "type": "string", - "default": "freeform", - "description": "Only free form frames are supported at the moment.", - "enum": ["freeform"] - }, - "showContent": { - "type": "boolean", - "default": true, - "description": "Hide or reveal the content inside a frame (Enterprise plan only)." + "description": "Defines how the sticky note text is vertically aligned.\nDefault: `top`.", + "enum": ["top", "middle", "bottom"] } } }, - "FrameCreateRequest": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/FrameChanges" - }, - "style": { - "$ref": "#/components/schemas/FrameStyle" - }, - "position": { - "$ref": "#/components/schemas/PositionChange" - }, - "geometry": { - "$ref": "#/components/schemas/GeometryNoRotation" - } - }, - "required": ["data"] - }, - "FrameDataPlatformContainers": { + "TextDataPlatformbulkcreateoperation": { "type": "object", - "description": "Contains frame item data, such as the title, frame type, or frame format.", + "description": "Contains text item data, such as the title, content, or description. For more information on the JSON properties, see [Data](https://developers.miro.com/reference/data).", "properties": { - "format": { - "type": "string", - "default": "custom", - "description": "Only custom frames are supported at the moment.", - "enum": ["custom", "desktop", "phone", "tablet", "a4", "letter", "ratio_1x1", "ratio_4x3", "ratio_16x9"] - }, - "title": { - "type": "string", - "description": "Title of the frame. This title appears at the top of the frame.", - "example": "Sample frame title" - }, - "type": { + "content": { "type": "string", - "default": "freeform", - "description": "Only free form frames are supported at the moment.", - "enum": ["freeform", "heap", "grid", "rows", "columns", "unknown"] - }, - "showContent": { - "type": "boolean", - "default": true, - "description": "Hide or reveal the content inside a frame (Enterprise plan only)." + "description": "The actual text (content) that appears in the text item.", + "example": "Hello" } - } + }, + "required": ["content"] }, - "FrameItem": { + "TextStyle": { "type": "object", + "description": "Contains information about the style of a text item, such as the fill color or font family.", "properties": { - "id": { + "color": { "type": "string", - "description": "Unique identifier (ID) of an item.", - "example": "3458764517517819000" - }, - "data": { - "$ref": "#/components/schemas/FrameData" - }, - "style": { - "$ref": "#/components/schemas/FrameStyle" - }, - "position": { - "$ref": "#/components/schemas/Position" - }, - "geometry": { - "$ref": "#/components/schemas/Geometry" + "description": "Hex value representing the color for the text within the text item.\nDefault: `#1a1a1a`.", + "example": "#1a1a1a" }, - "createdAt": { + "fillColor": { "type": "string", - "format": "date-time", - "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" - }, - "createdBy": { - "$ref": "#/components/schemas/createdBy" + "description": "Background color of the text item.\nDefault: `#ffffff`.", + "example": "#e6e6e6" }, - "modifiedAt": { + "fillOpacity": { "type": "string", - "format": "date-time", - "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" - }, - "modifiedBy": { - "$ref": "#/components/schemas/modifiedBy" - }, - "links": { - "$ref": "#/components/schemas/WidgetLinks" + "description": "Opacity level of the background color.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible.\n`1.0`: the background color is completely opaque or solid.\nDefault: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided.", + "maximum": 1, + "minimum": 0 }, - "type": { + "fontFamily": { "type": "string", - "description": "Type of item that is returned.", - "example": "frame" - } - }, - "required": ["id", "type"] - }, - "FrameStyle": { - "type": "object", - "description": "Contains information about the style of a frame item, such as the fill color.", - "properties": { - "fillColor": { + "description": "Font type for the text in the text item.\nDefault: `arial`.", + "enum": [ + "arial", + "abril_fatface", + "bangers", + "eb_garamond", + "georgia", + "graduate", + "gravitas_one", + "fredoka_one", + "nixie_one", + "open_sans", + "permanent_marker", + "pt_sans", + "pt_sans_narrow", + "pt_serif", + "rammetto_one", + "roboto", + "roboto_condensed", + "roboto_slab", + "caveat", + "times_new_roman", + "titan_one", + "lemon_tuesday", + "roboto_mono", + "noto_sans", + "plex_sans", + "plex_serif", + "plex_mono", + "spoof", + "tiempos_text", + "formular" + ] + }, + "fontSize": { "type": "string", - "description": "Fill color for the frame.\nHex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`\nDefault: #ffffffff (transparent).", - "example": "#ffffffff" + "description": "Font size, in dp.\nDefault: `14`.", + "minimum": 1 + }, + "textAlign": { + "type": "string", + "description": "Horizontal alignment for the item's content.\nDefault: `center.`", + "enum": ["left", "right", "center"] } } }, - "UpdateFrameStyle": { + "CustomFieldPlatformbulkcreateoperation": { "type": "object", - "description": "Contains information about the style of a frame item, such as the fill color.", + "description": "Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.", "properties": { "fillColor": { "type": "string", - "description": "Fill color for the frame.\nHex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`", - "example": "#ffffffff" - } - } - }, - "FrameUpdateRequest": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/FrameChanges" - }, - "style": { - "$ref": "#/components/schemas/UpdateFrameStyle" - }, - "position": { - "$ref": "#/components/schemas/PositionChange" - }, - "geometry": { - "$ref": "#/components/schemas/GeometryNoRotation" - } - } - }, - "GenericItemCursorPagedPlatformContainers": { - "type": "object", - "properties": { - "data": { - "type": "array", - "description": "Contains the result data.", - "items": { - "$ref": "#/components/schemas/GenericItem" - } + "description": "Hex value representing the color that fills the background area of the preview field, when it's displayed on the app card.", + "example": "#2fa9e3" }, - "total": { - "type": "integer", - "format": "int64" + "iconShape": { + "type": "string", + "default": "round", + "description": "The shape of the icon on the preview field.", + "enum": ["round", "square"] }, - "size": { - "type": "integer", - "format": "int32", - "description": "Number of results returned in the response considering the `cursor` and the `limit` values sent in the request. For example, if there are `20` results, the request does not have a `cursor` value, and the `limit` set to `10`, the `size` of the results will be `10`.
In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection.", - "example": 1 + "iconUrl": { + "type": "string", + "description": "A valid URL pointing to an image available online.\nThe transport protocol must be HTTPS.\nPossible image file formats: JPG/JPEG, PNG, SVG.", + "example": "https://cdn-icons-png.flaticon.com/512/5695/5695864.png" }, - "cursor": { + "textColor": { "type": "string", - "description": "A cursor-paginated method returns a portion of the total set of results based on the `limit` specified and a `cursor` that points to the next portion of the results. To retrieve the next set of results of the collection, set the `cursor` parameter in your next request to the value returned in this parameter.", - "example": "MzQ1ODc2NDUyMjQ5MDA4Mjg5NX4=" + "description": "Hex value representing the color of the text string assigned to `value`.", + "example": "#1a1a1a" }, - "limit": { - "type": "integer", - "format": "int32", - "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `20` results, the request has no `cursor` value, and the `limit` is set to `20`,the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the `cursor` parameter value that you obtained from the response.", - "example": 20 + "tooltip": { + "type": "string", + "description": "A short text displayed in a tooltip when clicking or hovering over the preview field.", + "example": "Completion status indicator" }, - "links": { - "$ref": "#/components/schemas/PageLinks" + "value": { + "type": "string", + "description": "The actual data value of the custom field.\nIt can be any type of information that you want to convey.", + "example": "Status: in progress" } } }, - "GeometryPlatformContainers": { + "GeometryPlatformbulkcreateoperation": { "type": "object", "description": "Contains geometrical information about the item, such as its width or height.", "properties": { @@ -20076,388 +15215,351 @@ } } }, - "GeometryNoRotation": { - "type": "object", - "description": "Contains geometrical information about the item, such as its width or height.", - "properties": { - "height": { - "type": "number", - "format": "double", - "description": "Height of the item, in pixels." - }, - "width": { - "type": "number", - "format": "double", - "description": "Width of the item, in pixels." - } - } - }, - "OpaqueData": { - "type": "object" - }, - "ParentLinksEnvelopePlatformContainers": { + "ItemChanges": { "type": "object", - "description": "Contains information about the parent frame for the item.", + "description": "Updates one or more items in one request. You can update up to 20 items per request.", "properties": { "id": { - "type": "string", - "format": "int64", - "description": "Unique identifier (ID) of the parent frame for the item.", - "example": "3074457362577955300" + "$ref": "#/components/schemas/ItemId" }, - "links": { - "$ref": "#/components/schemas/SelfLink" + "type": { + "$ref": "#/components/schemas/ItemTypeChange" + }, + "data": { + "$ref": "#/components/schemas/ItemDataChanges" + }, + "style": { + "$ref": "#/components/schemas/ItemStyle" + }, + "position": { + "$ref": "#/components/schemas/PositionChange" + }, + "geometry": { + "$ref": "#/components/schemas/Geometry" + }, + "parent": { + "$ref": "#/components/schemas/Parent" } } }, - "WidgetLinksPlatformContainers": { + "ItemCreate": { "type": "object", - "description": "Contains applicable links for the item.", + "description": "Creates one or more items in one request. You can create up to 20 items per request.", "properties": { - "related": { - "type": "string", - "description": "Link to obtain information about the child items related to the frame.", - "example": "http://api.miro.com/v2/boards/o9J_koQspF4=/items?parent_item_id=307445734914369434&limit=10&cursor=" + "type": { + "$ref": "#/components/schemas/ItemTypeChange" }, - "self": { - "type": "string", - "description": "Link to obtain information about the current item.", - "example": "http://api.miro.com/v2/boards/o9J_koQspF4=/item/3074457349143649487" + "data": { + "$ref": "#/components/schemas/ItemDataCreate" + }, + "style": { + "$ref": "#/components/schemas/ItemStyle" + }, + "position": { + "$ref": "#/components/schemas/PositionChange" + }, + "geometry": { + "$ref": "#/components/schemas/Geometry" + }, + "parent": { + "$ref": "#/components/schemas/Parent" } - } + }, + "required": ["type"] }, - "createdByPlatformContainers": { + "ItemDataChanges": { "type": "object", - "description": "Contains information about the user who created the item.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of the user.", - "example": "3458764517517852417" + "description": "Provides information about item-specific fields for update request.", + "oneOf": [ + { + "$ref": "#/components/schemas/AppCardData" }, - "type": { - "type": "string", - "description": "Indicates the type of object returned. In this case, `type` returns `user`.", - "example": "user" + { + "$ref": "#/components/schemas/ImageUrlDataChanges" } - } + ] }, - "modifiedByPlatformContainers": { + "ItemDataCreate": { "type": "object", - "description": "Contains information about the user who last modified the item.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of the user.", - "example": "3458764517517852417" + "description": "Contains data information applicable for each item type.", + "oneOf": [ + { + "$ref": "#/components/schemas/AppCardData" }, - "type": { - "type": "string", - "description": "Indicates the type of object returned. In this case, `type` returns `user`.", - "example": "user" + { + "$ref": "#/components/schemas/CardData" + }, + { + "$ref": "#/components/schemas/DocumentUrlData" + }, + { + "$ref": "#/components/schemas/EmbedUrlData" + }, + { + "$ref": "#/components/schemas/ImageUrlData" + }, + { + "$ref": "#/components/schemas/ShapeData" + }, + { + "$ref": "#/components/schemas/StickyNoteData" + }, + { + "$ref": "#/components/schemas/TextData" } - } + ] }, - "AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice": { + "ItemsPage": { "type": "object", - "description": "Contains app card item data, such as the title, description, or fields.", + "description": "Contains cursor-based items page information.", "properties": { - "description": { - "type": "string", - "description": "A short text description to add context about the app card.", - "example": "Sample app card description" + "size": { + "type": "integer", + "format": "int32", + "description": "Number of results returned in the response considering the `cursor` and the `limit` values sent in the request. For example, if there are `20` results, the request does not have a `cursor` value, and the `limit` set to `10`, the `size` of the results will be `10`.
In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection.", + "example": 1 }, - "fields": { + "limit": { + "type": "integer", + "format": "int32", + "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `20` results, the request has no `cursor` value, and the `limit` is set to `20`,the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the `cursor` parameter value that you obtained from the response.", + "example": 10 + }, + "total": { + "type": "integer", + "format": "int64", + "description": "Total number of results available for the given request.", + "example": 11 + }, + "data": { "type": "array", - "description": "Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.", + "description": "Contains the result data.", "items": { - "$ref": "#/components/schemas/CustomField" + "$ref": "#/components/schemas/Item" } }, - "owned": { - "type": "boolean", - "description": "Defines whether the card is owned by the application making the call." - }, - "status": { - "type": "string", - "description": "Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns `disabled`.", - "enum": ["disconnected", "connected", "disabled"] + "links": { + "$ref": "#/components/schemas/PageLinks" }, - "title": { - "type": "string", - "description": "A short text header to identify the app card.", - "example": "sample app card item" - } - } - }, - "AppCardStylePlatformcreateitemsinbulkusingfilefromdevice": { - "type": "object", - "description": "Contains information about the style of an app card item, such as the fill color.", - "properties": { - "fillColor": { + "type": { "type": "string", - "description": "Hex value of the border color of the app card.\nDefault: `#2d9bf0`.", - "example": "#2d9bf0" + "description": "Type of the object.", + "example": "cursor-list" } - } + }, + "required": ["type", "size", "limit", "total", "data", "links"] }, - "CardDataPlatformcreateitemsinbulkusingfilefromdevice": { + "ItemStyle": { "type": "object", - "description": "Contains card item data, such as the title, description, due date, or assignee ID.", - "properties": { - "assigneeId": { - "type": "string", - "format": "int64", - "description": "Unique user identifier. In the GUI, the user ID is mapped to the name of the user who is assigned as the owner of the task or activity described in the card. The identifier is a string containing numbers, and it is automatically assigned to a user when they first sign up.", - "example": "3074457362577955300" + "description": "Contains information about item-specific styles.", + "oneOf": [ + { + "$ref": "#/components/schemas/AppCardStyle" }, - "description": { - "type": "string", - "description": "A short text description to add context about the card.", - "example": "sample card description" + { + "$ref": "#/components/schemas/CardStyle" }, - "dueDate": { - "type": "string", - "format": "date-time", - "description": "The date when the task or activity described in the card is due to be completed. In the GUI, users can select the due date from a calendar. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2023-10-12T22:00:55.000Z" + { + "$ref": "#/components/schemas/ShapeStyle" }, - "title": { - "type": "string", - "default": "sample card item", - "description": "A short text header for the card.", - "example": "sample card item" + { + "$ref": "#/components/schemas/StickyNoteStyle" + }, + { + "$ref": "#/components/schemas/TextStyle" } - } + ] }, - "CardStylePlatformcreateitemsinbulkusingfilefromdevice": { - "type": "object", - "description": "Contains information about the style of a card item, such as the card theme.", - "properties": { - "cardTheme": { - "type": "string", - "description": "Hex value of the border color of the card.\nDefault: `#2d9bf0`.", - "example": "#2d9bf0" - } - } + "ItemTypeChange": { + "type": "string", + "description": "Type of item that you want to create.", + "enum": ["app_card", "text", "shape", "sticky_note", "image", "document", "card", "frame", "embed"], + "example": "text" }, - "DocumentDataResponsePlatformcreateitemsinbulkusingfilefromdevice": { + "ImageUrlData": { "type": "object", + "description": "Contains information about the image URL.", "properties": { - "documentUrl": { + "title": { "type": "string", - "description": "The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter to control the request execution.\n`redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file.\nIf the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned is `application/octet-stream`.", - "example": "https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?redirect=false" + "description": "A short text header to identify the image.", + "example": "Sample image title" }, - "title": { + "url": { "type": "string", - "description": "A short text header to identify the document.", - "example": "Sample document title" + "default": "https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png", + "description": "URL of the image.", + "example": "https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png" } - } + }, + "required": ["url"] }, - "EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice": { + "ImageUrlDataChanges": { "type": "object", + "description": "Contains information about the image URL.", "properties": { - "contentType": { - "type": "string", - "description": "Type of the embedded item's content.", - "example": "video" - }, - "description": { - "type": "string", - "description": "Short description of the embedded item.", - "example": "So this is how to organize your life with Miro (a virtual whiteboard) for collaboration, brainstorming, and project management. Students, designers, agile en..." - }, - "html": { - "type": "string", - "description": "HTML code of the embedded item.", - "example": "" - }, - "mode": { - "type": "string", - "description": "Defines how the content in the embed item is displayed on the board.\n`inline`: The embedded content is displayed directly on the board.\n`modal`: The embedded content is displayed inside a modal overlay on the board.", - "enum": ["inline", "modal"] - }, - "previewUrl": { - "type": "string", - "description": "The URL to download the resource. You must use your access token to access the URL.\nThe URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters:\n`format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`.\n`redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file.\nIf the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, 'image/svg', or 'image/jpg', depending on the original image type.", - "example": "https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?format=preview&redirect=false" - }, - "providerName": { - "type": "string", - "description": "Name of the content's provider.", - "example": "YouTube" - }, - "providerUrl": { - "type": "string", - "description": "Url of the content's provider.", - "example": "https://www.youtube.com/" - }, "title": { "type": "string", - "description": "Title of the embedded item.", - "example": "HOW TO ORGANIZE YOUR LIFE WITH MIRO! ?? Virtual Whiteboard Tour" + "description": "A short text header to identify the image.", + "example": "Test image title" }, "url": { "type": "string", - "description": "A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS.", - "example": "https://www.youtube.com/watch?v=HlVSNEiFCBk" + "description": "URL of the image.", + "example": "https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png" } } }, - "ShapeDataPlatformcreateitemsinbulkusingfilefromdevice": { + "Error": { "type": "object", - "description": "Contains shape item data, such as the content or shape type of the shape.", + "description": "Error information", "properties": { - "content": { + "code": { "type": "string", - "description": "The text you want to display on the shape.", - "example": "Hello" + "description": "Code of the error", + "example": 2.074 }, - "shape": { + "message": { "type": "string", - "default": "rectangle", - "description": "Defines the geometric shape of the item when it is rendered on the board.", - "enum": [ - "rectangle", - "round_rectangle", - "circle", - "triangle", - "rhombus", - "parallelogram", - "trapezoid", - "pentagon", - "hexagon", - "octagon", - "wedge_round_rectangle_callout", - "star", - "flow_chart_predefined_process", - "cloud", - "cross", - "can", - "right_arrow", - "left_arrow", - "left_right_arrow", - "left_brace", - "right_brace" - ] + "description": "Description of the error", + "example": "Error message" + }, + "context": { + "type": "object" + }, + "status": { + "type": "integer", + "format": "int32", + "description": "Status code of the error", + "example": 400 + }, + "type": { + "type": "string", + "description": "Type of entity that is returned.", + "example": "error" } - } + }, + "required": ["message", "type"] }, - "ShapeStylePlatformcreateitemsinbulkusingfilefromdevice": { + "BulkOperationError": { "type": "object", - "description": "Contains information about the shape style, such as the border color or opacity.", + "description": "Error information with details about operation failure", "properties": { - "borderColor": { - "type": "string", - "description": "Defines the color of the border of the shape.\nDefault: `#1a1a1a` (dark gray)." - }, - "borderOpacity": { + "type": { "type": "string", - "description": "Defines the opacity level of the shape border.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible\n`1.0`: the background color is completely opaque or solid\nDefault: `1.0` (solid color).", - "maximum": 1, - "minimum": 0 + "description": "Type of the error", + "example": "error" }, - "borderStyle": { + "code": { "type": "string", - "description": "Defines the style used to represent the border of the shape.\nDefault: `normal`.", - "enum": ["normal", "dotted", "dashed"] + "description": "Code of the error", + "example": 2.074 }, - "borderWidth": { + "message": { "type": "string", - "description": "Defines the thickness of the shape border, in dp.\nDefault: `2.0`.", - "maximum": 24, - "minimum": 1 + "description": "Description of the error", + "example": "Error message" }, - "color": { - "type": "string", - "description": "Hex value representing the color for the text within the shape item.\nDefault: `#1a1a1a`.", - "example": "#1a1a1a" + "context": { + "type": "object", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BulkSubOperationError" + } + } + } }, - "fillColor": { + "status": { + "type": "integer", + "format": "int32", + "description": "Status code of the error", + "example": 400 + } + }, + "required": ["message"] + }, + "BulkSubOperationError": { + "type": "object", + "properties": { + "field": { "type": "string", - "description": "Fill color for the shape.\nHex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`\nDefault: #ffffff.", - "example": "#8fd14f" + "description": "0-based index indicating a sub-operations from the input that caused a failure followed by parameter name" }, - "fillOpacity": { + "message": { "type": "string", - "description": "Opacity level of the fill color.\nPossible values: any number between `0` and `1`, where:\n`0.0`: the background color is completely transparent or invisible.\n`1.0`: the background color is completely opaque or solid.\n\n Default: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided.\n", - "maximum": 1, - "minimum": 0 + "description": "Description of the sub-operation related error", + "example": "Invalid parameters" }, - "fontFamily": { + "context": { + "type": "object" + } + }, + "required": ["field", "message"] + }, + "AppCardStyle": { + "type": "object", + "description": "Contains information about the style of an app card item, such as the fill color.", + "properties": { + "fillColor": { "type": "string", - "description": "Defines the font type for the text in the shape item.\nDefault: `arial`.", - "enum": [ - "arial", - "abril_fatface", - "bangers", - "eb_garamond", - "georgia", - "graduate", - "gravitas_one", - "fredoka_one", - "nixie_one", - "open_sans", - "permanent_marker", - "pt_sans", - "pt_sans_narrow", - "pt_serif", - "rammetto_one", - "roboto", - "roboto_condensed", - "roboto_slab", - "caveat", - "times_new_roman", - "titan_one", - "lemon_tuesday", - "roboto_mono", - "noto_sans", - "plex_sans", - "plex_serif", - "plex_mono", - "spoof", - "tiempos_text", - "formular" - ] - }, - "fontSize": { + "description": "Hex value of the border color of the app card.\nDefault: `#2d9bf0`.", + "example": "#2d9bf0" + } + } + }, + "CardStyle": { + "type": "object", + "description": "Contains information about the style of a card item, such as the card theme.", + "properties": { + "cardTheme": { "type": "string", - "description": "Defines the font size, in dp, for the text on the shape.\nDefault: `14`.", - "maximum": 288, - "minimum": 10 - }, - "textAlign": { + "description": "Hex value of the border color of the card.\nDefault: `#2d9bf0`.", + "example": "#2d9bf0" + } + } + }, + "DocumentUrlData": { + "type": "object", + "description": "Contains information about the document URL.", + "properties": { + "title": { "type": "string", - "description": "Defines how the sticky note text is horizontally aligned.\nDefault: `center`.", - "enum": ["left", "right", "center"] + "description": "A short text header to identify the document.", + "example": "Sample document title" }, - "textAlignVertical": { + "url": { "type": "string", - "description": "Defines how the sticky note text is vertically aligned.\nDefault: `top`.", - "enum": ["top", "middle", "bottom"] + "default": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf", + "description": "URL where the document is hosted.", + "example": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf" } - } + }, + "required": ["url"] }, - "StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice": { + "EmbedUrlData": { "type": "object", - "description": "Contains sticky note item data, such as the content or shape of the sticky note.", + "description": "Contains information about the embed URL.", "properties": { - "content": { + "mode": { "type": "string", - "description": "The actual text (content) that appears in the sticky note item.", - "example": "Hello" + "description": "Defines how the content in the embed item is displayed on the board.\n`inline`: The embedded content is displayed directly on the board.\n`modal`: The embedded content is displayed inside a modal overlay on the board.", + "enum": ["inline", "modal"] }, - "shape": { + "previewUrl": { "type": "string", - "default": "square", - "description": "Defines the geometric shape of the sticky note and aspect ratio for its dimensions.", - "enum": ["square", "rectangle"] + "description": "URL of the image to be used as the preview image for the embedded item." + }, + "url": { + "type": "string", + "default": "https://www.youtube.com/watch?v=HlVSNEiFCBk", + "description": "A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS." } - } + }, + "required": ["url"] }, - "StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice": { + "StickyNoteStyle": { "type": "object", "description": "Contains information about the style of a sticky note item, such as the fill color or text alignment.", "properties": { @@ -20495,158 +15597,93 @@ } } }, - "TextDataPlatformcreateitemsinbulkusingfilefromdevice": { - "type": "object", - "description": "Contains text item data, such as the title, content, or description. For more information on the JSON properties, see [Data](https://developers.miro.com/reference/data).", - "properties": { - "content": { - "type": "string", - "description": "The actual text (content) that appears in the text item.", - "example": "Hello" - } - }, - "required": ["content"] - }, - "TextStylePlatformcreateitemsinbulkusingfilefromdevice": { + "FrameChanges": { "type": "object", - "description": "Contains information about the style of a text item, such as the fill color or font family.", + "description": "Contains frame item data, such as the title, frame type, or frame format.", "properties": { - "color": { - "type": "string", - "description": "Hex value representing the color for the text within the text item.\nDefault: `#1a1a1a`.", - "example": "#1a1a1a" - }, - "fillColor": { - "type": "string", - "description": "Background color of the text item.\nDefault: `#ffffff`.", - "example": "#e6e6e6" - }, - "fillOpacity": { + "format": { "type": "string", - "description": "Opacity level of the background color.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible.\n`1.0`: the background color is completely opaque or solid.\nDefault: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided.", - "maximum": 1, - "minimum": 0 + "default": "custom", + "description": "Only custom frames are supported at the moment.", + "enum": ["custom"] }, - "fontFamily": { + "title": { "type": "string", - "description": "Font type for the text in the text item.\nDefault: `arial`.", - "enum": [ - "arial", - "abril_fatface", - "bangers", - "eb_garamond", - "georgia", - "graduate", - "gravitas_one", - "fredoka_one", - "nixie_one", - "open_sans", - "permanent_marker", - "pt_sans", - "pt_sans_narrow", - "pt_serif", - "rammetto_one", - "roboto", - "roboto_condensed", - "roboto_slab", - "caveat", - "times_new_roman", - "titan_one", - "lemon_tuesday", - "roboto_mono", - "noto_sans", - "plex_sans", - "plex_serif", - "plex_mono", - "spoof", - "tiempos_text", - "formular" - ] + "default": "Sample frame title", + "description": "Title of the frame. This title appears at the top of the frame." }, - "fontSize": { + "type": { "type": "string", - "description": "Font size, in dp.\nDefault: `14`.", - "minimum": 1 + "default": "freeform", + "description": "Only free form frames are supported at the moment.", + "enum": ["freeform"] }, - "textAlign": { - "type": "string", - "description": "Horizontal alignment for the item's content.\nDefault: `center.`", - "enum": ["left", "right", "center"] + "showContent": { + "type": "boolean", + "default": true, + "description": "Hide or reveal the content inside a frame (Enterprise plan only)." } } }, - "CustomFieldPlatformcreateitemsinbulkusingfilefromdevice": { + "FrameCreateRequest": { "type": "object", - "description": "Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.", "properties": { - "fillColor": { - "type": "string", - "description": "Hex value representing the color that fills the background area of the preview field, when it's displayed on the app card.", - "example": "#2fa9e3" - }, - "iconShape": { - "type": "string", - "default": "round", - "description": "The shape of the icon on the preview field.", - "enum": ["round", "square"] - }, - "iconUrl": { - "type": "string", - "description": "A valid URL pointing to an image available online.\nThe transport protocol must be HTTPS.\nPossible image file formats: JPG/JPEG, PNG, SVG.", - "example": "https://cdn-icons-png.flaticon.com/512/5695/5695864.png" + "data": { + "$ref": "#/components/schemas/FrameChanges" }, - "textColor": { - "type": "string", - "description": "Hex value representing the color of the text string assigned to `value`.", - "example": "#1a1a1a" + "style": { + "$ref": "#/components/schemas/FrameStyle" }, - "tooltip": { - "type": "string", - "description": "A short text displayed in a tooltip when clicking or hovering over the preview field.", - "example": "Completion status indicator" + "position": { + "$ref": "#/components/schemas/PositionChange" }, - "value": { - "type": "string", - "description": "The actual data value of the custom field.\nIt can be any type of information that you want to convey.", - "example": "Status: in progress" + "geometry": { + "$ref": "#/components/schemas/GeometryNoRotation" } - } + }, + "required": ["data"] }, - "GeometryPlatformcreateitemsinbulkusingfilefromdevice": { + "FrameDataPlatformContainers": { "type": "object", - "description": "Contains geometrical information about the item, such as its width or height.", + "description": "Contains frame item data, such as the title, frame type, or frame format.", "properties": { - "height": { - "type": "number", - "format": "double", - "description": "Height of the item, in pixels.", - "example": 60 + "format": { + "type": "string", + "default": "custom", + "description": "Only custom frames are supported at the moment.", + "enum": ["custom", "desktop", "phone", "tablet", "a4", "letter", "ratio_1x1", "ratio_4x3", "ratio_16x9"] }, - "rotation": { - "type": "number", - "format": "double", - "description": "Rotation angle of an item, in degrees, relative to the board. You can rotate items clockwise (right) and counterclockwise (left) by specifying positive and negative values, respectively." + "title": { + "type": "string", + "description": "Title of the frame. This title appears at the top of the frame.", + "example": "Sample frame title" }, - "width": { - "type": "number", - "format": "double", - "description": "Width of the item, in pixels.", - "example": 320 + "type": { + "type": "string", + "default": "freeform", + "description": "Only free form frames are supported at the moment.", + "enum": ["freeform", "heap", "grid", "rows", "columns", "unknown"] + }, + "showContent": { + "type": "boolean", + "default": true, + "description": "Hide or reveal the content inside a frame (Enterprise plan only)." } } }, - "ItemPlatformcreateitemsinbulkusingfilefromdevice": { + "FrameItem": { "type": "object", - "description": "Contains information about an item.", "properties": { "id": { - "$ref": "#/components/schemas/ItemId" + "type": "string", + "description": "Unique identifier (ID) of an item.", + "example": "3458764517517819000" }, "data": { - "$ref": "#/components/schemas/ItemData" + "$ref": "#/components/schemas/FrameData" }, "style": { - "$ref": "#/components/schemas/ItemStyle" + "$ref": "#/components/schemas/FrameStyle" }, "position": { "$ref": "#/components/schemas/Position" @@ -20654,509 +15691,250 @@ "geometry": { "$ref": "#/components/schemas/Geometry" }, - "parent": { - "$ref": "#/components/schemas/ParentWithLinks" - }, - "isSupported": { - "type": "boolean" + "createdAt": { + "type": "string", + "format": "date-time", + "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" }, "createdBy": { - "$ref": "#/components/schemas/CreatedBy" + "$ref": "#/components/schemas/createdBy" }, - "createdAt": { - "$ref": "#/components/schemas/CreationTime" + "modifiedAt": { + "type": "string", + "format": "date-time", + "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" }, "modifiedBy": { - "$ref": "#/components/schemas/ModifiedBy" - }, - "modifiedAt": { - "$ref": "#/components/schemas/ModificationTime" + "$ref": "#/components/schemas/modifiedBy" }, "links": { - "$ref": "#/components/schemas/SelfLink" - } - }, - "required": ["id", "type", "links"] - }, - "ItemDataPlatformcreateitemsinbulkusingfilefromdevice": { - "type": "object", - "description": "Contains information about item-specific data.", - "oneOf": [ - { - "$ref": "#/components/schemas/AppCardDataResponse" - }, - { - "$ref": "#/components/schemas/CardData" - }, - { - "$ref": "#/components/schemas/DocumentDataResponse" - }, - { - "$ref": "#/components/schemas/EmbedDataResponse" - }, - { - "$ref": "#/components/schemas/ImageDataResponse" - }, - { - "$ref": "#/components/schemas/ShapeData" - }, - { - "$ref": "#/components/schemas/StickyNoteData" - }, - { - "$ref": "#/components/schemas/TextData" - } - ] - }, - "ItemIdPlatformcreateitemsinbulkusingfilefromdevice": { - "type": "string", - "description": "Unique identifier (ID) of an item.", - "format": "int64", - "example": "3458764517517819000" - }, - "ItemsPlatformcreateitemsinbulkusingfilefromdevice": { - "type": "object", - "description": "Contains items resulting from a bulk create or update operation.", - "properties": { - "data": { - "type": "array", - "description": "Contains the result data.", - "items": { - "$ref": "#/components/schemas/Item" - } + "$ref": "#/components/schemas/WidgetLinks" }, "type": { "type": "string", - "description": "Type of the object.", - "example": "fixed-list" + "description": "Type of item that is returned.", + "example": "frame" } }, - "required": ["type", "data"] - }, - "ItemStylePlatformcreateitemsinbulkusingfilefromdevice": { - "type": "object", - "description": "Contains information about item-specific styles.", - "oneOf": [ - { - "$ref": "#/components/schemas/AppCardStyle" - }, - { - "$ref": "#/components/schemas/CardStyle" - }, - { - "$ref": "#/components/schemas/ShapeStyle" - }, - { - "$ref": "#/components/schemas/StickyNoteStyle" - }, - { - "$ref": "#/components/schemas/TextStyle" - } - ] + "required": ["id", "type"] }, - "ImageDataResponsePlatformcreateitemsinbulkusingfilefromdevice": { + "FrameStyle": { "type": "object", + "description": "Contains information about the style of a frame item, such as the fill color.", "properties": { - "imageUrl": { - "type": "string", - "description": "The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, 'image/svg', or 'image/jpg', depending on the original image type.", - "example": "https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?format=preview&redirect=false" - }, - "title": { + "fillColor": { "type": "string", - "description": "A short text header to identify the image.", - "example": "Sample image title" + "description": "Fill color for the frame.\nHex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`\nDefault: #ffffffff (transparent).", + "example": "#ffffffff" } } }, - "CreationTimePlatformcreateitemsinbulkusingfilefromdevice": { - "type": "string", - "format": "date-time", - "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" - }, - "ModificationTimePlatformcreateitemsinbulkusingfilefromdevice": { - "type": "string", - "format": "date-time", - "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", - "example": "2022-03-30T17:26:50.000Z" - }, - "CreatedByPlatformcreateitemsinbulkusingfilefromdevice": { + "UpdateFrameStyle": { "type": "object", - "description": "Contains information about the user who created the item.", + "description": "Contains information about the style of a frame item, such as the fill color.", "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of the user.", - "example": "3458764517517852417" - }, - "type": { + "fillColor": { "type": "string", - "description": "Indicates the type of object returned. In this case, `type` returns `user`.", - "example": "user" + "description": "Fill color for the frame.\nHex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`", + "example": "#ffffffff" } } }, - "ModifiedByPlatformcreateitemsinbulkusingfilefromdevice": { + "FrameUpdateRequest": { "type": "object", - "description": "Contains information about the user who last modified the item.", "properties": { - "id": { - "type": "string", - "description": "Unique identifier (ID) of the user.", - "example": "3458764517517852417" + "data": { + "$ref": "#/components/schemas/FrameChanges" }, - "type": { - "type": "string", - "description": "Indicates the type of object returned. In this case, `type` returns `user`.", - "example": "user" - } - } - }, - "ParentWithLinksPlatformcreateitemsinbulkusingfilefromdevice": { - "type": "object", - "description": "Contains information about the parent this item attached to.", - "properties": { - "id": { - "type": "string", - "format": "int64", - "example": "3458764517517819001", - "description": "Unique identifier (ID) of a container item." + "style": { + "$ref": "#/components/schemas/UpdateFrameStyle" }, - "links": { - "$ref": "#/components/schemas/SelfLink" + "position": { + "$ref": "#/components/schemas/PositionChange" + }, + "geometry": { + "$ref": "#/components/schemas/GeometryNoRotation" } } }, - "XCoordinatePlatformcreateitemsinbulkusingfilefromdevice": { - "type": "number", - "format": "double", - "description": "X-axis coordinate of the location of the item on the board. By default, all items have absolute positioning to the board, not the current viewport. Default: 0. The center point of the board has `x: 0` and `y: 0` coordinates.", - "example": 100 - }, - "YCoordinatePlatformcreateitemsinbulkusingfilefromdevice": { - "type": "number", - "format": "double", - "description": "Y-axis coordinate of the location of the item on the board. By default, all items have absolute positioning to the board, not the current viewport. Default: 0. The center point of the board has `x: 0` and `y: 0` coordinates.", - "example": 100 - }, - "AppCardDataResponse": { + "GenericItemCursorPagedPlatformContainers": { "type": "object", - "description": "Contains app card item data, such as the title, description, or fields.", "properties": { - "description": { - "type": "string", - "description": "A short text description to add context about the app card.", - "example": "Sample app card description" - }, - "fields": { + "data": { "type": "array", - "description": "Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.", + "description": "Contains the result data.", "items": { - "$ref": "#/components/schemas/CustomField" + "$ref": "#/components/schemas/GenericItem" } }, - "owned": { - "type": "boolean", - "description": "Defines whether the card is owned by the application making the call." + "total": { + "type": "integer", + "format": "int64" }, - "status": { + "size": { + "type": "integer", + "format": "int32", + "description": "Number of results returned in the response considering the `cursor` and the `limit` values sent in the request. For example, if there are `20` results, the request does not have a `cursor` value, and the `limit` set to `10`, the `size` of the results will be `10`.
In this example, the response will also return a cursor value that can be used to retrieve the next set of 10 remaining results in the collection.", + "example": 1 + }, + "cursor": { "type": "string", - "description": "Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns `disabled`.", - "enum": ["disconnected", "connected", "disabled"] + "description": "A cursor-paginated method returns a portion of the total set of results based on the `limit` specified and a `cursor` that points to the next portion of the results. To retrieve the next set of results of the collection, set the `cursor` parameter in your next request to the value returned in this parameter.", + "example": "MzQ1ODc2NDUyMjQ5MDA4Mjg5NX4=" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "Maximum number of results returned based on the `limit` specified in the request. For example, if there are `20` results, the request has no `cursor` value, and the `limit` is set to `20`,the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the `cursor` parameter value that you obtained from the response.", + "example": 20 }, - "title": { - "type": "string", - "description": "A short text header to identify the app card.", - "example": "sample app card item" + "links": { + "$ref": "#/components/schemas/PageLinks" } } }, - "AppCardStyle": { + "GeometryPlatformContainers": { "type": "object", - "description": "Contains information about the style of an app card item, such as the fill color.", + "description": "Contains geometrical information about the item, such as its width or height.", "properties": { - "fillColor": { - "type": "string", - "description": "Hex value of the border color of the app card.\nDefault: `#2d9bf0`.", - "example": "#2d9bf0" + "height": { + "type": "number", + "format": "double", + "description": "Height of the item, in pixels.", + "example": 60 + }, + "rotation": { + "type": "number", + "format": "double", + "description": "Rotation angle of an item, in degrees, relative to the board. You can rotate items clockwise (right) and counterclockwise (left) by specifying positive and negative values, respectively." + }, + "width": { + "type": "number", + "format": "double", + "description": "Width of the item, in pixels.", + "example": 320 } } }, - "CardStyle": { + "GeometryNoRotation": { "type": "object", - "description": "Contains information about the style of a card item, such as the card theme.", + "description": "Contains geometrical information about the item, such as its width or height.", "properties": { - "cardTheme": { - "type": "string", - "description": "Hex value of the border color of the card.\nDefault: `#2d9bf0`.", - "example": "#2d9bf0" + "height": { + "type": "number", + "format": "double", + "description": "Height of the item, in pixels." + }, + "width": { + "type": "number", + "format": "double", + "description": "Width of the item, in pixels." } } }, - "DocumentDataResponse": { + "OpaqueData": { + "type": "object" + }, + "ParentLinksEnvelopePlatformContainers": { "type": "object", + "description": "Contains information about the parent frame for the item.", "properties": { - "documentUrl": { + "id": { "type": "string", - "description": "The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter to control the request execution.\n`redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file.\nIf the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned is `application/octet-stream`.", - "example": "https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?redirect=false" + "format": "int64", + "description": "Unique identifier (ID) of the parent frame for the item.", + "example": "3074457362577955300" }, - "title": { - "type": "string", - "description": "A short text header to identify the document.", - "example": "Sample document title" + "links": { + "$ref": "#/components/schemas/SelfLink" } } }, - "EmbedDataResponse": { + "WidgetLinksPlatformContainers": { "type": "object", + "description": "Contains applicable links for the item.", "properties": { - "contentType": { - "type": "string", - "description": "Type of the embedded item's content.", - "example": "video" - }, - "description": { - "type": "string", - "description": "Short description of the embedded item.", - "example": "So this is how to organize your life with Miro (a virtual whiteboard) for collaboration, brainstorming, and project management. Students, designers, agile en..." - }, - "html": { - "type": "string", - "description": "HTML code of the embedded item.", - "example": "" - }, - "mode": { - "type": "string", - "description": "Defines how the content in the embed item is displayed on the board.\n`inline`: The embedded content is displayed directly on the board.\n`modal`: The embedded content is displayed inside a modal overlay on the board.", - "enum": ["inline", "modal"] - }, - "previewUrl": { - "type": "string", - "description": "The URL to download the resource. You must use your access token to access the URL.\nThe URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters:\n`format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`.\n`redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file.\nIf the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, 'image/svg', or 'image/jpg', depending on the original image type.", - "example": "https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?format=preview&redirect=false" - }, - "providerName": { - "type": "string", - "description": "Name of the content's provider.", - "example": "YouTube" - }, - "providerUrl": { - "type": "string", - "description": "Url of the content's provider.", - "example": "https://www.youtube.com/" - }, - "title": { + "related": { "type": "string", - "description": "Title of the embedded item.", - "example": "HOW TO ORGANIZE YOUR LIFE WITH MIRO! ?? Virtual Whiteboard Tour" + "description": "Link to obtain information about the child items related to the frame.", + "example": "http://api.miro.com/v2/boards/o9J_koQspF4=/items?parent_item_id=307445734914369434&limit=10&cursor=" }, - "url": { + "self": { "type": "string", - "description": "A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS.", - "example": "https://www.youtube.com/watch?v=HlVSNEiFCBk" + "description": "Link to obtain information about the current item.", + "example": "http://api.miro.com/v2/boards/o9J_koQspF4=/item/3074457349143649487" } } }, - "ShapeStyle": { + "createdByPlatformContainers": { "type": "object", - "description": "Contains information about the shape style, such as the border color or opacity.", + "description": "Contains information about the user who created the item.", "properties": { - "borderColor": { - "type": "string", - "description": "Defines the color of the border of the shape.\nDefault: `#1a1a1a` (dark gray)." - }, - "borderOpacity": { - "type": "string", - "description": "Defines the opacity level of the shape border.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible\n`1.0`: the background color is completely opaque or solid\nDefault: `1.0` (solid color).", - "maximum": 1, - "minimum": 0 - }, - "borderStyle": { - "type": "string", - "description": "Defines the style used to represent the border of the shape.\nDefault: `normal`.", - "enum": ["normal", "dotted", "dashed"] - }, - "borderWidth": { - "type": "string", - "description": "Defines the thickness of the shape border, in dp.\nDefault: `2.0`.", - "maximum": 24, - "minimum": 1 - }, - "color": { - "type": "string", - "description": "Hex value representing the color for the text within the shape item.\nDefault: `#1a1a1a`.", - "example": "#1a1a1a" - }, - "fillColor": { - "type": "string", - "description": "Fill color for the shape.\nHex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`\nDefault: #ffffff.", - "example": "#8fd14f" - }, - "fillOpacity": { - "type": "string", - "description": "Opacity level of the fill color.\nPossible values: any number between `0` and `1`, where:\n`0.0`: the background color is completely transparent or invisible.\n`1.0`: the background color is completely opaque or solid.\n\n Default: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided.\n", - "maximum": 1, - "minimum": 0 - }, - "fontFamily": { + "id": { "type": "string", - "description": "Defines the font type for the text in the shape item.\nDefault: `arial`.", - "enum": [ - "arial", - "abril_fatface", - "bangers", - "eb_garamond", - "georgia", - "graduate", - "gravitas_one", - "fredoka_one", - "nixie_one", - "open_sans", - "permanent_marker", - "pt_sans", - "pt_sans_narrow", - "pt_serif", - "rammetto_one", - "roboto", - "roboto_condensed", - "roboto_slab", - "caveat", - "times_new_roman", - "titan_one", - "lemon_tuesday", - "roboto_mono", - "noto_sans", - "plex_sans", - "plex_serif", - "plex_mono", - "spoof", - "tiempos_text", - "formular" - ] + "description": "Unique identifier (ID) of the user.", + "example": "3458764517517852417" }, - "fontSize": { + "type": { "type": "string", - "description": "Defines the font size, in dp, for the text on the shape.\nDefault: `14`.", - "maximum": 288, - "minimum": 10 - }, - "textAlign": { + "description": "Indicates the type of object returned. In this case, `type` returns `user`.", + "example": "user" + } + } + }, + "modifiedByPlatformContainers": { + "type": "object", + "description": "Contains information about the user who last modified the item.", + "properties": { + "id": { "type": "string", - "description": "Defines how the sticky note text is horizontally aligned.\nDefault: `center`.", - "enum": ["left", "right", "center"] + "description": "Unique identifier (ID) of the user.", + "example": "3458764517517852417" }, - "textAlignVertical": { + "type": { "type": "string", - "description": "Defines how the sticky note text is vertically aligned.\nDefault: `top`.", - "enum": ["top", "middle", "bottom"] + "description": "Indicates the type of object returned. In this case, `type` returns `user`.", + "example": "user" } } }, - "StickyNoteStyle": { + "DocumentDataResponsePlatformcreateitemsinbulkusingfilefromdevice": { "type": "object", - "description": "Contains information about the style of a sticky note item, such as the fill color or text alignment.", "properties": { - "fillColor": { - "type": "string", - "description": "Fill color for the sticky note.\nDefault: `light_yellow`.", - "enum": [ - "gray", - "light_yellow", - "yellow", - "orange", - "light_green", - "green", - "dark_green", - "cyan", - "light_pink", - "pink", - "violet", - "red", - "light_blue", - "blue", - "dark_blue", - "black" - ] - }, - "textAlign": { + "documentUrl": { "type": "string", - "description": "Defines how the sticky note text is horizontally aligned.\nDefault: `center`.", - "enum": ["left", "right", "center"] + "description": "The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter to control the request execution.\n`redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file.\nIf the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned is `application/octet-stream`.", + "example": "https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?redirect=false" }, - "textAlignVertical": { + "title": { "type": "string", - "description": "Defines how the sticky note text is vertically aligned.\nDefault: `top`.", - "enum": ["top", "middle", "bottom"] + "description": "A short text header to identify the document.", + "example": "Sample document title" } } }, - "TextStyle": { + "GeometryPlatformcreateitemsinbulkusingfilefromdevice": { "type": "object", - "description": "Contains information about the style of a text item, such as the fill color or font family.", + "description": "Contains geometrical information about the item, such as its width or height.", "properties": { - "color": { - "type": "string", - "description": "Hex value representing the color for the text within the text item.\nDefault: `#1a1a1a`.", - "example": "#1a1a1a" - }, - "fillColor": { - "type": "string", - "description": "Background color of the text item.\nDefault: `#ffffff`.", - "example": "#e6e6e6" - }, - "fillOpacity": { - "type": "string", - "description": "Opacity level of the background color.\nPossible values: any number between `0.0` and `1.0`, where:\n`0.0`: the background color is completely transparent or invisible.\n`1.0`: the background color is completely opaque or solid.\nDefault: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided.", - "maximum": 1, - "minimum": 0 - }, - "fontFamily": { - "type": "string", - "description": "Font type for the text in the text item.\nDefault: `arial`.", - "enum": [ - "arial", - "abril_fatface", - "bangers", - "eb_garamond", - "georgia", - "graduate", - "gravitas_one", - "fredoka_one", - "nixie_one", - "open_sans", - "permanent_marker", - "pt_sans", - "pt_sans_narrow", - "pt_serif", - "rammetto_one", - "roboto", - "roboto_condensed", - "roboto_slab", - "caveat", - "times_new_roman", - "titan_one", - "lemon_tuesday", - "roboto_mono", - "noto_sans", - "plex_sans", - "plex_serif", - "plex_mono", - "spoof", - "tiempos_text", - "formular" - ] + "height": { + "type": "number", + "format": "double", + "description": "Height of the item, in pixels.", + "example": 60 }, - "fontSize": { - "type": "string", - "description": "Font size, in dp.\nDefault: `14`.", - "minimum": 1 + "rotation": { + "type": "number", + "format": "double", + "description": "Rotation angle of an item, in degrees, relative to the board. You can rotate items clockwise (right) and counterclockwise (left) by specifying positive and negative values, respectively." }, - "textAlign": { - "type": "string", - "description": "Horizontal alignment for the item's content.\nDefault: `center.`", - "enum": ["left", "right", "center"] + "width": { + "type": "number", + "format": "double", + "description": "Width of the item, in pixels.", + "example": 320 } } }, @@ -21167,12 +15945,14 @@ "id": { "$ref": "#/components/schemas/ItemId" }, + "type": { + "type": "string", + "description": "Type of item.", + "example": "document" + }, "data": { "$ref": "#/components/schemas/ItemData" }, - "style": { - "$ref": "#/components/schemas/ItemStyle" - }, "position": { "$ref": "#/components/schemas/Position" }, @@ -21182,9 +15962,6 @@ "parent": { "$ref": "#/components/schemas/ParentWithLinks" }, - "isSupported": { - "type": "boolean" - }, "createdBy": { "$ref": "#/components/schemas/CreatedBy" }, @@ -21207,33 +15984,15 @@ "type": "object", "description": "Contains information about item-specific data.", "oneOf": [ - { - "$ref": "#/components/schemas/AppCardDataResponse" - }, - { - "$ref": "#/components/schemas/CardData" - }, { "$ref": "#/components/schemas/DocumentDataResponse" }, - { - "$ref": "#/components/schemas/EmbedDataResponse" - }, { "$ref": "#/components/schemas/ImageDataResponse" - }, - { - "$ref": "#/components/schemas/ShapeData" - }, - { - "$ref": "#/components/schemas/StickyNoteData" - }, - { - "$ref": "#/components/schemas/TextData" } ] }, - "ItemId": { + "ItemIdPlatformcreateitemsinbulkusingfilefromdevice": { "type": "string", "description": "Unique identifier (ID) of an item.", "format": "int64", @@ -21253,31 +16012,117 @@ "type": { "type": "string", "description": "Type of the object.", - "example": "fixed-list" + "example": "bulk-list" } }, "required": ["type", "data"] }, - "ItemStyle": { + "ImageDataResponsePlatformcreateitemsinbulkusingfilefromdevice": { "type": "object", - "description": "Contains information about item-specific styles.", - "oneOf": [ - { - "$ref": "#/components/schemas/AppCardStyle" + "properties": { + "imageUrl": { + "type": "string", + "description": "The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, 'image/svg', or 'image/jpg', depending on the original image type.", + "example": "https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?format=preview&redirect=false" }, - { - "$ref": "#/components/schemas/CardStyle" + "title": { + "type": "string", + "description": "A short text header to identify the image.", + "example": "Sample image title" + } + } + }, + "CreationTimePlatformcreateitemsinbulkusingfilefromdevice": { + "type": "string", + "format": "date-time", + "description": "Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" + }, + "ModificationTimePlatformcreateitemsinbulkusingfilefromdevice": { + "type": "string", + "format": "date-time", + "description": "Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).", + "example": "2022-03-30T17:26:50.000Z" + }, + "CreatedByPlatformcreateitemsinbulkusingfilefromdevice": { + "type": "object", + "description": "Contains information about the user who created the item.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier (ID) of the user.", + "example": "3458764517517852417" }, - { - "$ref": "#/components/schemas/ShapeStyle" + "type": { + "type": "string", + "description": "Indicates the type of object returned. In this case, `type` returns `user`.", + "example": "user" + } + } + }, + "ModifiedByPlatformcreateitemsinbulkusingfilefromdevice": { + "type": "object", + "description": "Contains information about the user who last modified the item.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier (ID) of the user.", + "example": "3458764517517852417" }, - { - "$ref": "#/components/schemas/StickyNoteStyle" + "type": { + "type": "string", + "description": "Indicates the type of object returned. In this case, `type` returns `user`.", + "example": "user" + } + } + }, + "ParentWithLinksPlatformcreateitemsinbulkusingfilefromdevice": { + "type": "object", + "description": "Contains information about the parent this item attached to.", + "properties": { + "id": { + "type": "string", + "format": "int64", + "example": "3458764517517819001", + "description": "Unique identifier (ID) of a container item." }, - { - "$ref": "#/components/schemas/TextStyle" + "links": { + "$ref": "#/components/schemas/SelfLink" } - ] + } + }, + "XCoordinatePlatformcreateitemsinbulkusingfilefromdevice": { + "type": "number", + "format": "double", + "description": "X-axis coordinate of the location of the item on the board. By default, all items have absolute positioning to the board, not the current viewport. Default: 0. The center point of the board has `x: 0` and `y: 0` coordinates.", + "example": 100 + }, + "YCoordinatePlatformcreateitemsinbulkusingfilefromdevice": { + "type": "number", + "format": "double", + "description": "Y-axis coordinate of the location of the item on the board. By default, all items have absolute positioning to the board, not the current viewport. Default: 0. The center point of the board has `x: 0` and `y: 0` coordinates.", + "example": 100 + }, + "DocumentDataResponse": { + "type": "object", + "properties": { + "documentUrl": { + "type": "string", + "description": "The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter to control the request execution.\n`redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file.\nIf the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned is `application/octet-stream`.", + "example": "https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?redirect=false" + }, + "title": { + "type": "string", + "description": "A short text header to identify the document.", + "example": "Sample document title" + } + } + }, + "ItemId": { + "type": "string", + "description": "Unique identifier (ID) of an item.", + "format": "int64", + "example": "3458764517517819000" }, "ImageDataResponse": { "type": "object", @@ -21523,7 +16368,7 @@ "$ref": "#/components/schemas/PositionChange" }, "geometry": { - "$ref": "#/components/schemas/Geometry" + "$ref": "#/components/schemas/MindMapNodeGeometry" }, "parent": { "$ref": "#/components/schemas/Parent" @@ -22141,6 +16986,18 @@ } } }, + "MindMapNodeGeometry": { + "type": "object", + "description": "Contains width of the item.", + "properties": { + "width": { + "type": "number", + "format": "double", + "description": "Width of the item, in pixels.", + "example": 320 + } + } + }, "MindmapNodeStyle": { "type": "object", "description": "Contains information about the node style, such as the node color or fillOpacity.", @@ -22463,6 +17320,11 @@ "description": "Title for the document.", "example": "foo.png" }, + "altText": { + "type": "string", + "description": "A description (alt-text) to help people understand what is depicted here.", + "example": "Sample image alt text" + }, "position": { "$ref": "#/components/schemas/PositionChange" }, @@ -24077,7 +18939,7 @@ } } }, - "BasicErrorTeamsEnterprisePlan": { + "BasicError": { "type": "object", "properties": { "status": { @@ -24618,28 +19480,6 @@ "$ref": "#/components/schemas/PageType" } } - }, - "BasicError": { - "type": "object", - "properties": { - "status": { - "type": "number", - "description": "HTTP status code." - }, - "code": { - "type": "string", - "description": "Description of the status code." - }, - "message": { - "type": "string", - "description": "Explanation for the error" - }, - "type": { - "type": "string", - "description": "Type of the object returned.", - "default": "error" - } - } } }, "parameters": { diff --git a/packages/miro-api-python/.openapi-generator/FILES b/packages/miro-api-python/.openapi-generator/FILES index 027b99dfc..1a5f238d3 100644 --- a/packages/miro-api-python/.openapi-generator/FILES +++ b/packages/miro-api-python/.openapi-generator/FILES @@ -44,11 +44,9 @@ miro_api/docs/AppCardCreateRequest.md miro_api/docs/AppCardData.md miro_api/docs/AppCardDataChanges.md miro_api/docs/AppCardDataResponse.md -miro_api/docs/AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/AppCardItem.md miro_api/docs/AppCardStyle.md miro_api/docs/AppCardStylePlatformbulkcreateoperation.md -miro_api/docs/AppCardStylePlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/AppCardUpdateRequest.md miro_api/docs/AppCardsApi.md miro_api/docs/AppManagementApi.md @@ -62,7 +60,6 @@ miro_api/docs/AuditPage.md miro_api/docs/AuditTeam.md miro_api/docs/BasicError.md miro_api/docs/BasicErrorOrganizationsEnterprisePlan.md -miro_api/docs/BasicErrorTeamsEnterprisePlan.md miro_api/docs/Board.md miro_api/docs/BoardChanges.md miro_api/docs/BoardClassificationBoardLevelApi.md @@ -105,11 +102,9 @@ miro_api/docs/Caption.md miro_api/docs/CardCreateRequest.md miro_api/docs/CardData.md miro_api/docs/CardDataPlatformbulkcreateoperation.md -miro_api/docs/CardDataPlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/CardItem.md miro_api/docs/CardStyle.md miro_api/docs/CardStylePlatformbulkcreateoperation.md -miro_api/docs/CardStylePlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/CardUpdateRequest.md miro_api/docs/CardsApi.md miro_api/docs/ConnectorChangesData.md @@ -122,6 +117,7 @@ miro_api/docs/CopyBoardChanges.md miro_api/docs/CreateBoardExportRequest.md miro_api/docs/CreateBoardSubscriptionRequest.md miro_api/docs/CreateDocumentItemUsingFileFromDeviceRequestData.md +miro_api/docs/CreateFrameItem400Response.md miro_api/docs/CreateProjectRequest.md miro_api/docs/CreateTeamRequest.md miro_api/docs/CreatedBy.md @@ -134,7 +130,6 @@ miro_api/docs/CreatedByPlatformgroups.md miro_api/docs/CustomField.md miro_api/docs/CustomFieldPlatformTags.md miro_api/docs/CustomFieldPlatformbulkcreateoperation.md -miro_api/docs/CustomFieldPlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/DataClassificationLabel.md miro_api/docs/DataClassificationLabelId.md miro_api/docs/DataClassificationOrganizationSettings.md @@ -153,7 +148,6 @@ miro_api/docs/DocumentsApi.md miro_api/docs/EmbedCreateRequest.md miro_api/docs/EmbedData.md miro_api/docs/EmbedDataResponse.md -miro_api/docs/EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/EmbedItem.md miro_api/docs/EmbedUpdateRequest.md miro_api/docs/EmbedUrlData.md @@ -202,7 +196,6 @@ miro_api/docs/GetAllGroups404Response.md miro_api/docs/GetAllGroups429Response.md miro_api/docs/GetBoardItemContentLogsResponse.md miro_api/docs/GetBoardUserInfoLastOpenedBy.md -miro_api/docs/GetBoards400Response.md miro_api/docs/GetItemsByGroupId200Response.md miro_api/docs/GetItemsByGroupId200ResponseData.md miro_api/docs/GetMetrics200ResponseInner.md @@ -224,8 +217,6 @@ miro_api/docs/ImageItemPlatformFileUpload.md miro_api/docs/ImageUpdateRequest.md miro_api/docs/ImageUrlData.md miro_api/docs/ImageUrlDataChanges.md -miro_api/docs/ImageUrlDataChangesPlatformbulkcreateoperation.md -miro_api/docs/ImageUrlDataPlatformbulkcreateoperation.md miro_api/docs/ImagesApi.md miro_api/docs/InvitationError.md miro_api/docs/InvitationResult.md @@ -238,17 +229,14 @@ miro_api/docs/ItemCreate.md miro_api/docs/ItemData.md miro_api/docs/ItemDataChanges.md miro_api/docs/ItemDataCreate.md -miro_api/docs/ItemDataPlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/ItemPagedResponse.md miro_api/docs/ItemPagedResponsePlatformTags.md -miro_api/docs/ItemPlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/ItemStyle.md -miro_api/docs/ItemStylePlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/ItemTypeChange.md miro_api/docs/Items.md miro_api/docs/ItemsApi.md miro_api/docs/ItemsPage.md -miro_api/docs/ItemsPlatformcreateitemsinbulkusingfilefromdevice.md +miro_api/docs/MindMapNodeGeometry.md miro_api/docs/MindMapNodesExperimentalApi.md miro_api/docs/MindmapCreateRequest.md miro_api/docs/MindmapCursorPaged.md @@ -304,12 +292,10 @@ miro_api/docs/ShapeData.md miro_api/docs/ShapeDataForCreate.md miro_api/docs/ShapeDataForUpdate.md miro_api/docs/ShapeDataPlatformTags.md -miro_api/docs/ShapeDataPlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/ShapeItem.md miro_api/docs/ShapeStyle.md miro_api/docs/ShapeStyleForCreate.md miro_api/docs/ShapeStyleForUpdate.md -miro_api/docs/ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/ShapeUpdateRequest.md miro_api/docs/ShapesApi.md miro_api/docs/SharingPolicySettings.md @@ -317,11 +303,9 @@ miro_api/docs/StickyNoteCreateRequest.md miro_api/docs/StickyNoteData.md miro_api/docs/StickyNoteDataPlatformTags.md miro_api/docs/StickyNoteDataPlatformbulkcreateoperation.md -miro_api/docs/StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/StickyNoteItem.md miro_api/docs/StickyNoteStyle.md miro_api/docs/StickyNoteStylePlatformbulkcreateoperation.md -miro_api/docs/StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/StickyNoteUpdateRequest.md miro_api/docs/StickyNotesApi.md miro_api/docs/SubscriptionData.md @@ -359,10 +343,8 @@ miro_api/docs/TextCreateRequest.md miro_api/docs/TextData.md miro_api/docs/TextDataPlatformTags.md miro_api/docs/TextDataPlatformbulkcreateoperation.md -miro_api/docs/TextDataPlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/TextItem.md miro_api/docs/TextStyle.md -miro_api/docs/TextStylePlatformcreateitemsinbulkusingfilefromdevice.md miro_api/docs/TextUpdateRequest.md miro_api/docs/TextsApi.md miro_api/docs/TokenInformation.md @@ -376,6 +358,7 @@ miro_api/docs/UpdateBoardsDataClassificationLabel.md miro_api/docs/UpdateBoardsDataClassificationLabelRequest.md miro_api/docs/UpdateCardStyle.md miro_api/docs/UpdateConnectorStyle.md +miro_api/docs/UpdateFrameItem409Response.md miro_api/docs/UpdateFrameStyle.md miro_api/docs/UpdateProjectMemberRequest.md miro_api/docs/UpdateProjectRequest.md @@ -404,11 +387,9 @@ miro_api/models/app_card_create_request.py miro_api/models/app_card_data.py miro_api/models/app_card_data_changes.py miro_api/models/app_card_data_response.py -miro_api/models/app_card_data_response_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/app_card_item.py miro_api/models/app_card_style.py miro_api/models/app_card_style_platformbulkcreateoperation.py -miro_api/models/app_card_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/app_card_update_request.py miro_api/models/audit_context.py miro_api/models/audit_created_by.py @@ -419,7 +400,6 @@ miro_api/models/audit_page.py miro_api/models/audit_team.py miro_api/models/basic_error.py miro_api/models/basic_error_organizations_enterprise_plan.py -miro_api/models/basic_error_teams_enterprise_plan.py miro_api/models/board.py miro_api/models/board_changes.py miro_api/models/board_content_log_data.py @@ -454,11 +434,9 @@ miro_api/models/caption.py miro_api/models/card_create_request.py miro_api/models/card_data.py miro_api/models/card_data_platformbulkcreateoperation.py -miro_api/models/card_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/card_item.py miro_api/models/card_style.py miro_api/models/card_style_platformbulkcreateoperation.py -miro_api/models/card_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/card_update_request.py miro_api/models/connector_changes_data.py miro_api/models/connector_creation_data.py @@ -469,6 +447,7 @@ miro_api/models/copy_board_changes.py miro_api/models/create_board_export_request.py miro_api/models/create_board_subscription_request.py miro_api/models/create_document_item_using_file_from_device_request_data.py +miro_api/models/create_frame_item400_response.py miro_api/models/create_project_request.py miro_api/models/create_team_request.py miro_api/models/created_by.py @@ -481,7 +460,6 @@ miro_api/models/created_by_platformgroups.py miro_api/models/custom_field.py miro_api/models/custom_field_platform_tags.py miro_api/models/custom_field_platformbulkcreateoperation.py -miro_api/models/custom_field_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/data_classification_label.py miro_api/models/data_classification_label_id.py miro_api/models/data_classification_organization_settings.py @@ -499,7 +477,6 @@ miro_api/models/document_url_data_platformbulkcreateoperation.py miro_api/models/embed_create_request.py miro_api/models/embed_data.py miro_api/models/embed_data_response.py -miro_api/models/embed_data_response_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/embed_item.py miro_api/models/embed_update_request.py miro_api/models/embed_url_data.py @@ -545,7 +522,6 @@ miro_api/models/get_all_groups404_response.py miro_api/models/get_all_groups429_response.py miro_api/models/get_board_item_content_logs_response.py miro_api/models/get_board_user_info_last_opened_by.py -miro_api/models/get_boards400_response.py miro_api/models/get_items_by_group_id200_response.py miro_api/models/get_items_by_group_id200_response_data.py miro_api/models/get_metrics200_response_inner.py @@ -566,8 +542,6 @@ miro_api/models/image_item_platform_file_upload.py miro_api/models/image_update_request.py miro_api/models/image_url_data.py miro_api/models/image_url_data_changes.py -miro_api/models/image_url_data_changes_platformbulkcreateoperation.py -miro_api/models/image_url_data_platformbulkcreateoperation.py miro_api/models/invitation_error.py miro_api/models/invitation_result.py miro_api/models/item.py @@ -579,16 +553,13 @@ miro_api/models/item_create.py miro_api/models/item_data.py miro_api/models/item_data_changes.py miro_api/models/item_data_create.py -miro_api/models/item_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/item_paged_response.py miro_api/models/item_paged_response_platform_tags.py -miro_api/models/item_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/item_style.py -miro_api/models/item_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/item_type_change.py miro_api/models/items.py miro_api/models/items_page.py -miro_api/models/items_platformcreateitemsinbulkusingfilefromdevice.py +miro_api/models/mind_map_node_geometry.py miro_api/models/mindmap_create_request.py miro_api/models/mindmap_cursor_paged.py miro_api/models/mindmap_data.py @@ -637,23 +608,19 @@ miro_api/models/shape_data.py miro_api/models/shape_data_for_create.py miro_api/models/shape_data_for_update.py miro_api/models/shape_data_platform_tags.py -miro_api/models/shape_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/shape_item.py miro_api/models/shape_style.py miro_api/models/shape_style_for_create.py miro_api/models/shape_style_for_update.py -miro_api/models/shape_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/shape_update_request.py miro_api/models/sharing_policy_settings.py miro_api/models/sticky_note_create_request.py miro_api/models/sticky_note_data.py miro_api/models/sticky_note_data_platform_tags.py miro_api/models/sticky_note_data_platformbulkcreateoperation.py -miro_api/models/sticky_note_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/sticky_note_item.py miro_api/models/sticky_note_style.py miro_api/models/sticky_note_style_platformbulkcreateoperation.py -miro_api/models/sticky_note_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/sticky_note_update_request.py miro_api/models/subscription_data.py miro_api/models/tag.py @@ -686,10 +653,8 @@ miro_api/models/text_create_request.py miro_api/models/text_data.py miro_api/models/text_data_platform_tags.py miro_api/models/text_data_platformbulkcreateoperation.py -miro_api/models/text_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/text_item.py miro_api/models/text_style.py -miro_api/models/text_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/models/text_update_request.py miro_api/models/token_information.py miro_api/models/un_group400_response.py @@ -701,6 +666,7 @@ miro_api/models/update_boards_data_classification_label.py miro_api/models/update_boards_data_classification_label_request.py miro_api/models/update_card_style.py miro_api/models/update_connector_style.py +miro_api/models/update_frame_item409_response.py miro_api/models/update_frame_style.py miro_api/models/update_project_member_request.py miro_api/models/update_project_request.py @@ -728,11 +694,9 @@ miro_api/test/test_app_card_create_request.py miro_api/test/test_app_card_data.py miro_api/test/test_app_card_data_changes.py miro_api/test/test_app_card_data_response.py -miro_api/test/test_app_card_data_response_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_app_card_item.py miro_api/test/test_app_card_style.py miro_api/test/test_app_card_style_platformbulkcreateoperation.py -miro_api/test/test_app_card_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_app_card_update_request.py miro_api/test/test_app_cards_api.py miro_api/test/test_app_management_api.py @@ -746,7 +710,6 @@ miro_api/test/test_audit_page.py miro_api/test/test_audit_team.py miro_api/test/test_basic_error.py miro_api/test/test_basic_error_organizations_enterprise_plan.py -miro_api/test/test_basic_error_teams_enterprise_plan.py miro_api/test/test_board.py miro_api/test/test_board_changes.py miro_api/test/test_board_classification_board_level_api.py @@ -789,11 +752,9 @@ miro_api/test/test_caption.py miro_api/test/test_card_create_request.py miro_api/test/test_card_data.py miro_api/test/test_card_data_platformbulkcreateoperation.py -miro_api/test/test_card_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_card_item.py miro_api/test/test_card_style.py miro_api/test/test_card_style_platformbulkcreateoperation.py -miro_api/test/test_card_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_card_update_request.py miro_api/test/test_cards_api.py miro_api/test/test_connector_changes_data.py @@ -806,6 +767,7 @@ miro_api/test/test_copy_board_changes.py miro_api/test/test_create_board_export_request.py miro_api/test/test_create_board_subscription_request.py miro_api/test/test_create_document_item_using_file_from_device_request_data.py +miro_api/test/test_create_frame_item400_response.py miro_api/test/test_create_project_request.py miro_api/test/test_create_team_request.py miro_api/test/test_created_by.py @@ -818,7 +780,6 @@ miro_api/test/test_created_by_platformgroups.py miro_api/test/test_custom_field.py miro_api/test/test_custom_field_platform_tags.py miro_api/test/test_custom_field_platformbulkcreateoperation.py -miro_api/test/test_custom_field_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_data_classification_label.py miro_api/test/test_data_classification_label_id.py miro_api/test/test_data_classification_organization_settings.py @@ -837,7 +798,6 @@ miro_api/test/test_documents_api.py miro_api/test/test_embed_create_request.py miro_api/test/test_embed_data.py miro_api/test/test_embed_data_response.py -miro_api/test/test_embed_data_response_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_embed_item.py miro_api/test/test_embed_update_request.py miro_api/test/test_embed_url_data.py @@ -886,7 +846,6 @@ miro_api/test/test_get_all_groups404_response.py miro_api/test/test_get_all_groups429_response.py miro_api/test/test_get_board_item_content_logs_response.py miro_api/test/test_get_board_user_info_last_opened_by.py -miro_api/test/test_get_boards400_response.py miro_api/test/test_get_items_by_group_id200_response.py miro_api/test/test_get_items_by_group_id200_response_data.py miro_api/test/test_get_metrics200_response_inner.py @@ -908,8 +867,6 @@ miro_api/test/test_image_item_platform_file_upload.py miro_api/test/test_image_update_request.py miro_api/test/test_image_url_data.py miro_api/test/test_image_url_data_changes.py -miro_api/test/test_image_url_data_changes_platformbulkcreateoperation.py -miro_api/test/test_image_url_data_platformbulkcreateoperation.py miro_api/test/test_images_api.py miro_api/test/test_invitation_error.py miro_api/test/test_invitation_result.py @@ -922,17 +879,14 @@ miro_api/test/test_item_create.py miro_api/test/test_item_data.py miro_api/test/test_item_data_changes.py miro_api/test/test_item_data_create.py -miro_api/test/test_item_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_item_paged_response.py miro_api/test/test_item_paged_response_platform_tags.py -miro_api/test/test_item_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_item_style.py -miro_api/test/test_item_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_item_type_change.py miro_api/test/test_items.py miro_api/test/test_items_api.py miro_api/test/test_items_page.py -miro_api/test/test_items_platformcreateitemsinbulkusingfilefromdevice.py +miro_api/test/test_mind_map_node_geometry.py miro_api/test/test_mind_map_nodes_experimental_api.py miro_api/test/test_mindmap_create_request.py miro_api/test/test_mindmap_cursor_paged.py @@ -988,12 +942,10 @@ miro_api/test/test_shape_data.py miro_api/test/test_shape_data_for_create.py miro_api/test/test_shape_data_for_update.py miro_api/test/test_shape_data_platform_tags.py -miro_api/test/test_shape_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_shape_item.py miro_api/test/test_shape_style.py miro_api/test/test_shape_style_for_create.py miro_api/test/test_shape_style_for_update.py -miro_api/test/test_shape_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_shape_update_request.py miro_api/test/test_shapes_api.py miro_api/test/test_sharing_policy_settings.py @@ -1001,11 +953,9 @@ miro_api/test/test_sticky_note_create_request.py miro_api/test/test_sticky_note_data.py miro_api/test/test_sticky_note_data_platform_tags.py miro_api/test/test_sticky_note_data_platformbulkcreateoperation.py -miro_api/test/test_sticky_note_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_sticky_note_item.py miro_api/test/test_sticky_note_style.py miro_api/test/test_sticky_note_style_platformbulkcreateoperation.py -miro_api/test/test_sticky_note_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_sticky_note_update_request.py miro_api/test/test_sticky_notes_api.py miro_api/test/test_subscription_data.py @@ -1043,10 +993,8 @@ miro_api/test/test_text_create_request.py miro_api/test/test_text_data.py miro_api/test/test_text_data_platform_tags.py miro_api/test/test_text_data_platformbulkcreateoperation.py -miro_api/test/test_text_data_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_text_item.py miro_api/test/test_text_style.py -miro_api/test/test_text_style_platformcreateitemsinbulkusingfilefromdevice.py miro_api/test/test_text_update_request.py miro_api/test/test_texts_api.py miro_api/test/test_token_information.py @@ -1060,6 +1008,7 @@ miro_api/test/test_update_boards_data_classification_label.py miro_api/test/test_update_boards_data_classification_label_request.py miro_api/test/test_update_card_style.py miro_api/test/test_update_connector_style.py +miro_api/test/test_update_frame_item409_response.py miro_api/test/test_update_frame_style.py miro_api/test/test_update_project_member_request.py miro_api/test/test_update_project_request.py diff --git a/packages/miro-api-python/miro_api/api/__init__.py b/packages/miro-api-python/miro_api/api/__init__.py index 8d0ed2822..dac1e1a72 100644 --- a/packages/miro-api-python/miro_api/api/__init__.py +++ b/packages/miro-api-python/miro_api/api/__init__.py @@ -42,7 +42,7 @@ from miro_api.models.create_board_export_request import CreateBoardExportRequest from pydantic import Field, StrictBytes, StrictStr -from typing import List, Optional, Union +from typing import List, Union from miro_api.models.item_create import ItemCreate from miro_api.models.items import Items @@ -1888,11 +1888,14 @@ def create_items_in_bulk_using_file_from_device( ], data: Annotated[ Union[StrictBytes, StrictStr], - Field(description="Select a file containing JSON object describing files to upload."), + Field( + description="JSON file containing bulk data, where each object represents an item to be created. For details, see [JSON file example](https://developers.miro.com/reference/json-data-example)." + ), ], resources: Annotated[ - Optional[Union[StrictBytes, StrictStr]], Field(description="Select files to upload.") - ] = None, + List[Union[StrictBytes, StrictStr]], + Field(description="Array of items to create (PDFs, images, etc.). Maximum of 20 items."), + ], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1905,14 +1908,14 @@ def create_items_in_bulk_using_file_from_device( ) -> Items: """Create items in bulk using file from device - Adds different types of items to a board using files from a device. You can add up to 20 items of the same or different type per create call. For example, you can create 3 shape items, 4 card items, and 5 sticky notes in one create call. The bulk create operation is transactional. If any item's create operation fails, the create operation for all the remaining items also fails, and none of the items will be created. To try out this API in our documentation: 1. In the **BODY PARAMS** section, scroll down until you see **ADD OBJECT** (Figure 1). ![add object user interface in readme](https://files.readme.io/570dac1-small-add_object.png) *Figure 1. Add object user interface in readme* 2. Click **ADD OBJECT**, and then select or enter the appropriate values for parameters of the item that you want to add. 3. Repeat steps 1 and 2 for each item that you want to add. **Required scope**: [boards:write](/reference/scopes) **Rate limiting**: Level 2 per item. For example, if you want to create one sticky note, one card, and one shape item in one call, the rate limiting applicable will be 300 credits. This is because create item calls take Level 2 rate limiting of 100 credits each, 100 for sticky note, 100 for card, and 100 for shape item. + Adds different types of items to a board using files from a device. You can add up to 20 items of the same or different type per create call. For example, you can create 5 document items and 5 images in one create call. The bulk create operation is transactional. If any item's create operation fails, the create operation for all the remaining items also fails, and none of the items will be created. To try out this API in our documentation: 1. In the **BODY PARAMS** section, select **ADD FILE**, and then upload a local file. Repeat for each item that you want to add. 2. Upload a JSON file that contains the bulk data for the items you want to create.

Required scope

boards:write

Rate limiting

Level 2 per item
:param board_id: Unique identifier (ID) of the board where you want to create the item. (required) :type board_id: str - :param data: Select a file containing JSON object describing files to upload. (required) + :param data: JSON file containing bulk data, where each object represents an item to be created. For details, see [JSON file example](https://developers.miro.com/reference/json-data-example). (required) :type data: bytearray - :param resources: Select files to upload. - :type resources: bytearray + :param resources: Array of items to create (PDFs, images, etc.). Maximum of 20 items. (required) + :type resources: List[bytearray] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1968,7 +1971,9 @@ def _create_items_in_bulk_using_file_from_device_serialize( _host = None - _collection_formats: Dict[str, str] = {} + _collection_formats: Dict[str, str] = { + "resources": "csv", + } _path_params: Dict[str, str] = {} _query_params: List[Tuple[str, str]] = [] @@ -2076,9 +2081,9 @@ def create_shape_item_flowchart( _response_types_map: Dict[str, Optional[str]] = { "201": "ShapeItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -2205,9 +2210,9 @@ def delete_shape_item_flowchart( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -2337,9 +2342,9 @@ def get_items_experimental( _response_types_map: Dict[str, Optional[str]] = { "200": "GenericItemCursorPaged", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -2473,9 +2478,9 @@ def get_shape_item_flowchart( _response_types_map: Dict[str, Optional[str]] = { "200": "ShapeItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -2597,9 +2602,9 @@ def get_specific_item_experimental( _response_types_map: Dict[str, Optional[str]] = { "200": "GenericItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -2722,9 +2727,9 @@ def update_shape_item_flowchart( _response_types_map: Dict[str, Optional[str]] = { "200": "ShapeItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -2854,9 +2859,9 @@ def create_mindmap_nodes_experimental( _response_types_map: Dict[str, Optional[str]] = { "201": "MindmapItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -2986,9 +2991,9 @@ def delete_mindmap_node_experimental( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -5609,6 +5614,7 @@ def enterprise_delete_team_member( "401": None, "403": None, "404": None, + "409": None, "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -6161,6 +6167,7 @@ def enterprise_update_team_member( "401": None, "403": None, "404": None, + "409": None, "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -7315,9 +7322,9 @@ def create_board_subscription( _response_types_map: Dict[str, Optional[str]] = { "201": "BoardSubscription", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -7437,9 +7444,9 @@ def delete_subscription_by_id( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -7551,9 +7558,9 @@ def get_subscription_by_id( _response_types_map: Dict[str, Optional[str]] = { "200": "GenericSubscription", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -7667,9 +7674,9 @@ def get_user_subscriptions( _response_types_map: Dict[str, Optional[str]] = { "200": "GenericSubscriptionsCursorPaged", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -7790,9 +7797,9 @@ def update_board_subscription( _response_types_map: Dict[str, Optional[str]] = { "200": "BoardSubscription", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -7919,9 +7926,9 @@ def create_app_card_item( _response_types_map: Dict[str, Optional[str]] = { "201": "AppCardItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -8048,9 +8055,9 @@ def delete_app_card_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -8172,9 +8179,9 @@ def get_app_card_item( _response_types_map: Dict[str, Optional[str]] = { "200": "AppCardItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -8297,9 +8304,10 @@ def update_app_card_item( _response_types_map: Dict[str, Optional[str]] = { "200": "AppCardItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -8686,9 +8694,9 @@ def get_board_members( _response_types_map: Dict[str, Optional[str]] = { "200": "BoardMembersPagedResponse", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -8816,9 +8824,9 @@ def get_specific_board_member( _response_types_map: Dict[str, Optional[str]] = { "200": "BoardMemberWithLinks", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -8939,9 +8947,9 @@ def remove_board_member( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -9060,9 +9068,9 @@ def share_board( _response_types_map: Dict[str, Optional[str]] = { "201": "InvitationResult", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -9198,9 +9206,9 @@ def update_board_member( _response_types_map: Dict[str, Optional[str]] = { "200": "BoardMemberWithLinks", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -9330,9 +9338,10 @@ def copy_board( _response_types_map: Dict[str, Optional[str]] = { "201": "BoardWithLinksAndWithoutProject", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -9455,9 +9464,10 @@ def create_board( _response_types_map: Dict[str, Optional[str]] = { "201": "BoardWithLinks", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -9541,7 +9551,7 @@ def delete_board( ) -> object: """Delete board - Deletes a board.

Required scope

boards:write

Rate limiting

Level 3
+ Deletes a board. Deleted boards go to Trash (on paid plans) and can be restored via UI within 90 days after deletion.

Required scope

boards:write

Rate limiting

Level 3
:param board_id: Unique identifier (ID) of the board that you want to delete. (required) :type board_id: str @@ -9577,9 +9587,10 @@ def delete_board( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -9713,9 +9724,9 @@ def get_boards( _response_types_map: Dict[str, Optional[str]] = { "200": "BoardsPagedResponse", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -9859,9 +9870,9 @@ def get_specific_board( _response_types_map: Dict[str, Optional[str]] = { "200": "BoardWithLinksAndLastOpened", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -9978,9 +9989,10 @@ def update_board( _response_types_map: Dict[str, Optional[str]] = { "200": "BoardWithLinks", "202": None, - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -10107,9 +10119,9 @@ def create_card_item( _response_types_map: Dict[str, Optional[str]] = { "201": "CardItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -10236,9 +10248,9 @@ def delete_card_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -10360,9 +10372,9 @@ def get_card_item( _response_types_map: Dict[str, Optional[str]] = { "200": "CardItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -10485,9 +10497,10 @@ def update_card_item( _response_types_map: Dict[str, Optional[str]] = { "200": "CardItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -10618,9 +10631,9 @@ def create_connector( _response_types_map: Dict[str, Optional[str]] = { "200": "ConnectorWithLinks", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -10750,9 +10763,9 @@ def delete_connector( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -10876,9 +10889,9 @@ def get_connector( _response_types_map: Dict[str, Optional[str]] = { "200": "ConnectorWithLinks", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -11004,9 +11017,9 @@ def get_connectors( _response_types_map: Dict[str, Optional[str]] = { "200": "ConnectorsCursorPaged", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -11139,9 +11152,10 @@ def update_connector( _response_types_map: Dict[str, Optional[str]] = { "200": "ConnectorWithLinks", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -11406,9 +11420,9 @@ def create_document_item_using_url( _response_types_map: Dict[str, Optional[str]] = { "201": "DocumentItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -11535,9 +11549,9 @@ def delete_document_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -11659,9 +11673,9 @@ def get_document_item( _response_types_map: Dict[str, Optional[str]] = { "200": "DocumentItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -11926,9 +11940,10 @@ def update_document_item_using_url( _response_types_map: Dict[str, Optional[str]] = { "200": "DocumentItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -12058,9 +12073,9 @@ def create_embed_item( _response_types_map: Dict[str, Optional[str]] = { "201": "EmbedItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -12187,9 +12202,9 @@ def delete_embed_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -12311,9 +12326,9 @@ def get_embed_item( _response_types_map: Dict[str, Optional[str]] = { "200": "EmbedItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -12436,9 +12451,10 @@ def update_embed_item( _response_types_map: Dict[str, Optional[str]] = { "200": "EmbedItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -12568,9 +12584,9 @@ def create_frame_item( _response_types_map: Dict[str, Optional[str]] = { "201": "FrameItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -12699,9 +12715,9 @@ def delete_frame_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -12823,9 +12839,9 @@ def get_frame_item( _response_types_map: Dict[str, Optional[str]] = { "200": "FrameItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -12950,9 +12966,10 @@ def update_frame_item( _response_types_map: Dict[str, Optional[str]] = { "200": "FrameItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "409": "UpdateFrameItem409Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -14135,9 +14152,9 @@ def create_image_item_using_url( _response_types_map: Dict[str, Optional[str]] = { "201": "ImageItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -14264,9 +14281,9 @@ def delete_image_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -14388,9 +14405,9 @@ def get_image_item( _response_types_map: Dict[str, Optional[str]] = { "200": "ImageItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -14655,9 +14672,10 @@ def update_image_item_using_url( _response_types_map: Dict[str, Optional[str]] = { "200": "ImageItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -14787,9 +14805,9 @@ def delete_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -14908,9 +14926,9 @@ def delete_item_experimental( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -15040,9 +15058,9 @@ def get_items( _response_types_map: Dict[str, Optional[str]] = { "200": "GenericItemCursorPaged", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -15193,9 +15211,9 @@ def get_items_within_frame( _response_types_map: Dict[str, Optional[str]] = { "200": "GenericItemCursorPaged", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": "CreateFrameItem400Response", + "404": "CreateFrameItem400Response", + "429": "CreateFrameItem400Response", } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -15334,9 +15352,9 @@ def get_specific_item( _response_types_map: Dict[str, Optional[str]] = { "200": "GenericItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -15459,9 +15477,9 @@ def update_item_position_or_parent( _response_types_map: Dict[str, Optional[str]] = { "200": "GenericItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -15591,9 +15609,9 @@ def create_shape_item( _response_types_map: Dict[str, Optional[str]] = { "201": "ShapeItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -15720,9 +15738,9 @@ def delete_shape_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -15844,9 +15862,9 @@ def get_shape_item( _response_types_map: Dict[str, Optional[str]] = { "200": "ShapeItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -15969,9 +15987,10 @@ def update_shape_item( _response_types_map: Dict[str, Optional[str]] = { "200": "ShapeItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -16101,9 +16120,9 @@ def create_sticky_note_item( _response_types_map: Dict[str, Optional[str]] = { "201": "StickyNoteItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -16230,9 +16249,9 @@ def delete_sticky_note_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -16354,9 +16373,9 @@ def get_sticky_note_item( _response_types_map: Dict[str, Optional[str]] = { "200": "StickyNoteItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -16479,9 +16498,10 @@ def update_sticky_note_item( _response_types_map: Dict[str, Optional[str]] = { "200": "StickyNoteItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -17787,9 +17807,9 @@ def create_text_item( _response_types_map: Dict[str, Optional[str]] = { "201": "TextItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -17916,9 +17936,9 @@ def delete_text_item( _response_types_map: Dict[str, Optional[str]] = { "204": "object", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -18040,9 +18060,9 @@ def get_text_item( _response_types_map: Dict[str, Optional[str]] = { "200": "TextItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() @@ -18165,9 +18185,10 @@ def update_text_item( _response_types_map: Dict[str, Optional[str]] = { "200": "TextItem", - "400": "GetBoards400Response", - "404": "GetBoards400Response", - "429": "GetBoards400Response", + "400": None, + "404": None, + "409": None, + "429": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) response_data.read() diff --git a/packages/miro-api-python/miro_api/api_client.py b/packages/miro-api-python/miro_api/api_client.py index e5c6847ab..095d12738 100644 --- a/packages/miro-api-python/miro_api/api_client.py +++ b/packages/miro-api-python/miro_api/api_client.py @@ -82,7 +82,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None, cook self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = "OpenAPI-Generator/2.2.0/python" + self.user_agent = "OpenAPI-Generator/2.2.1/python" self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/packages/miro-api-python/miro_api/configuration.py b/packages/miro-api-python/miro_api/configuration.py index 2d28be074..562ed9fb3 100644 --- a/packages/miro-api-python/miro_api/configuration.py +++ b/packages/miro-api-python/miro_api/configuration.py @@ -390,7 +390,7 @@ def to_debug_report(self): "OS: {env}\n" "Python Version: {pyversion}\n" "Version of the API: v2.0\n" - "SDK Package Version: 2.2.0".format(env=sys.platform, pyversion=sys.version) + "SDK Package Version: 2.2.1".format(env=sys.platform, pyversion=sys.version) ) def get_host_settings(self): diff --git a/packages/miro-api-python/miro_api/models/__init__.py b/packages/miro-api-python/miro_api/models/__init__.py index 2bd7f32f6..5c2f6a161 100644 --- a/packages/miro-api-python/miro_api/models/__init__.py +++ b/packages/miro-api-python/miro_api/models/__init__.py @@ -20,15 +20,9 @@ from miro_api.models.app_card_data import AppCardData from miro_api.models.app_card_data_changes import AppCardDataChanges from miro_api.models.app_card_data_response import AppCardDataResponse -from miro_api.models.app_card_data_response_platformcreateitemsinbulkusingfilefromdevice import ( - AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.app_card_item import AppCardItem from miro_api.models.app_card_style import AppCardStyle from miro_api.models.app_card_style_platformbulkcreateoperation import AppCardStylePlatformbulkcreateoperation -from miro_api.models.app_card_style_platformcreateitemsinbulkusingfilefromdevice import ( - AppCardStylePlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.app_card_update_request import AppCardUpdateRequest from miro_api.models.audit_context import AuditContext from miro_api.models.audit_created_by import AuditCreatedBy @@ -39,7 +33,6 @@ from miro_api.models.audit_team import AuditTeam from miro_api.models.basic_error import BasicError from miro_api.models.basic_error_organizations_enterprise_plan import BasicErrorOrganizationsEnterprisePlan -from miro_api.models.basic_error_teams_enterprise_plan import BasicErrorTeamsEnterprisePlan from miro_api.models.board import Board from miro_api.models.board_changes import BoardChanges from miro_api.models.board_content_log_data import BoardContentLogData @@ -74,15 +67,9 @@ from miro_api.models.card_create_request import CardCreateRequest from miro_api.models.card_data import CardData from miro_api.models.card_data_platformbulkcreateoperation import CardDataPlatformbulkcreateoperation -from miro_api.models.card_data_platformcreateitemsinbulkusingfilefromdevice import ( - CardDataPlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.card_item import CardItem from miro_api.models.card_style import CardStyle from miro_api.models.card_style_platformbulkcreateoperation import CardStylePlatformbulkcreateoperation -from miro_api.models.card_style_platformcreateitemsinbulkusingfilefromdevice import ( - CardStylePlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.card_update_request import CardUpdateRequest from miro_api.models.connector_changes_data import ConnectorChangesData from miro_api.models.connector_creation_data import ConnectorCreationData @@ -95,6 +82,7 @@ from miro_api.models.create_document_item_using_file_from_device_request_data import ( CreateDocumentItemUsingFileFromDeviceRequestData, ) +from miro_api.models.create_frame_item400_response import CreateFrameItem400Response from miro_api.models.create_project_request import CreateProjectRequest from miro_api.models.create_team_request import CreateTeamRequest from miro_api.models.created_by import CreatedBy @@ -109,9 +97,6 @@ from miro_api.models.custom_field import CustomField from miro_api.models.custom_field_platform_tags import CustomFieldPlatformTags from miro_api.models.custom_field_platformbulkcreateoperation import CustomFieldPlatformbulkcreateoperation -from miro_api.models.custom_field_platformcreateitemsinbulkusingfilefromdevice import ( - CustomFieldPlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.data_classification_label import DataClassificationLabel from miro_api.models.data_classification_label_id import DataClassificationLabelId from miro_api.models.data_classification_organization_settings import DataClassificationOrganizationSettings @@ -131,9 +116,6 @@ from miro_api.models.embed_create_request import EmbedCreateRequest from miro_api.models.embed_data import EmbedData from miro_api.models.embed_data_response import EmbedDataResponse -from miro_api.models.embed_data_response_platformcreateitemsinbulkusingfilefromdevice import ( - EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.embed_item import EmbedItem from miro_api.models.embed_update_request import EmbedUpdateRequest from miro_api.models.embed_url_data import EmbedUrlData @@ -181,7 +163,6 @@ from miro_api.models.get_all_groups429_response import GetAllGroups429Response from miro_api.models.get_board_item_content_logs_response import GetBoardItemContentLogsResponse from miro_api.models.get_board_user_info_last_opened_by import GetBoardUserInfoLastOpenedBy -from miro_api.models.get_boards400_response import GetBoards400Response from miro_api.models.get_items_by_group_id200_response import GetItemsByGroupId200Response from miro_api.models.get_items_by_group_id200_response_data import GetItemsByGroupId200ResponseData from miro_api.models.get_metrics200_response_inner import GetMetrics200ResponseInner @@ -204,10 +185,6 @@ from miro_api.models.image_update_request import ImageUpdateRequest from miro_api.models.image_url_data import ImageUrlData from miro_api.models.image_url_data_changes import ImageUrlDataChanges -from miro_api.models.image_url_data_changes_platformbulkcreateoperation import ( - ImageUrlDataChangesPlatformbulkcreateoperation, -) -from miro_api.models.image_url_data_platformbulkcreateoperation import ImageUrlDataPlatformbulkcreateoperation from miro_api.models.invitation_error import InvitationError from miro_api.models.invitation_result import InvitationResult from miro_api.models.item import Item @@ -219,24 +196,13 @@ from miro_api.models.item_data import ItemData from miro_api.models.item_data_changes import ItemDataChanges from miro_api.models.item_data_create import ItemDataCreate -from miro_api.models.item_data_platformcreateitemsinbulkusingfilefromdevice import ( - ItemDataPlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.item_paged_response import ItemPagedResponse from miro_api.models.item_paged_response_platform_tags import ItemPagedResponsePlatformTags -from miro_api.models.item_platformcreateitemsinbulkusingfilefromdevice import ( - ItemPlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.item_style import ItemStyle -from miro_api.models.item_style_platformcreateitemsinbulkusingfilefromdevice import ( - ItemStylePlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.item_type_change import ItemTypeChange from miro_api.models.items import Items from miro_api.models.items_page import ItemsPage -from miro_api.models.items_platformcreateitemsinbulkusingfilefromdevice import ( - ItemsPlatformcreateitemsinbulkusingfilefromdevice, -) +from miro_api.models.mind_map_node_geometry import MindMapNodeGeometry from miro_api.models.mindmap_create_request import MindmapCreateRequest from miro_api.models.mindmap_cursor_paged import MindmapCursorPaged from miro_api.models.mindmap_data import MindmapData @@ -289,31 +255,19 @@ from miro_api.models.shape_data_for_create import ShapeDataForCreate from miro_api.models.shape_data_for_update import ShapeDataForUpdate from miro_api.models.shape_data_platform_tags import ShapeDataPlatformTags -from miro_api.models.shape_data_platformcreateitemsinbulkusingfilefromdevice import ( - ShapeDataPlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.shape_item import ShapeItem from miro_api.models.shape_style import ShapeStyle from miro_api.models.shape_style_for_create import ShapeStyleForCreate from miro_api.models.shape_style_for_update import ShapeStyleForUpdate -from miro_api.models.shape_style_platformcreateitemsinbulkusingfilefromdevice import ( - ShapeStylePlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.shape_update_request import ShapeUpdateRequest from miro_api.models.sharing_policy_settings import SharingPolicySettings from miro_api.models.sticky_note_create_request import StickyNoteCreateRequest from miro_api.models.sticky_note_data import StickyNoteData from miro_api.models.sticky_note_data_platform_tags import StickyNoteDataPlatformTags from miro_api.models.sticky_note_data_platformbulkcreateoperation import StickyNoteDataPlatformbulkcreateoperation -from miro_api.models.sticky_note_data_platformcreateitemsinbulkusingfilefromdevice import ( - StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.sticky_note_item import StickyNoteItem from miro_api.models.sticky_note_style import StickyNoteStyle from miro_api.models.sticky_note_style_platformbulkcreateoperation import StickyNoteStylePlatformbulkcreateoperation -from miro_api.models.sticky_note_style_platformcreateitemsinbulkusingfilefromdevice import ( - StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.sticky_note_update_request import StickyNoteUpdateRequest from miro_api.models.subscription_data import SubscriptionData from miro_api.models.tag import Tag @@ -346,14 +300,8 @@ from miro_api.models.text_data import TextData from miro_api.models.text_data_platform_tags import TextDataPlatformTags from miro_api.models.text_data_platformbulkcreateoperation import TextDataPlatformbulkcreateoperation -from miro_api.models.text_data_platformcreateitemsinbulkusingfilefromdevice import ( - TextDataPlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.text_item import TextItem from miro_api.models.text_style import TextStyle -from miro_api.models.text_style_platformcreateitemsinbulkusingfilefromdevice import ( - TextStylePlatformcreateitemsinbulkusingfilefromdevice, -) from miro_api.models.text_update_request import TextUpdateRequest from miro_api.models.token_information import TokenInformation from miro_api.models.un_group400_response import UnGroup400Response @@ -365,6 +313,7 @@ from miro_api.models.update_boards_data_classification_label_request import UpdateBoardsDataClassificationLabelRequest from miro_api.models.update_card_style import UpdateCardStyle from miro_api.models.update_connector_style import UpdateConnectorStyle +from miro_api.models.update_frame_item409_response import UpdateFrameItem409Response from miro_api.models.update_frame_style import UpdateFrameStyle from miro_api.models.update_project_member_request import UpdateProjectMemberRequest from miro_api.models.update_project_request import UpdateProjectRequest diff --git a/packages/miro-api-python/miro_api/models/audit_event.py b/packages/miro-api-python/miro_api/models/audit_event.py index d2fa407fe..1deb87c07 100644 --- a/packages/miro-api-python/miro_api/models/audit_event.py +++ b/packages/miro-api-python/miro_api/models/audit_event.py @@ -41,8 +41,18 @@ class AuditEvent(BaseModel): details: Optional[Dict[str, Any]] = Field(default=None, description="Details json related to the audit event") created_by: Optional[AuditCreatedBy] = Field(default=None, alias="createdBy") event: Optional[StrictStr] = Field(default=None, description="Event type of the audit event") + category: Optional[StrictStr] = Field(default=None, description="Event category of the audit event.") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["id", "context", "object", "createdAt", "details", "createdBy", "event"] + __properties: ClassVar[List[str]] = [ + "id", + "context", + "object", + "createdAt", + "details", + "createdBy", + "event", + "category", + ] model_config = { "populate_by_name": True, @@ -120,6 +130,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "details": obj.get("details"), "createdBy": AuditCreatedBy.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None, "event": obj.get("event"), + "category": obj.get("category"), } ) # store additional fields in additional_properties diff --git a/packages/miro-api-python/miro_api/models/item.py b/packages/miro-api-python/miro_api/models/item.py index 58cb7b541..3b8e3b2f7 100644 --- a/packages/miro-api-python/miro_api/models/item.py +++ b/packages/miro-api-python/miro_api/models/item.py @@ -18,12 +18,11 @@ import json from datetime import datetime -from pydantic import BaseModel, Field, StrictBool, StrictStr +from pydantic import BaseModel, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional from miro_api.models.created_by import CreatedBy from miro_api.models.geometry import Geometry from miro_api.models.item_data import ItemData -from miro_api.models.item_style import ItemStyle from miro_api.models.modified_by import ModifiedBy from miro_api.models.parent_with_links import ParentWithLinks from miro_api.models.position import Position @@ -38,12 +37,11 @@ class Item(BaseModel): """ # noqa: E501 id: StrictStr = Field(description="Unique identifier (ID) of an item.") + type: StrictStr = Field(description="Type of item.") data: Optional[ItemData] = None - style: Optional[ItemStyle] = None position: Optional[Position] = None geometry: Optional[Geometry] = None parent: Optional[ParentWithLinks] = None - is_supported: Optional[StrictBool] = Field(default=None, alias="isSupported") created_by: Optional[CreatedBy] = Field(default=None, alias="createdBy") created_at: Optional[datetime] = Field( default=None, @@ -60,12 +58,11 @@ class Item(BaseModel): additional_properties: Dict[str, Any] = {} __properties: ClassVar[List[str]] = [ "id", + "type", "data", - "style", "position", "geometry", "parent", - "isSupported", "createdBy", "createdAt", "modifiedBy", @@ -118,9 +115,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of data if self.data: _dict["data"] = self.data.to_dict() - # override the default output from pydantic by calling `to_dict()` of style - if self.style: - _dict["style"] = self.style.to_dict() # override the default output from pydantic by calling `to_dict()` of position if self.position: _dict["position"] = self.position.to_dict() @@ -158,12 +152,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate( { "id": obj.get("id"), + "type": obj.get("type"), "data": ItemData.from_dict(obj["data"]) if obj.get("data") is not None else None, - "style": ItemStyle.from_dict(obj["style"]) if obj.get("style") is not None else None, "position": Position.from_dict(obj["position"]) if obj.get("position") is not None else None, "geometry": Geometry.from_dict(obj["geometry"]) if obj.get("geometry") is not None else None, "parent": ParentWithLinks.from_dict(obj["parent"]) if obj.get("parent") is not None else None, - "isSupported": obj.get("isSupported"), "createdBy": CreatedBy.from_dict(obj["createdBy"]) if obj.get("createdBy") is not None else None, "createdAt": obj.get("createdAt"), "modifiedBy": ModifiedBy.from_dict(obj["modifiedBy"]) if obj.get("modifiedBy") is not None else None, diff --git a/packages/miro-api-python/miro_api/models/item_data.py b/packages/miro-api-python/miro_api/models/item_data.py index 314038bb1..3033d3622 100644 --- a/packages/miro-api-python/miro_api/models/item_data.py +++ b/packages/miro-api-python/miro_api/models/item_data.py @@ -17,28 +17,13 @@ import pprint from pydantic import BaseModel, Field, StrictStr, ValidationError, field_validator from typing import Any, List, Optional -from miro_api.models.app_card_data_response import AppCardDataResponse -from miro_api.models.card_data import CardData from miro_api.models.document_data_response import DocumentDataResponse -from miro_api.models.embed_data_response import EmbedDataResponse from miro_api.models.image_data_response import ImageDataResponse -from miro_api.models.shape_data import ShapeData -from miro_api.models.sticky_note_data import StickyNoteData -from miro_api.models.text_data import TextData from pydantic import StrictStr, Field from typing import Union, List, Optional, Dict from typing_extensions import Literal, Self -ITEMDATA_ONE_OF_SCHEMAS = [ - "AppCardDataResponse", - "CardData", - "DocumentDataResponse", - "EmbedDataResponse", - "ImageDataResponse", - "ShapeData", - "StickyNoteData", - "TextData", -] +ITEMDATA_ONE_OF_SCHEMAS = ["DocumentDataResponse", "ImageDataResponse"] class ItemData(BaseModel): @@ -46,46 +31,12 @@ class ItemData(BaseModel): Contains information about item-specific data. """ - # data type: AppCardDataResponse - oneof_schema_1_validator: Optional[AppCardDataResponse] = None - # data type: CardData - oneof_schema_2_validator: Optional[CardData] = None # data type: DocumentDataResponse - oneof_schema_3_validator: Optional[DocumentDataResponse] = None - # data type: EmbedDataResponse - oneof_schema_4_validator: Optional[EmbedDataResponse] = None + oneof_schema_1_validator: Optional[DocumentDataResponse] = None # data type: ImageDataResponse - oneof_schema_5_validator: Optional[ImageDataResponse] = None - # data type: ShapeData - oneof_schema_6_validator: Optional[ShapeData] = None - # data type: StickyNoteData - oneof_schema_7_validator: Optional[StickyNoteData] = None - # data type: TextData - oneof_schema_8_validator: Optional[TextData] = None - actual_instance: Optional[ - Union[ - AppCardDataResponse, - CardData, - DocumentDataResponse, - EmbedDataResponse, - ImageDataResponse, - ShapeData, - StickyNoteData, - TextData, - ] - ] = None - one_of_schemas: List[str] = Field( - default=Literal[ - "AppCardDataResponse", - "CardData", - "DocumentDataResponse", - "EmbedDataResponse", - "ImageDataResponse", - "ShapeData", - "StickyNoteData", - "TextData", - ] - ) + oneof_schema_2_validator: Optional[ImageDataResponse] = None + actual_instance: Optional[Union[DocumentDataResponse, ImageDataResponse]] = None + one_of_schemas: List[str] = Field(default=Literal["DocumentDataResponse", "ImageDataResponse"]) model_config = { "validate_assignment": True, @@ -110,56 +61,26 @@ def actual_instance_must_validate_oneof(cls, v): instance = ItemData.model_construct() error_messages = [] match = 0 - # validate data type: AppCardDataResponse - if not isinstance(v, AppCardDataResponse): - error_messages.append(f"Error! Input type `{type(v)}` is not `AppCardDataResponse`") - else: - match += 1 - # validate data type: CardData - if not isinstance(v, CardData): - error_messages.append(f"Error! Input type `{type(v)}` is not `CardData`") - else: - match += 1 # validate data type: DocumentDataResponse if not isinstance(v, DocumentDataResponse): error_messages.append(f"Error! Input type `{type(v)}` is not `DocumentDataResponse`") else: match += 1 - # validate data type: EmbedDataResponse - if not isinstance(v, EmbedDataResponse): - error_messages.append(f"Error! Input type `{type(v)}` is not `EmbedDataResponse`") - else: - match += 1 # validate data type: ImageDataResponse if not isinstance(v, ImageDataResponse): error_messages.append(f"Error! Input type `{type(v)}` is not `ImageDataResponse`") else: match += 1 - # validate data type: ShapeData - if not isinstance(v, ShapeData): - error_messages.append(f"Error! Input type `{type(v)}` is not `ShapeData`") - else: - match += 1 - # validate data type: StickyNoteData - if not isinstance(v, StickyNoteData): - error_messages.append(f"Error! Input type `{type(v)}` is not `StickyNoteData`") - else: - match += 1 - # validate data type: TextData - if not isinstance(v, TextData): - error_messages.append(f"Error! Input type `{type(v)}` is not `TextData`") - else: - match += 1 if match > 1: # more than 1 match raise ValueError( - "Multiple matches found when setting `actual_instance` in ItemData with oneOf schemas: AppCardDataResponse, CardData, DocumentDataResponse, EmbedDataResponse, ImageDataResponse, ShapeData, StickyNoteData, TextData. Details: " + "Multiple matches found when setting `actual_instance` in ItemData with oneOf schemas: DocumentDataResponse, ImageDataResponse. Details: " + ", ".join(error_messages) ) elif match == 0: # no match raise ValueError( - "No match found when setting `actual_instance` in ItemData with oneOf schemas: AppCardDataResponse, CardData, DocumentDataResponse, EmbedDataResponse, ImageDataResponse, ShapeData, StickyNoteData, TextData. Details: " + "No match found when setting `actual_instance` in ItemData with oneOf schemas: DocumentDataResponse, ImageDataResponse. Details: " + ", ".join(error_messages) ) else: @@ -170,74 +91,29 @@ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: return cls.from_json(json.dumps(obj)) @classmethod - def from_json(cls, json_str: str) -> Union[ - AppCardDataResponse, - CardData, - DocumentDataResponse, - EmbedDataResponse, - ImageDataResponse, - ShapeData, - StickyNoteData, - TextData, - ]: + def from_json(cls, json_str: str) -> Union[DocumentDataResponse, ImageDataResponse]: """Returns the object represented by the json string""" instance = cls.model_construct() error_messages = [] matches = [] - # deserialize data into AppCardDataResponse - try: - instance.actual_instance = AppCardDataResponse.from_json(json_str) - matches.append(instance.actual_instance) - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into CardData - try: - instance.actual_instance = CardData.from_json(json_str) - matches.append(instance.actual_instance) - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) # deserialize data into DocumentDataResponse try: instance.actual_instance = DocumentDataResponse.from_json(json_str) matches.append(instance.actual_instance) except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # deserialize data into EmbedDataResponse - try: - instance.actual_instance = EmbedDataResponse.from_json(json_str) - matches.append(instance.actual_instance) - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) # deserialize data into ImageDataResponse try: instance.actual_instance = ImageDataResponse.from_json(json_str) matches.append(instance.actual_instance) except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # deserialize data into ShapeData - try: - instance.actual_instance = ShapeData.from_json(json_str) - matches.append(instance.actual_instance) - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into StickyNoteData - try: - instance.actual_instance = StickyNoteData.from_json(json_str) - matches.append(instance.actual_instance) - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into TextData - try: - instance.actual_instance = TextData.from_json(json_str) - matches.append(instance.actual_instance) - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) if not matches: # no match raise ValueError( - "No match found when deserializing the JSON string into ItemData with oneOf schemas: AppCardDataResponse, CardData, DocumentDataResponse, EmbedDataResponse, ImageDataResponse, ShapeData, StickyNoteData, TextData. Details: " + "No match found when deserializing the JSON string into ItemData with oneOf schemas: DocumentDataResponse, ImageDataResponse. Details: " + ", ".join(error_messages) ) @@ -257,21 +133,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict( - self, - ) -> Optional[ - Union[ - Dict[str, Any], - AppCardDataResponse, - CardData, - DocumentDataResponse, - EmbedDataResponse, - ImageDataResponse, - ShapeData, - StickyNoteData, - TextData, - ] - ]: + def to_dict(self) -> Optional[Union[Dict[str, Any], DocumentDataResponse, ImageDataResponse]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/packages/miro-api-python/miro_api/models/mind_map_node_geometry.py b/packages/miro-api-python/miro_api/models/mind_map_node_geometry.py new file mode 100644 index 000000000..76219e1fc --- /dev/null +++ b/packages/miro-api-python/miro_api/models/mind_map_node_geometry.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Miro Developer Platform + + ### 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. + + The version of the OpenAPI document: v2.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, Field, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + + +class MindMapNodeGeometry(BaseModel): + """ + Contains width of the item. + """ # noqa: E501 + + width: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Width of the item, in pixels.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["width"] + + model_config = { + "populate_by_name": True, + "validate_assignment": True, + "protected_namespaces": (), + } + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MindMapNodeGeometry from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set( + [ + "additional_properties", + ] + ) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MindMapNodeGeometry from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({"width": obj.get("width")}) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj diff --git a/packages/miro-api-python/miro_api/models/mindmap_create_request.py b/packages/miro-api-python/miro_api/models/mindmap_create_request.py index e1c26df8e..b9745ddb2 100644 --- a/packages/miro-api-python/miro_api/models/mindmap_create_request.py +++ b/packages/miro-api-python/miro_api/models/mindmap_create_request.py @@ -19,7 +19,7 @@ from pydantic import BaseModel from typing import Any, ClassVar, Dict, List, Optional -from miro_api.models.geometry import Geometry +from miro_api.models.mind_map_node_geometry import MindMapNodeGeometry from miro_api.models.mindmap_data_for_create import MindmapDataForCreate from miro_api.models.parent import Parent from miro_api.models.position_change import PositionChange @@ -34,7 +34,7 @@ class MindmapCreateRequest(BaseModel): data: MindmapDataForCreate position: Optional[PositionChange] = None - geometry: Optional[Geometry] = None + geometry: Optional[MindMapNodeGeometry] = None parent: Optional[Parent] = None additional_properties: Dict[str, Any] = {} __properties: ClassVar[List[str]] = ["data", "position", "geometry", "parent"] @@ -113,7 +113,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: { "data": MindmapDataForCreate.from_dict(obj["data"]) if obj.get("data") is not None else None, "position": PositionChange.from_dict(obj["position"]) if obj.get("position") is not None else None, - "geometry": Geometry.from_dict(obj["geometry"]) if obj.get("geometry") is not None else None, + "geometry": MindMapNodeGeometry.from_dict(obj["geometry"]) if obj.get("geometry") is not None else None, "parent": Parent.from_dict(obj["parent"]) if obj.get("parent") is not None else None, } ) diff --git a/packages/miro-api-python/miro_api/models/update_frame_item409_response.py b/packages/miro-api-python/miro_api/models/update_frame_item409_response.py new file mode 100644 index 000000000..f77b52d87 --- /dev/null +++ b/packages/miro-api-python/miro_api/models/update_frame_item409_response.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Miro Developer Platform + + ### 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. + + The version of the OpenAPI document: v2.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + + +class UpdateFrameItem409Response(BaseModel): + """ + Test error obj + """ # noqa: E501 + + code: Optional[StrictStr] = Field(default=None, description="Code of the error") + message: Optional[StrictStr] = Field(default=None, description="Description of the error") + status: Optional[StrictInt] = Field(default=None, description="Status code of the error") + type: Optional[StrictStr] = Field(default=None, description="Type of the error") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["code", "message", "status", "type"] + + model_config = { + "populate_by_name": True, + "validate_assignment": True, + "protected_namespaces": (), + } + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateFrameItem409Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set( + [ + "additional_properties", + ] + ) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateFrameItem409Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate( + { + "code": obj.get("code"), + "message": obj.get("message"), + "status": obj.get("status"), + "type": obj.get("type"), + } + ) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj diff --git a/packages/miro-api-python/miro_api/models/upload_file_from_device_data.py b/packages/miro-api-python/miro_api/models/upload_file_from_device_data.py index 9666c76d5..6db74c2fa 100644 --- a/packages/miro-api-python/miro_api/models/upload_file_from_device_data.py +++ b/packages/miro-api-python/miro_api/models/upload_file_from_device_data.py @@ -32,11 +32,16 @@ class UploadFileFromDeviceData(BaseModel): """ # noqa: E501 title: Optional[StrictStr] = Field(default=None, description="Title for the document.") + alt_text: Optional[StrictStr] = Field( + default=None, + description="A description (alt-text) to help people understand what is depicted here.", + alias="altText", + ) position: Optional[PositionChange] = None geometry: Optional[FixedRatioGeometry] = None parent: Optional[Parent] = None additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["title", "position", "geometry", "parent"] + __properties: ClassVar[List[str]] = ["title", "altText", "position", "geometry", "parent"] model_config = { "populate_by_name": True, @@ -108,6 +113,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate( { "title": obj.get("title"), + "altText": obj.get("altText"), "position": PositionChange.from_dict(obj["position"]) if obj.get("position") is not None else None, "geometry": FixedRatioGeometry.from_dict(obj["geometry"]) if obj.get("geometry") is not None else None, "parent": Parent.from_dict(obj["parent"]) if obj.get("parent") is not None else None, diff --git a/packages/miro-api/.openapi-generator/FILES b/packages/miro-api/.openapi-generator/FILES index aeaa18aa7..08d92b064 100644 --- a/packages/miro-api/.openapi-generator/FILES +++ b/packages/miro-api/.openapi-generator/FILES @@ -6,11 +6,9 @@ model/appCardCreateRequest.ts model/appCardData.ts model/appCardDataChanges.ts model/appCardDataResponse.ts -model/appCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts model/appCardItem.ts model/appCardStyle.ts model/appCardStylePlatformbulkcreateoperation.ts -model/appCardStylePlatformcreateitemsinbulkusingfilefromdevice.ts model/appCardUpdateRequest.ts model/auditContext.ts model/auditCreatedBy.ts @@ -21,7 +19,6 @@ model/auditPage.ts model/auditTeam.ts model/basicError.ts model/basicErrorOrganizationsEnterprisePlan.ts -model/basicErrorTeamsEnterprisePlan.ts model/board.ts model/boardChanges.ts model/boardContentLogData.ts @@ -56,11 +53,9 @@ model/caption.ts model/cardCreateRequest.ts model/cardData.ts model/cardDataPlatformbulkcreateoperation.ts -model/cardDataPlatformcreateitemsinbulkusingfilefromdevice.ts model/cardItem.ts model/cardStyle.ts model/cardStylePlatformbulkcreateoperation.ts -model/cardStylePlatformcreateitemsinbulkusingfilefromdevice.ts model/cardUpdateRequest.ts model/connectorChangesData.ts model/connectorCreationData.ts @@ -71,6 +66,7 @@ model/copyBoardChanges.ts model/createBoardExportRequest.ts model/createBoardSubscriptionRequest.ts model/createDocumentItemUsingFileFromDeviceRequestData.ts +model/createFrameItem400Response.ts model/createProjectRequest.ts model/createTeamRequest.ts model/createdBy.ts @@ -83,7 +79,6 @@ model/createdByPlatformgroups.ts model/customField.ts model/customFieldPlatformTags.ts model/customFieldPlatformbulkcreateoperation.ts -model/customFieldPlatformcreateitemsinbulkusingfilefromdevice.ts model/dataClassificationLabel.ts model/dataClassificationLabelId.ts model/dataClassificationOrganizationSettings.ts @@ -101,7 +96,6 @@ model/documentUrlDataPlatformbulkcreateoperation.ts model/embedCreateRequest.ts model/embedData.ts model/embedDataResponse.ts -model/embedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts model/embedItem.ts model/embedUpdateRequest.ts model/embedUrlData.ts @@ -146,7 +140,6 @@ model/getAllGroups404Response.ts model/getAllGroups429Response.ts model/getBoardItemContentLogsResponse.ts model/getBoardUserInfoLastOpenedBy.ts -model/getBoards400Response.ts model/getItemsByGroupId200Response.ts model/getItemsByGroupId200ResponseData.ts model/getMetrics200ResponseInner.ts @@ -167,8 +160,6 @@ model/imageItemPlatformFileUpload.ts model/imageUpdateRequest.ts model/imageUrlData.ts model/imageUrlDataChanges.ts -model/imageUrlDataChangesPlatformbulkcreateoperation.ts -model/imageUrlDataPlatformbulkcreateoperation.ts model/invitationError.ts model/invitationResult.ts model/item.ts @@ -180,16 +171,13 @@ model/itemCreate.ts model/itemData.ts model/itemDataChanges.ts model/itemDataCreate.ts -model/itemDataPlatformcreateitemsinbulkusingfilefromdevice.ts model/itemPagedResponse.ts model/itemPagedResponsePlatformTags.ts -model/itemPlatformcreateitemsinbulkusingfilefromdevice.ts model/itemStyle.ts -model/itemStylePlatformcreateitemsinbulkusingfilefromdevice.ts model/itemTypeChange.ts model/items.ts model/itemsPage.ts -model/itemsPlatformcreateitemsinbulkusingfilefromdevice.ts +model/mindMapNodeGeometry.ts model/mindmapCreateRequest.ts model/mindmapCursorPaged.ts model/mindmapData.ts @@ -240,23 +228,19 @@ model/shapeData.ts model/shapeDataForCreate.ts model/shapeDataForUpdate.ts model/shapeDataPlatformTags.ts -model/shapeDataPlatformcreateitemsinbulkusingfilefromdevice.ts model/shapeItem.ts model/shapeStyle.ts model/shapeStyleForCreate.ts model/shapeStyleForUpdate.ts -model/shapeStylePlatformcreateitemsinbulkusingfilefromdevice.ts model/shapeUpdateRequest.ts model/sharingPolicySettings.ts model/stickyNoteCreateRequest.ts model/stickyNoteData.ts model/stickyNoteDataPlatformTags.ts model/stickyNoteDataPlatformbulkcreateoperation.ts -model/stickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ts model/stickyNoteItem.ts model/stickyNoteStyle.ts model/stickyNoteStylePlatformbulkcreateoperation.ts -model/stickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.ts model/stickyNoteUpdateRequest.ts model/subscriptionData.ts model/tag.ts @@ -289,10 +273,8 @@ model/textCreateRequest.ts model/textData.ts model/textDataPlatformTags.ts model/textDataPlatformbulkcreateoperation.ts -model/textDataPlatformcreateitemsinbulkusingfilefromdevice.ts model/textItem.ts model/textStyle.ts -model/textStylePlatformcreateitemsinbulkusingfilefromdevice.ts model/textUpdateRequest.ts model/tokenInformation.ts model/unGroup400Response.ts @@ -304,6 +286,7 @@ model/updateBoardsDataClassificationLabel.ts model/updateBoardsDataClassificationLabelRequest.ts model/updateCardStyle.ts model/updateConnectorStyle.ts +model/updateFrameItem409Response.ts model/updateFrameStyle.ts model/updateProjectMemberRequest.ts model/updateProjectRequest.ts diff --git a/packages/miro-api/api/apis.ts b/packages/miro-api/api/apis.ts index def18212d..8ffe7c2e5 100644 --- a/packages/miro-api/api/apis.ts +++ b/packages/miro-api/api/apis.ts @@ -5,7 +5,6 @@ import FormData = require('form-data') import {AppCardCreateRequest} from '../model/appCardCreateRequest' import {AppCardItem} from '../model/appCardItem' import {AppCardUpdateRequest} from '../model/appCardUpdateRequest' -import {GetBoards400Response} from '../model/getBoards400Response' import {GetMetrics200ResponseInner} from '../model/getMetrics200ResponseInner' import {GetMetrics404Response} from '../model/getMetrics404Response' @@ -67,6 +66,7 @@ import {EmbedCreateRequest} from '../model/embedCreateRequest' import {EmbedItem} from '../model/embedItem' import {EmbedUpdateRequest} from '../model/embedUpdateRequest' +import {CreateFrameItem400Response} from '../model/createFrameItem400Response' import {GenericItem} from '../model/genericItem' import {GenericItemCursorPaged} from '../model/genericItemCursorPaged' import {ShapeCreateRequest} from '../model/shapeCreateRequest' @@ -76,6 +76,7 @@ import {ShapeUpdateRequest} from '../model/shapeUpdateRequest' import {FrameCreateRequest} from '../model/frameCreateRequest' import {FrameItem} from '../model/frameItem' import {FrameUpdateRequest} from '../model/frameUpdateRequest' +import {UpdateFrameItem409Response} from '../model/updateFrameItem409Response' import {GetAllGroups200Response} from '../model/getAllGroups200Response' import {GetAllGroups400Response} from '../model/getAllGroups400Response' @@ -1286,7 +1287,7 @@ export class MiroApi { } /** - * Deletes a board.

Required scope

boards:write

Rate limiting

Level 3
+ * Deletes a board. Deleted boards go to Trash (on paid plans) and can be restored via UI within 90 days after deletion.

Required scope

boards:write

Rate limiting

Level 3
* @summary Delete board * @param boardId Unique identifier (ID) of the board that you want to delete. */ @@ -1491,17 +1492,16 @@ export class MiroApi { } /** - * Adds different types of items to a board using files from a device. You can add up to 20 items of the same or different type per create call. For example, you can create 3 shape items, 4 card items, and 5 sticky notes in one create call. The bulk create operation is transactional. If any item\'s create operation fails, the create operation for all the remaining items also fails, and none of the items will be created. To try out this API in our documentation: 1. In the **BODY PARAMS** section, scroll down until you see **ADD OBJECT** (Figure 1). ![add object user interface in readme](https://files.readme.io/570dac1-small-add_object.png) *Figure 1. Add object user interface in readme* 2. Click **ADD OBJECT**, and then select or enter the appropriate values for parameters of the item that you want to add. 3. Repeat steps 1 and 2 for each item that you want to add. **Required scope**: [boards:write](/reference/scopes) **Rate limiting**: Level 2 per item. For example, if you want to create one sticky note, one card, and one shape item in one call, the rate limiting applicable will be 300 credits. This is because create item calls take Level 2 rate limiting of 100 credits each, 100 for sticky note, 100 for card, and 100 for shape item. + * Adds different types of items to a board using files from a device. You can add up to 20 items of the same or different type per create call. For example, you can create 5 document items and 5 images in one create call. The bulk create operation is transactional. If any item\'s create operation fails, the create operation for all the remaining items also fails, and none of the items will be created. To try out this API in our documentation: 1. In the **BODY PARAMS** section, select **ADD FILE**, and then upload a local file. Repeat for each item that you want to add. 2. Upload a JSON file that contains the bulk data for the items you want to create.

Required scope

boards:write

Rate limiting

Level 2 per item
* @summary Create items in bulk using file from device * @param boardId Unique identifier (ID) of the board where you want to create the item. - * @param data Select a file containing JSON object describing files to upload. - * @param resources Select files to upload. + * @param data JSON file containing bulk data, where each object represents an item to be created. For details, see [JSON file example](https://developers.miro.com/reference/json-data-example). + * @param resources Array of items to create (PDFs, images, etc.). Maximum of 20 items. */ async createItemsInBulkUsingFileFromDevice( boardId: string, data: RequestFile, - - resources?: RequestFile, + resources: Array, ): Promise<{response: Response; body: Items}> { const localVarPath = '/v2/boards/{board_id_Platformcreateitemsinbulkusingfilefromdevice}/items/bulk'.replace( '{' + 'board_id' + '}', diff --git a/packages/miro-api/highlevel/index.ts b/packages/miro-api/highlevel/index.ts index 98ccbd5ad..00eda8ae9 100644 --- a/packages/miro-api/highlevel/index.ts +++ b/packages/miro-api/highlevel/index.ts @@ -723,7 +723,7 @@ export class Board extends BaseBoard { } /** - * Deletes a board.

Required scope

boards:write

Rate limiting

Level 3
+ * Deletes a board. Deleted boards go to Trash (on paid plans) and can be restored via UI within 90 days after deletion.

Required scope

boards:write

Rate limiting

Level 3
* @summary Delete board */ async delete(): Promise { diff --git a/packages/miro-api/model/appCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/appCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index 60935abad..000000000 --- a/packages/miro-api/model/appCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import {CustomField} from './customField' - -/** - * @internal - * Contains app card item data, such as the title, description, or fields. - */ -export class AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice { - /** - * A short text description to add context about the app card. - */ - 'description'?: string - /** - * Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view. - */ - 'fields'?: Array - /** - * Defines whether the card is owned by the application making the call. - */ - 'owned'?: boolean - /** - * Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns `disabled`. - */ - 'status'?: - | string - | (typeof AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.StatusEnum)[keyof typeof AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.StatusEnum] - /** - * A short text header to identify the app card. - */ - 'title'?: string - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'description', - baseName: 'description', - type: 'string', - }, - { - name: 'fields', - baseName: 'fields', - type: 'Array', - }, - { - name: 'owned', - baseName: 'owned', - type: 'boolean', - }, - { - name: 'status', - baseName: 'status', - type: 'AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.StatusEnum', - }, - { - name: 'title', - baseName: 'title', - type: 'string', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice { - export const StatusEnum = { - Disconnected: 'disconnected', - Connected: 'connected', - Disabled: 'disabled', - } as const -} diff --git a/packages/miro-api/model/appCardStylePlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/appCardStylePlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index 4e1e52e34..000000000 --- a/packages/miro-api/model/appCardStylePlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains information about the style of an app card item, such as the fill color. - */ -export class AppCardStylePlatformcreateitemsinbulkusingfilefromdevice { - /** - * Hex value of the border color of the app card. Default: `#2d9bf0`. - */ - 'fillColor'?: string - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'fillColor', - baseName: 'fillColor', - type: 'string', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return AppCardStylePlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} diff --git a/packages/miro-api/model/auditEvent.ts b/packages/miro-api/model/auditEvent.ts index 477e71ea0..a8c50c63f 100644 --- a/packages/miro-api/model/auditEvent.ts +++ b/packages/miro-api/model/auditEvent.ts @@ -34,6 +34,10 @@ export class AuditEvent { * Event type of the audit event */ 'event'?: string + /** + * Event category of the audit event. + */ + 'category'?: string /** @ignore */ static discriminator: string | undefined = undefined @@ -75,6 +79,11 @@ export class AuditEvent { baseName: 'event', type: 'string', }, + { + name: 'category', + baseName: 'category', + type: 'string', + }, ] /** @ignore */ diff --git a/packages/miro-api/model/cardDataPlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/cardDataPlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index f6d8bd5b0..000000000 --- a/packages/miro-api/model/cardDataPlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains card item data, such as the title, description, due date, or assignee ID. - */ -export class CardDataPlatformcreateitemsinbulkusingfilefromdevice { - /** - * Unique user identifier. In the GUI, the user ID is mapped to the name of the user who is assigned as the owner of the task or activity described in the card. The identifier is a string containing numbers, and it is automatically assigned to a user when they first sign up. - */ - 'assigneeId'?: string - /** - * A short text description to add context about the card. - */ - 'description'?: string - /** - * The date when the task or activity described in the card is due to be completed. In the GUI, users can select the due date from a calendar. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)). - */ - 'dueDate'?: Date - /** - * A short text header for the card. - */ - 'title'?: string = 'sample card item' - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'assigneeId', - baseName: 'assigneeId', - type: 'string', - }, - { - name: 'description', - baseName: 'description', - type: 'string', - }, - { - name: 'dueDate', - baseName: 'dueDate', - type: 'Date', - }, - { - name: 'title', - baseName: 'title', - type: 'string', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return CardDataPlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} diff --git a/packages/miro-api/model/getBoards400Response.ts b/packages/miro-api/model/createFrameItem400Response.ts similarity index 95% rename from packages/miro-api/model/getBoards400Response.ts rename to packages/miro-api/model/createFrameItem400Response.ts index dcfb6b154..5748c836b 100644 --- a/packages/miro-api/model/getBoards400Response.ts +++ b/packages/miro-api/model/createFrameItem400Response.ts @@ -14,7 +14,7 @@ * @internal * Test error obj */ -export class GetBoards400Response { +export class CreateFrameItem400Response { /** * Code of the error */ @@ -61,6 +61,6 @@ export class GetBoards400Response { /** @ignore */ static getAttributeTypeMap() { - return GetBoards400Response.attributeTypeMap + return CreateFrameItem400Response.attributeTypeMap } } diff --git a/packages/miro-api/model/customFieldPlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/customFieldPlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index 4932a11b7..000000000 --- a/packages/miro-api/model/customFieldPlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view. - */ -export class CustomFieldPlatformcreateitemsinbulkusingfilefromdevice { - /** - * Hex value representing the color that fills the background area of the preview field, when it\'s displayed on the app card. - */ - 'fillColor'?: string - /** - * The shape of the icon on the preview field. - */ - 'iconShape'?: - | string - | (typeof CustomFieldPlatformcreateitemsinbulkusingfilefromdevice.IconShapeEnum)[keyof typeof CustomFieldPlatformcreateitemsinbulkusingfilefromdevice.IconShapeEnum] = - CustomFieldPlatformcreateitemsinbulkusingfilefromdevice.IconShapeEnum.Round - /** - * A valid URL pointing to an image available online. The transport protocol must be HTTPS. Possible image file formats: JPG/JPEG, PNG, SVG. - */ - 'iconUrl'?: string - /** - * Hex value representing the color of the text string assigned to `value`. - */ - 'textColor'?: string - /** - * A short text displayed in a tooltip when clicking or hovering over the preview field. - */ - 'tooltip'?: string - /** - * The actual data value of the custom field. It can be any type of information that you want to convey. - */ - 'value'?: string - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'fillColor', - baseName: 'fillColor', - type: 'string', - }, - { - name: 'iconShape', - baseName: 'iconShape', - type: 'CustomFieldPlatformcreateitemsinbulkusingfilefromdevice.IconShapeEnum', - }, - { - name: 'iconUrl', - baseName: 'iconUrl', - type: 'string', - }, - { - name: 'textColor', - baseName: 'textColor', - type: 'string', - }, - { - name: 'tooltip', - baseName: 'tooltip', - type: 'string', - }, - { - name: 'value', - baseName: 'value', - type: 'string', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return CustomFieldPlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace CustomFieldPlatformcreateitemsinbulkusingfilefromdevice { - export const IconShapeEnum = { - Round: 'round', - Square: 'square', - } as const -} diff --git a/packages/miro-api/model/embedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/embedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index a024ea35a..000000000 --- a/packages/miro-api/model/embedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -export class EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice { - /** - * Type of the embedded item\'s content. - */ - 'contentType'?: string - /** - * Short description of the embedded item. - */ - 'description'?: string - /** - * HTML code of the embedded item. - */ - 'html'?: string - /** - * Defines how the content in the embed item is displayed on the board. `inline`: The embedded content is displayed directly on the board. `modal`: The embedded content is displayed inside a modal overlay on the board. - */ - 'mode'?: - | string - | (typeof EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ModeEnum)[keyof typeof EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ModeEnum] - /** - * The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, \'image/svg\', or \'image/jpg\', depending on the original image type. - */ - 'previewUrl'?: string - /** - * Name of the content\'s provider. - */ - 'providerName'?: string - /** - * Url of the content\'s provider. - */ - 'providerUrl'?: string - /** - * Title of the embedded item. - */ - 'title'?: string - /** - * A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS. - */ - 'url'?: string - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'contentType', - baseName: 'contentType', - type: 'string', - }, - { - name: 'description', - baseName: 'description', - type: 'string', - }, - { - name: 'html', - baseName: 'html', - type: 'string', - }, - { - name: 'mode', - baseName: 'mode', - type: 'EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ModeEnum', - }, - { - name: 'previewUrl', - baseName: 'previewUrl', - type: 'string', - }, - { - name: 'providerName', - baseName: 'providerName', - type: 'string', - }, - { - name: 'providerUrl', - baseName: 'providerUrl', - type: 'string', - }, - { - name: 'title', - baseName: 'title', - type: 'string', - }, - { - name: 'url', - baseName: 'url', - type: 'string', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice { - export const ModeEnum = { - Inline: 'inline', - Modal: 'modal', - } as const -} diff --git a/packages/miro-api/model/imageUrlDataChangesPlatformbulkcreateoperation.ts b/packages/miro-api/model/imageUrlDataChangesPlatformbulkcreateoperation.ts deleted file mode 100644 index 99ecb2223..000000000 --- a/packages/miro-api/model/imageUrlDataChangesPlatformbulkcreateoperation.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains information about the image URL. - */ -export class ImageUrlDataChangesPlatformbulkcreateoperation { - /** - * A short text header to identify the image. - */ - 'title'?: string - /** - * URL of the image. - */ - 'url'?: string - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'title', - baseName: 'title', - type: 'string', - }, - { - name: 'url', - baseName: 'url', - type: 'string', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return ImageUrlDataChangesPlatformbulkcreateoperation.attributeTypeMap - } -} diff --git a/packages/miro-api/model/imageUrlDataPlatformbulkcreateoperation.ts b/packages/miro-api/model/imageUrlDataPlatformbulkcreateoperation.ts deleted file mode 100644 index 3f2fc9fa0..000000000 --- a/packages/miro-api/model/imageUrlDataPlatformbulkcreateoperation.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains information about the image URL. - */ -export class ImageUrlDataPlatformbulkcreateoperation { - /** - * A short text header to identify the image. - */ - 'title'?: string - /** - * URL of the image. - */ - 'url': string = 'https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png' - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'title', - baseName: 'title', - type: 'string', - }, - { - name: 'url', - baseName: 'url', - type: 'string', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return ImageUrlDataPlatformbulkcreateoperation.attributeTypeMap - } -} diff --git a/packages/miro-api/model/item.ts b/packages/miro-api/model/item.ts index efeb197b3..1c66b4ae1 100644 --- a/packages/miro-api/model/item.ts +++ b/packages/miro-api/model/item.ts @@ -13,7 +13,6 @@ import {CreatedBy} from './createdBy' import {Geometry} from './geometry' import {ItemData} from './itemData' -import {ItemStyle} from './itemStyle' import {ModifiedBy} from './modifiedBy' import {ParentWithLinks} from './parentWithLinks' import {Position} from './position' @@ -28,12 +27,14 @@ export class Item { * Unique identifier (ID) of an item. */ 'id': string + /** + * Type of item. + */ + 'type': string 'data'?: ItemData - 'style'?: ItemStyle 'position'?: Position 'geometry'?: Geometry 'parent'?: ParentWithLinks - 'isSupported'?: boolean 'createdBy'?: CreatedBy /** * Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)). @@ -56,16 +57,16 @@ export class Item { baseName: 'id', type: 'string', }, + { + name: 'type', + baseName: 'type', + type: 'string', + }, { name: 'data', baseName: 'data', type: 'ItemData', }, - { - name: 'style', - baseName: 'style', - type: 'ItemStyle', - }, { name: 'position', baseName: 'position', @@ -81,11 +82,6 @@ export class Item { baseName: 'parent', type: 'ParentWithLinks', }, - { - name: 'isSupported', - baseName: 'isSupported', - type: 'boolean', - }, { name: 'createdBy', baseName: 'createdBy', diff --git a/packages/miro-api/model/itemData.ts b/packages/miro-api/model/itemData.ts index 141ca4e88..0438ea99f 100644 --- a/packages/miro-api/model/itemData.ts +++ b/packages/miro-api/model/itemData.ts @@ -10,172 +10,40 @@ * Do not edit the class manually. */ -import {AppCardDataResponse} from './appCardDataResponse' -import {CardData} from './cardData' -import {CustomField} from './customField' import {DocumentDataResponse} from './documentDataResponse' -import {EmbedDataResponse} from './embedDataResponse' import {ImageDataResponse} from './imageDataResponse' -import {ShapeData} from './shapeData' -import {StickyNoteData} from './stickyNoteData' -import {TextData} from './textData' /** * @internal * Contains information about item-specific data. */ export class ItemData { - /** - * Short description of the embedded item. - */ - 'description'?: string - /** - * Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view. - */ - 'fields'?: Array - /** - * Defines whether the card is owned by the application making the call. - */ - 'owned'?: boolean - /** - * Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns `disabled`. - */ - 'status'?: string | (typeof ItemData.StatusEnum)[keyof typeof ItemData.StatusEnum] - /** - * A short text header to identify the image. - */ - 'title'?: string - /** - * Unique user identifier. In the GUI, the user ID is mapped to the name of the user who is assigned as the owner of the task or activity described in the card. The identifier is numeric, and it is automatically assigned to a user when they first sign up. - */ - 'assigneeId'?: string - /** - * The date when the task or activity described in the card is due to be completed. In the GUI, users can select the due date from a calendar. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)). - */ - 'dueDate'?: Date /** * The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter to control the request execution. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned is `application/octet-stream`. */ 'documentUrl'?: string /** - * Type of the embedded item\'s content. - */ - 'contentType'?: string - /** - * HTML code of the embedded item. - */ - 'html'?: string - /** - * Defines how the content in the embed item is displayed on the board. `inline`: The embedded content is displayed directly on the board. `modal`: The embedded content is displayed inside a modal overlay on the board. - */ - 'mode'?: string | (typeof ItemData.ModeEnum)[keyof typeof ItemData.ModeEnum] - /** - * The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, \'image/svg\', or \'image/jpg\', depending on the original image type. - */ - 'previewUrl'?: string - /** - * Name of the content\'s provider. - */ - 'providerName'?: string - /** - * Url of the content\'s provider. - */ - 'providerUrl'?: string - /** - * A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS. + * A short text header to identify the image. */ - 'url'?: string + 'title'?: string /** * The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, \'image/svg\', or \'image/jpg\', depending on the original image type. */ 'imageUrl'?: string - /** - * The actual text (content) that appears in the text item. - */ - 'content': string - /** - * Defines the geometric shape of the sticky note and aspect ratio for its dimensions. - */ - 'shape'?: string | (typeof ItemData.ShapeEnum)[keyof typeof ItemData.ShapeEnum] = ItemData.ShapeEnum.Square /** @ignore */ static discriminator: string | undefined = undefined /** @ignore */ static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'description', - baseName: 'description', - type: 'string', - }, - { - name: 'fields', - baseName: 'fields', - type: 'Array', - }, - { - name: 'owned', - baseName: 'owned', - type: 'boolean', - }, - { - name: 'status', - baseName: 'status', - type: 'ItemData.StatusEnum', - }, - { - name: 'title', - baseName: 'title', - type: 'string', - }, - { - name: 'assigneeId', - baseName: 'assigneeId', - type: 'string', - }, - { - name: 'dueDate', - baseName: 'dueDate', - type: 'Date', - }, { name: 'documentUrl', baseName: 'documentUrl', type: 'string', }, { - name: 'contentType', - baseName: 'contentType', - type: 'string', - }, - { - name: 'html', - baseName: 'html', - type: 'string', - }, - { - name: 'mode', - baseName: 'mode', - type: 'ItemData.ModeEnum', - }, - { - name: 'previewUrl', - baseName: 'previewUrl', - type: 'string', - }, - { - name: 'providerName', - baseName: 'providerName', - type: 'string', - }, - { - name: 'providerUrl', - baseName: 'providerUrl', - type: 'string', - }, - { - name: 'url', - baseName: 'url', + name: 'title', + baseName: 'title', type: 'string', }, { @@ -183,16 +51,6 @@ export class ItemData { baseName: 'imageUrl', type: 'string', }, - { - name: 'content', - baseName: 'content', - type: 'string', - }, - { - name: 'shape', - baseName: 'shape', - type: 'ItemData.ShapeEnum', - }, ] /** @ignore */ @@ -200,19 +58,3 @@ export class ItemData { return ItemData.attributeTypeMap } } - -export namespace ItemData { - export const StatusEnum = { - Disconnected: 'disconnected', - Connected: 'connected', - Disabled: 'disabled', - } as const - export const ModeEnum = { - Inline: 'inline', - Modal: 'modal', - } as const - export const ShapeEnum = { - Square: 'square', - Rectangle: 'rectangle', - } as const -} diff --git a/packages/miro-api/model/itemDataPlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/itemDataPlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index d3ff5a054..000000000 --- a/packages/miro-api/model/itemDataPlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,225 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import {AppCardDataResponse} from './appCardDataResponse' -import {CardData} from './cardData' -import {CustomField} from './customField' -import {DocumentDataResponse} from './documentDataResponse' -import {EmbedDataResponse} from './embedDataResponse' -import {ImageDataResponse} from './imageDataResponse' -import {ShapeData} from './shapeData' -import {StickyNoteData} from './stickyNoteData' -import {TextData} from './textData' - -/** - * @internal - * Contains information about item-specific data. - */ -export class ItemDataPlatformcreateitemsinbulkusingfilefromdevice { - /** - * Short description of the embedded item. - */ - 'description'?: string - /** - * Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view. - */ - 'fields'?: Array - /** - * Defines whether the card is owned by the application making the call. - */ - 'owned'?: boolean - /** - * Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns `disabled`. - */ - 'status'?: - | string - | (typeof ItemDataPlatformcreateitemsinbulkusingfilefromdevice.StatusEnum)[keyof typeof ItemDataPlatformcreateitemsinbulkusingfilefromdevice.StatusEnum] - /** - * A short text header to identify the image. - */ - 'title'?: string - /** - * Unique user identifier. In the GUI, the user ID is mapped to the name of the user who is assigned as the owner of the task or activity described in the card. The identifier is numeric, and it is automatically assigned to a user when they first sign up. - */ - 'assigneeId'?: string - /** - * The date when the task or activity described in the card is due to be completed. In the GUI, users can select the due date from a calendar. Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)). - */ - 'dueDate'?: Date - /** - * The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter to control the request execution. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned is `application/octet-stream`. - */ - 'documentUrl'?: string - /** - * Type of the embedded item\'s content. - */ - 'contentType'?: string - /** - * HTML code of the embedded item. - */ - 'html'?: string - /** - * Defines how the content in the embed item is displayed on the board. `inline`: The embedded content is displayed directly on the board. `modal`: The embedded content is displayed inside a modal overlay on the board. - */ - 'mode'?: - | string - | (typeof ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ModeEnum)[keyof typeof ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ModeEnum] - /** - * The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, \'image/svg\', or \'image/jpg\', depending on the original image type. - */ - 'previewUrl'?: string - /** - * Name of the content\'s provider. - */ - 'providerName'?: string - /** - * Url of the content\'s provider. - */ - 'providerUrl'?: string - /** - * A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS. - */ - 'url'?: string - /** - * The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, \'image/svg\', or \'image/jpg\', depending on the original image type. - */ - 'imageUrl'?: string - /** - * The actual text (content) that appears in the text item. - */ - 'content': string - /** - * Defines the geometric shape of the sticky note and aspect ratio for its dimensions. - */ - 'shape'?: - | string - | (typeof ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum)[keyof typeof ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum] = - ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum.Square - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'description', - baseName: 'description', - type: 'string', - }, - { - name: 'fields', - baseName: 'fields', - type: 'Array', - }, - { - name: 'owned', - baseName: 'owned', - type: 'boolean', - }, - { - name: 'status', - baseName: 'status', - type: 'ItemDataPlatformcreateitemsinbulkusingfilefromdevice.StatusEnum', - }, - { - name: 'title', - baseName: 'title', - type: 'string', - }, - { - name: 'assigneeId', - baseName: 'assigneeId', - type: 'string', - }, - { - name: 'dueDate', - baseName: 'dueDate', - type: 'Date', - }, - { - name: 'documentUrl', - baseName: 'documentUrl', - type: 'string', - }, - { - name: 'contentType', - baseName: 'contentType', - type: 'string', - }, - { - name: 'html', - baseName: 'html', - type: 'string', - }, - { - name: 'mode', - baseName: 'mode', - type: 'ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ModeEnum', - }, - { - name: 'previewUrl', - baseName: 'previewUrl', - type: 'string', - }, - { - name: 'providerName', - baseName: 'providerName', - type: 'string', - }, - { - name: 'providerUrl', - baseName: 'providerUrl', - type: 'string', - }, - { - name: 'url', - baseName: 'url', - type: 'string', - }, - { - name: 'imageUrl', - baseName: 'imageUrl', - type: 'string', - }, - { - name: 'content', - baseName: 'content', - type: 'string', - }, - { - name: 'shape', - baseName: 'shape', - type: 'ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return ItemDataPlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace ItemDataPlatformcreateitemsinbulkusingfilefromdevice { - export const StatusEnum = { - Disconnected: 'disconnected', - Connected: 'connected', - Disabled: 'disabled', - } as const - export const ModeEnum = { - Inline: 'inline', - Modal: 'modal', - } as const - export const ShapeEnum = { - Square: 'square', - Rectangle: 'rectangle', - } as const -} diff --git a/packages/miro-api/model/itemPlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/itemPlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index 3f2a568aa..000000000 --- a/packages/miro-api/model/itemPlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,120 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import {CreatedBy} from './createdBy' -import {Geometry} from './geometry' -import {ItemData} from './itemData' -import {ItemStyle} from './itemStyle' -import {ModifiedBy} from './modifiedBy' -import {ParentWithLinks} from './parentWithLinks' -import {Position} from './position' -import {SelfLink} from './selfLink' - -/** - * @internal - * Contains information about an item. - */ -export class ItemPlatformcreateitemsinbulkusingfilefromdevice { - /** - * Unique identifier (ID) of an item. - */ - 'id': string - 'data'?: ItemData - 'style'?: ItemStyle - 'position'?: Position - 'geometry'?: Geometry - 'parent'?: ParentWithLinks - 'isSupported'?: boolean - 'createdBy'?: CreatedBy - /** - * Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)). - */ - 'createdAt'?: Date - 'modifiedBy'?: ModifiedBy - /** - * Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)). - */ - 'modifiedAt'?: Date - 'links': SelfLink - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'id', - baseName: 'id', - type: 'string', - }, - { - name: 'data', - baseName: 'data', - type: 'ItemData', - }, - { - name: 'style', - baseName: 'style', - type: 'ItemStyle', - }, - { - name: 'position', - baseName: 'position', - type: 'Position', - }, - { - name: 'geometry', - baseName: 'geometry', - type: 'Geometry', - }, - { - name: 'parent', - baseName: 'parent', - type: 'ParentWithLinks', - }, - { - name: 'isSupported', - baseName: 'isSupported', - type: 'boolean', - }, - { - name: 'createdBy', - baseName: 'createdBy', - type: 'CreatedBy', - }, - { - name: 'createdAt', - baseName: 'createdAt', - type: 'Date', - }, - { - name: 'modifiedBy', - baseName: 'modifiedBy', - type: 'ModifiedBy', - }, - { - name: 'modifiedAt', - baseName: 'modifiedAt', - type: 'Date', - }, - { - name: 'links', - baseName: 'links', - type: 'SelfLink', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return ItemPlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} diff --git a/packages/miro-api/model/itemStylePlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/itemStylePlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index cfd449a4c..000000000 --- a/packages/miro-api/model/itemStylePlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,202 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import {AppCardStyle} from './appCardStyle' -import {CardStyle} from './cardStyle' -import {ShapeStyle} from './shapeStyle' -import {StickyNoteStyle} from './stickyNoteStyle' -import {TextStyle} from './textStyle' - -/** - * @internal - * Contains information about item-specific styles. - */ -export class ItemStylePlatformcreateitemsinbulkusingfilefromdevice { - /** - * Background color of the text item. Default: `#ffffff`. - */ - 'fillColor'?: string - /** - * Hex value of the border color of the card. Default: `#2d9bf0`. - */ - 'cardTheme'?: string - /** - * Defines the color of the border of the shape. Default: `#1a1a1a` (dark gray). - */ - 'borderColor'?: string - /** - * Defines the opacity level of the shape border. Possible values: any number between `0.0` and `1.0`, where: `0.0`: the background color is completely transparent or invisible `1.0`: the background color is completely opaque or solid Default: `1.0` (solid color). - */ - 'borderOpacity'?: string - /** - * Defines the style used to represent the border of the shape. Default: `normal`. - */ - 'borderStyle'?: - | string - | (typeof ItemStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum)[keyof typeof ItemStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum] - /** - * Defines the thickness of the shape border, in dp. Default: `2.0`. - */ - 'borderWidth'?: string - /** - * Hex value representing the color for the text within the text item. Default: `#1a1a1a`. - */ - 'color'?: string - /** - * Opacity level of the background color. Possible values: any number between `0.0` and `1.0`, where: `0.0`: the background color is completely transparent or invisible. `1.0`: the background color is completely opaque or solid. Default: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided. - */ - 'fillOpacity'?: string - /** - * Font type for the text in the text item. Default: `arial`. - */ - 'fontFamily'?: - | string - | (typeof ItemStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum)[keyof typeof ItemStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum] - /** - * Font size, in dp. Default: `14`. - */ - 'fontSize'?: string - /** - * Horizontal alignment for the item\'s content. Default: `center.` - */ - 'textAlign'?: - | string - | (typeof ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum)[keyof typeof ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum] - /** - * Defines how the sticky note text is vertically aligned. Default: `top`. - */ - 'textAlignVertical'?: - | string - | (typeof ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum)[keyof typeof ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum] - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'fillColor', - baseName: 'fillColor', - type: 'string', - }, - { - name: 'cardTheme', - baseName: 'cardTheme', - type: 'string', - }, - { - name: 'borderColor', - baseName: 'borderColor', - type: 'string', - }, - { - name: 'borderOpacity', - baseName: 'borderOpacity', - type: 'string', - }, - { - name: 'borderStyle', - baseName: 'borderStyle', - type: 'ItemStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum', - }, - { - name: 'borderWidth', - baseName: 'borderWidth', - type: 'string', - }, - { - name: 'color', - baseName: 'color', - type: 'string', - }, - { - name: 'fillOpacity', - baseName: 'fillOpacity', - type: 'string', - }, - { - name: 'fontFamily', - baseName: 'fontFamily', - type: 'ItemStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum', - }, - { - name: 'fontSize', - baseName: 'fontSize', - type: 'string', - }, - { - name: 'textAlign', - baseName: 'textAlign', - type: 'ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum', - }, - { - name: 'textAlignVertical', - baseName: 'textAlignVertical', - type: 'ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return ItemStylePlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace ItemStylePlatformcreateitemsinbulkusingfilefromdevice { - export const BorderStyleEnum = { - Normal: 'normal', - Dotted: 'dotted', - Dashed: 'dashed', - } as const - export const FontFamilyEnum = { - Arial: 'arial', - AbrilFatface: 'abril_fatface', - Bangers: 'bangers', - EbGaramond: 'eb_garamond', - Georgia: 'georgia', - Graduate: 'graduate', - GravitasOne: 'gravitas_one', - FredokaOne: 'fredoka_one', - NixieOne: 'nixie_one', - OpenSans: 'open_sans', - PermanentMarker: 'permanent_marker', - PtSans: 'pt_sans', - PtSansNarrow: 'pt_sans_narrow', - PtSerif: 'pt_serif', - RammettoOne: 'rammetto_one', - Roboto: 'roboto', - RobotoCondensed: 'roboto_condensed', - RobotoSlab: 'roboto_slab', - Caveat: 'caveat', - TimesNewRoman: 'times_new_roman', - TitanOne: 'titan_one', - LemonTuesday: 'lemon_tuesday', - RobotoMono: 'roboto_mono', - NotoSans: 'noto_sans', - PlexSans: 'plex_sans', - PlexSerif: 'plex_serif', - PlexMono: 'plex_mono', - Spoof: 'spoof', - TiemposText: 'tiempos_text', - Formular: 'formular', - } as const - export const TextAlignEnum = { - Left: 'left', - Right: 'right', - Center: 'center', - } as const - export const TextAlignVerticalEnum = { - Top: 'top', - Middle: 'middle', - Bottom: 'bottom', - } as const -} diff --git a/packages/miro-api/model/itemsPlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/itemsPlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index 47f87e5e9..000000000 --- a/packages/miro-api/model/itemsPlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import {Item} from './item' - -/** - * @internal - * Contains items resulting from a bulk create or update operation. - */ -export class ItemsPlatformcreateitemsinbulkusingfilefromdevice { - /** - * Contains the result data. - */ - 'data': Array - /** - * Type of the object. - */ - 'type': string - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'data', - baseName: 'data', - type: 'Array', - }, - { - name: 'type', - baseName: 'type', - type: 'string', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return ItemsPlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} diff --git a/packages/miro-api/model/cardStylePlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/mindMapNodeGeometry.ts similarity index 81% rename from packages/miro-api/model/cardStylePlatformcreateitemsinbulkusingfilefromdevice.ts rename to packages/miro-api/model/mindMapNodeGeometry.ts index 0f41101c2..e9cdbafb4 100644 --- a/packages/miro-api/model/cardStylePlatformcreateitemsinbulkusingfilefromdevice.ts +++ b/packages/miro-api/model/mindMapNodeGeometry.ts @@ -12,13 +12,13 @@ /** * @internal - * Contains information about the style of a card item, such as the card theme. + * Contains width of the item. */ -export class CardStylePlatformcreateitemsinbulkusingfilefromdevice { +export class MindMapNodeGeometry { /** - * Hex value of the border color of the card. Default: `#2d9bf0`. + * Width of the item, in pixels. */ - 'cardTheme'?: string + 'width'?: number /** @ignore */ static discriminator: string | undefined = undefined @@ -26,14 +26,14 @@ export class CardStylePlatformcreateitemsinbulkusingfilefromdevice { /** @ignore */ static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ { - name: 'cardTheme', - baseName: 'cardTheme', - type: 'string', + name: 'width', + baseName: 'width', + type: 'number', }, ] /** @ignore */ static getAttributeTypeMap() { - return CardStylePlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap + return MindMapNodeGeometry.attributeTypeMap } } diff --git a/packages/miro-api/model/mindmapCreateRequest.ts b/packages/miro-api/model/mindmapCreateRequest.ts index bc7259425..a772ae4cb 100644 --- a/packages/miro-api/model/mindmapCreateRequest.ts +++ b/packages/miro-api/model/mindmapCreateRequest.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -import {Geometry} from './geometry' +import {MindMapNodeGeometry} from './mindMapNodeGeometry' import {MindmapDataForCreate} from './mindmapDataForCreate' import {Parent} from './parent' import {PositionChange} from './positionChange' @@ -18,7 +18,7 @@ import {PositionChange} from './positionChange' export class MindmapCreateRequest { 'data': MindmapDataForCreate 'position'?: PositionChange - 'geometry'?: Geometry + 'geometry'?: MindMapNodeGeometry 'parent'?: Parent /** @ignore */ @@ -39,7 +39,7 @@ export class MindmapCreateRequest { { name: 'geometry', baseName: 'geometry', - type: 'Geometry', + type: 'MindMapNodeGeometry', }, { name: 'parent', diff --git a/packages/miro-api/model/models.ts b/packages/miro-api/model/models.ts index 6983b9cc8..9d630f137 100644 --- a/packages/miro-api/model/models.ts +++ b/packages/miro-api/model/models.ts @@ -4,11 +4,9 @@ export * from './appCardCreateRequest' export * from './appCardData' export * from './appCardDataChanges' export * from './appCardDataResponse' -export * from './appCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice' export * from './appCardItem' export * from './appCardStyle' export * from './appCardStylePlatformbulkcreateoperation' -export * from './appCardStylePlatformcreateitemsinbulkusingfilefromdevice' export * from './appCardUpdateRequest' export * from './auditContext' export * from './auditCreatedBy' @@ -19,7 +17,6 @@ export * from './auditPage' export * from './auditTeam' export * from './basicError' export * from './basicErrorOrganizationsEnterprisePlan' -export * from './basicErrorTeamsEnterprisePlan' export * from './board' export * from './boardChanges' export * from './boardContentLogData' @@ -54,11 +51,9 @@ export * from './caption' export * from './cardCreateRequest' export * from './cardData' export * from './cardDataPlatformbulkcreateoperation' -export * from './cardDataPlatformcreateitemsinbulkusingfilefromdevice' export * from './cardItem' export * from './cardStyle' export * from './cardStylePlatformbulkcreateoperation' -export * from './cardStylePlatformcreateitemsinbulkusingfilefromdevice' export * from './cardUpdateRequest' export * from './connectorChangesData' export * from './connectorCreationData' @@ -69,6 +64,7 @@ export * from './copyBoardChanges' export * from './createBoardExportRequest' export * from './createBoardSubscriptionRequest' export * from './createDocumentItemUsingFileFromDeviceRequestData' +export * from './createFrameItem400Response' export * from './createProjectRequest' export * from './createTeamRequest' export * from './createdBy' @@ -81,7 +77,6 @@ export * from './createdByPlatformgroups' export * from './customField' export * from './customFieldPlatformTags' export * from './customFieldPlatformbulkcreateoperation' -export * from './customFieldPlatformcreateitemsinbulkusingfilefromdevice' export * from './dataClassificationLabel' export * from './dataClassificationLabelId' export * from './dataClassificationOrganizationSettings' @@ -99,7 +94,6 @@ export * from './documentUrlDataPlatformbulkcreateoperation' export * from './embedCreateRequest' export * from './embedData' export * from './embedDataResponse' -export * from './embedDataResponsePlatformcreateitemsinbulkusingfilefromdevice' export * from './embedItem' export * from './embedUpdateRequest' export * from './embedUrlData' @@ -144,7 +138,6 @@ export * from './getAllGroups404Response' export * from './getAllGroups429Response' export * from './getBoardItemContentLogsResponse' export * from './getBoardUserInfoLastOpenedBy' -export * from './getBoards400Response' export * from './getItemsByGroupId200Response' export * from './getItemsByGroupId200ResponseData' export * from './getMetrics200ResponseInner' @@ -165,8 +158,6 @@ export * from './imageItemPlatformFileUpload' export * from './imageUpdateRequest' export * from './imageUrlData' export * from './imageUrlDataChanges' -export * from './imageUrlDataChangesPlatformbulkcreateoperation' -export * from './imageUrlDataPlatformbulkcreateoperation' export * from './invitationError' export * from './invitationResult' export * from './item' @@ -178,16 +169,13 @@ export * from './itemCreate' export * from './itemData' export * from './itemDataChanges' export * from './itemDataCreate' -export * from './itemDataPlatformcreateitemsinbulkusingfilefromdevice' export * from './itemPagedResponse' export * from './itemPagedResponsePlatformTags' -export * from './itemPlatformcreateitemsinbulkusingfilefromdevice' export * from './itemStyle' -export * from './itemStylePlatformcreateitemsinbulkusingfilefromdevice' export * from './itemTypeChange' export * from './items' export * from './itemsPage' -export * from './itemsPlatformcreateitemsinbulkusingfilefromdevice' +export * from './mindMapNodeGeometry' export * from './mindmapCreateRequest' export * from './mindmapCursorPaged' export * from './mindmapData' @@ -237,23 +225,19 @@ export * from './shapeData' export * from './shapeDataForCreate' export * from './shapeDataForUpdate' export * from './shapeDataPlatformTags' -export * from './shapeDataPlatformcreateitemsinbulkusingfilefromdevice' export * from './shapeItem' export * from './shapeStyle' export * from './shapeStyleForCreate' export * from './shapeStyleForUpdate' -export * from './shapeStylePlatformcreateitemsinbulkusingfilefromdevice' export * from './shapeUpdateRequest' export * from './sharingPolicySettings' export * from './stickyNoteCreateRequest' export * from './stickyNoteData' export * from './stickyNoteDataPlatformTags' export * from './stickyNoteDataPlatformbulkcreateoperation' -export * from './stickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice' export * from './stickyNoteItem' export * from './stickyNoteStyle' export * from './stickyNoteStylePlatformbulkcreateoperation' -export * from './stickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice' export * from './stickyNoteUpdateRequest' export * from './subscriptionData' export * from './tag' @@ -286,10 +270,8 @@ export * from './textCreateRequest' export * from './textData' export * from './textDataPlatformTags' export * from './textDataPlatformbulkcreateoperation' -export * from './textDataPlatformcreateitemsinbulkusingfilefromdevice' export * from './textItem' export * from './textStyle' -export * from './textStylePlatformcreateitemsinbulkusingfilefromdevice' export * from './textUpdateRequest' export * from './tokenInformation' export * from './unGroup400Response' @@ -301,6 +283,7 @@ export * from './updateBoardsDataClassificationLabel' export * from './updateBoardsDataClassificationLabelRequest' export * from './updateCardStyle' export * from './updateConnectorStyle' +export * from './updateFrameItem409Response' export * from './updateFrameStyle' export * from './updateProjectMemberRequest' export * from './updateProjectRequest' @@ -338,11 +321,9 @@ import {AppCardCreateRequest} from './appCardCreateRequest' import {AppCardData} from './appCardData' import {AppCardDataChanges} from './appCardDataChanges' import {AppCardDataResponse} from './appCardDataResponse' -import {AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice} from './appCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice' import {AppCardItem} from './appCardItem' import {AppCardStyle} from './appCardStyle' import {AppCardStylePlatformbulkcreateoperation} from './appCardStylePlatformbulkcreateoperation' -import {AppCardStylePlatformcreateitemsinbulkusingfilefromdevice} from './appCardStylePlatformcreateitemsinbulkusingfilefromdevice' import {AppCardUpdateRequest} from './appCardUpdateRequest' import {AuditContext} from './auditContext' import {AuditCreatedBy} from './auditCreatedBy' @@ -353,7 +334,6 @@ import {AuditPage} from './auditPage' import {AuditTeam} from './auditTeam' import {BasicError} from './basicError' import {BasicErrorOrganizationsEnterprisePlan} from './basicErrorOrganizationsEnterprisePlan' -import {BasicErrorTeamsEnterprisePlan} from './basicErrorTeamsEnterprisePlan' import {Board} from './board' import {BoardChanges} from './boardChanges' import {BoardContentLogData} from './boardContentLogData' @@ -388,11 +368,9 @@ import {Caption} from './caption' import {CardCreateRequest} from './cardCreateRequest' import {CardData} from './cardData' import {CardDataPlatformbulkcreateoperation} from './cardDataPlatformbulkcreateoperation' -import {CardDataPlatformcreateitemsinbulkusingfilefromdevice} from './cardDataPlatformcreateitemsinbulkusingfilefromdevice' import {CardItem} from './cardItem' import {CardStyle} from './cardStyle' import {CardStylePlatformbulkcreateoperation} from './cardStylePlatformbulkcreateoperation' -import {CardStylePlatformcreateitemsinbulkusingfilefromdevice} from './cardStylePlatformcreateitemsinbulkusingfilefromdevice' import {CardUpdateRequest} from './cardUpdateRequest' import {ConnectorChangesData} from './connectorChangesData' import {ConnectorCreationData} from './connectorCreationData' @@ -403,6 +381,7 @@ import {CopyBoardChanges} from './copyBoardChanges' import {CreateBoardExportRequest} from './createBoardExportRequest' import {CreateBoardSubscriptionRequest} from './createBoardSubscriptionRequest' import {CreateDocumentItemUsingFileFromDeviceRequestData} from './createDocumentItemUsingFileFromDeviceRequestData' +import {CreateFrameItem400Response} from './createFrameItem400Response' import {CreateProjectRequest} from './createProjectRequest' import {CreateTeamRequest} from './createTeamRequest' import {CreatedBy} from './createdBy' @@ -415,7 +394,6 @@ import {CreatedByPlatformgroups} from './createdByPlatformgroups' import {CustomField} from './customField' import {CustomFieldPlatformTags} from './customFieldPlatformTags' import {CustomFieldPlatformbulkcreateoperation} from './customFieldPlatformbulkcreateoperation' -import {CustomFieldPlatformcreateitemsinbulkusingfilefromdevice} from './customFieldPlatformcreateitemsinbulkusingfilefromdevice' import {DataClassificationLabel} from './dataClassificationLabel' import {DataClassificationLabelId} from './dataClassificationLabelId' import {DataClassificationOrganizationSettings} from './dataClassificationOrganizationSettings' @@ -433,7 +411,6 @@ import {DocumentUrlDataPlatformbulkcreateoperation} from './documentUrlDataPlatf import {EmbedCreateRequest} from './embedCreateRequest' import {EmbedData} from './embedData' import {EmbedDataResponse} from './embedDataResponse' -import {EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice} from './embedDataResponsePlatformcreateitemsinbulkusingfilefromdevice' import {EmbedItem} from './embedItem' import {EmbedUpdateRequest} from './embedUpdateRequest' import {EmbedUrlData} from './embedUrlData' @@ -478,7 +455,6 @@ import {GetAllGroups404Response} from './getAllGroups404Response' import {GetAllGroups429Response} from './getAllGroups429Response' import {GetBoardItemContentLogsResponse} from './getBoardItemContentLogsResponse' import {GetBoardUserInfoLastOpenedBy} from './getBoardUserInfoLastOpenedBy' -import {GetBoards400Response} from './getBoards400Response' import {GetItemsByGroupId200Response} from './getItemsByGroupId200Response' import {GetItemsByGroupId200ResponseData} from './getItemsByGroupId200ResponseData' import {GetMetrics200ResponseInner} from './getMetrics200ResponseInner' @@ -499,8 +475,6 @@ import {ImageItemPlatformFileUpload} from './imageItemPlatformFileUpload' import {ImageUpdateRequest} from './imageUpdateRequest' import {ImageUrlData} from './imageUrlData' import {ImageUrlDataChanges} from './imageUrlDataChanges' -import {ImageUrlDataChangesPlatformbulkcreateoperation} from './imageUrlDataChangesPlatformbulkcreateoperation' -import {ImageUrlDataPlatformbulkcreateoperation} from './imageUrlDataPlatformbulkcreateoperation' import {InvitationError} from './invitationError' import {InvitationResult} from './invitationResult' import {Item} from './item' @@ -512,16 +486,13 @@ import {ItemCreate} from './itemCreate' import {ItemData} from './itemData' import {ItemDataChanges} from './itemDataChanges' import {ItemDataCreate} from './itemDataCreate' -import {ItemDataPlatformcreateitemsinbulkusingfilefromdevice} from './itemDataPlatformcreateitemsinbulkusingfilefromdevice' import {ItemPagedResponse} from './itemPagedResponse' import {ItemPagedResponsePlatformTags} from './itemPagedResponsePlatformTags' -import {ItemPlatformcreateitemsinbulkusingfilefromdevice} from './itemPlatformcreateitemsinbulkusingfilefromdevice' import {ItemStyle} from './itemStyle' -import {ItemStylePlatformcreateitemsinbulkusingfilefromdevice} from './itemStylePlatformcreateitemsinbulkusingfilefromdevice' import {ItemTypeChange} from './itemTypeChange' import {Items} from './items' import {ItemsPage} from './itemsPage' -import {ItemsPlatformcreateitemsinbulkusingfilefromdevice} from './itemsPlatformcreateitemsinbulkusingfilefromdevice' +import {MindMapNodeGeometry} from './mindMapNodeGeometry' import {MindmapCreateRequest} from './mindmapCreateRequest' import {MindmapCursorPaged} from './mindmapCursorPaged' import {MindmapData} from './mindmapData' @@ -571,23 +542,19 @@ import {ShapeData} from './shapeData' import {ShapeDataForCreate} from './shapeDataForCreate' import {ShapeDataForUpdate} from './shapeDataForUpdate' import {ShapeDataPlatformTags} from './shapeDataPlatformTags' -import {ShapeDataPlatformcreateitemsinbulkusingfilefromdevice} from './shapeDataPlatformcreateitemsinbulkusingfilefromdevice' import {ShapeItem} from './shapeItem' import {ShapeStyle} from './shapeStyle' import {ShapeStyleForCreate} from './shapeStyleForCreate' import {ShapeStyleForUpdate} from './shapeStyleForUpdate' -import {ShapeStylePlatformcreateitemsinbulkusingfilefromdevice} from './shapeStylePlatformcreateitemsinbulkusingfilefromdevice' import {ShapeUpdateRequest} from './shapeUpdateRequest' import {SharingPolicySettings} from './sharingPolicySettings' import {StickyNoteCreateRequest} from './stickyNoteCreateRequest' import {StickyNoteData} from './stickyNoteData' import {StickyNoteDataPlatformTags} from './stickyNoteDataPlatformTags' import {StickyNoteDataPlatformbulkcreateoperation} from './stickyNoteDataPlatformbulkcreateoperation' -import {StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice} from './stickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice' import {StickyNoteItem} from './stickyNoteItem' import {StickyNoteStyle} from './stickyNoteStyle' import {StickyNoteStylePlatformbulkcreateoperation} from './stickyNoteStylePlatformbulkcreateoperation' -import {StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice} from './stickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice' import {StickyNoteUpdateRequest} from './stickyNoteUpdateRequest' import {SubscriptionData} from './subscriptionData' import {Tag} from './tag' @@ -620,10 +587,8 @@ import {TextCreateRequest} from './textCreateRequest' import {TextData} from './textData' import {TextDataPlatformTags} from './textDataPlatformTags' import {TextDataPlatformbulkcreateoperation} from './textDataPlatformbulkcreateoperation' -import {TextDataPlatformcreateitemsinbulkusingfilefromdevice} from './textDataPlatformcreateitemsinbulkusingfilefromdevice' import {TextItem} from './textItem' import {TextStyle} from './textStyle' -import {TextStylePlatformcreateitemsinbulkusingfilefromdevice} from './textStylePlatformcreateitemsinbulkusingfilefromdevice' import {TextUpdateRequest} from './textUpdateRequest' import {TokenInformation} from './tokenInformation' import {UnGroup400Response} from './unGroup400Response' @@ -635,6 +600,7 @@ import {UpdateBoardsDataClassificationLabel} from './updateBoardsDataClassificat import {UpdateBoardsDataClassificationLabelRequest} from './updateBoardsDataClassificationLabelRequest' import {UpdateCardStyle} from './updateCardStyle' import {UpdateConnectorStyle} from './updateConnectorStyle' +import {UpdateFrameItem409Response} from './updateFrameItem409Response' import {UpdateFrameStyle} from './updateFrameStyle' import {UpdateProjectMemberRequest} from './updateProjectMemberRequest' import {UpdateProjectRequest} from './updateProjectRequest' @@ -663,8 +629,6 @@ let enumsMap: {[index: string]: any} = { 'AppCardData.StatusEnum': AppCardData.StatusEnum, 'AppCardDataChanges.StatusEnum': AppCardDataChanges.StatusEnum, 'AppCardDataResponse.StatusEnum': AppCardDataResponse.StatusEnum, - 'AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.StatusEnum': - AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice.StatusEnum, 'AuditCreatedBy.TypeEnum': AuditCreatedBy.TypeEnum, 'BoardMember.RoleEnum': BoardMember.RoleEnum, 'BoardMemberChanges.RoleEnum': BoardMemberChanges.RoleEnum, @@ -695,12 +659,8 @@ let enumsMap: {[index: string]: any} = { 'CustomField.IconShapeEnum': CustomField.IconShapeEnum, 'CustomFieldPlatformTags.IconShapeEnum': CustomFieldPlatformTags.IconShapeEnum, 'CustomFieldPlatformbulkcreateoperation.IconShapeEnum': CustomFieldPlatformbulkcreateoperation.IconShapeEnum, - 'CustomFieldPlatformcreateitemsinbulkusingfilefromdevice.IconShapeEnum': - CustomFieldPlatformcreateitemsinbulkusingfilefromdevice.IconShapeEnum, 'EmbedData.ModeEnum': EmbedData.ModeEnum, 'EmbedDataResponse.ModeEnum': EmbedDataResponse.ModeEnum, - 'EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ModeEnum': - EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice.ModeEnum, 'EmbedUrlData.ModeEnum': EmbedUrlData.ModeEnum, 'EmbedUrlDataChanges.ModeEnum': EmbedUrlDataChanges.ModeEnum, 'EmbedUrlDataPlatformbulkcreateoperation.ModeEnum': EmbedUrlDataPlatformbulkcreateoperation.ModeEnum, @@ -713,31 +673,14 @@ let enumsMap: {[index: string]: any} = { 'GenericSubscription.StatusEnum': GenericSubscription.StatusEnum, 'ItemConnectionChangesData.SnapToEnum': ItemConnectionChangesData.SnapToEnum, 'ItemConnectionCreationData.SnapToEnum': ItemConnectionCreationData.SnapToEnum, - 'ItemData.StatusEnum': ItemData.StatusEnum, - 'ItemData.ModeEnum': ItemData.ModeEnum, - 'ItemData.ShapeEnum': ItemData.ShapeEnum, 'ItemDataChanges.StatusEnum': ItemDataChanges.StatusEnum, 'ItemDataCreate.StatusEnum': ItemDataCreate.StatusEnum, 'ItemDataCreate.ModeEnum': ItemDataCreate.ModeEnum, 'ItemDataCreate.ShapeEnum': ItemDataCreate.ShapeEnum, - 'ItemDataPlatformcreateitemsinbulkusingfilefromdevice.StatusEnum': - ItemDataPlatformcreateitemsinbulkusingfilefromdevice.StatusEnum, - 'ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ModeEnum': - ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ModeEnum, - 'ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum': - ItemDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum, 'ItemStyle.BorderStyleEnum': ItemStyle.BorderStyleEnum, 'ItemStyle.FontFamilyEnum': ItemStyle.FontFamilyEnum, 'ItemStyle.TextAlignEnum': ItemStyle.TextAlignEnum, 'ItemStyle.TextAlignVerticalEnum': ItemStyle.TextAlignVerticalEnum, - 'ItemStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum': - ItemStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum, - 'ItemStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum': - ItemStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum, - 'ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum': - ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum, - 'ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum': - ItemStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum, ItemTypeChange: ItemTypeChange, 'MindmapData.DirectionEnum': MindmapData.DirectionEnum, 'MindmapStyle.ShapeEnum': MindmapStyle.ShapeEnum, @@ -750,8 +693,6 @@ let enumsMap: {[index: string]: any} = { ProjectRoleToAdd: ProjectRoleToAdd, 'ShapeData.ShapeEnum': ShapeData.ShapeEnum, 'ShapeDataPlatformTags.ShapeEnum': ShapeDataPlatformTags.ShapeEnum, - 'ShapeDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum': - ShapeDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum, 'ShapeStyle.BorderStyleEnum': ShapeStyle.BorderStyleEnum, 'ShapeStyle.FontFamilyEnum': ShapeStyle.FontFamilyEnum, 'ShapeStyle.TextAlignEnum': ShapeStyle.TextAlignEnum, @@ -764,19 +705,9 @@ let enumsMap: {[index: string]: any} = { 'ShapeStyleForUpdate.FontFamilyEnum': ShapeStyleForUpdate.FontFamilyEnum, 'ShapeStyleForUpdate.TextAlignEnum': ShapeStyleForUpdate.TextAlignEnum, 'ShapeStyleForUpdate.TextAlignVerticalEnum': ShapeStyleForUpdate.TextAlignVerticalEnum, - 'ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum': - ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum, - 'ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum': - ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum, - 'ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum': - ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum, - 'ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum': - ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum, 'StickyNoteData.ShapeEnum': StickyNoteData.ShapeEnum, 'StickyNoteDataPlatformTags.ShapeEnum': StickyNoteDataPlatformTags.ShapeEnum, 'StickyNoteDataPlatformbulkcreateoperation.ShapeEnum': StickyNoteDataPlatformbulkcreateoperation.ShapeEnum, - 'StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum': - StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum, 'StickyNoteStyle.FillColorEnum': StickyNoteStyle.FillColorEnum, 'StickyNoteStyle.TextAlignEnum': StickyNoteStyle.TextAlignEnum, 'StickyNoteStyle.TextAlignVerticalEnum': StickyNoteStyle.TextAlignVerticalEnum, @@ -784,12 +715,6 @@ let enumsMap: {[index: string]: any} = { 'StickyNoteStylePlatformbulkcreateoperation.TextAlignEnum': StickyNoteStylePlatformbulkcreateoperation.TextAlignEnum, 'StickyNoteStylePlatformbulkcreateoperation.TextAlignVerticalEnum': StickyNoteStylePlatformbulkcreateoperation.TextAlignVerticalEnum, - 'StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.FillColorEnum': - StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.FillColorEnum, - 'StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum': - StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum, - 'StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum': - StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum, 'Tag.FillColorEnum': Tag.FillColorEnum, 'TagCreateRequest.FillColorEnum': TagCreateRequest.FillColorEnum, 'TagUpdateRequest.FillColorEnum': TagUpdateRequest.FillColorEnum, @@ -841,10 +766,6 @@ let enumsMap: {[index: string]: any} = { TeamSharingPolicySettingsChanges.SharingViaPublicLinkEnum, 'TextStyle.FontFamilyEnum': TextStyle.FontFamilyEnum, 'TextStyle.TextAlignEnum': TextStyle.TextAlignEnum, - 'TextStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum': - TextStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum, - 'TextStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum': - TextStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum, 'UpdateBoardSubscriptionRequest.StatusEnum': UpdateBoardSubscriptionRequest.StatusEnum, 'UpdateConnectorStyle.EndStrokeCapEnum': UpdateConnectorStyle.EndStrokeCapEnum, 'UpdateConnectorStyle.StartStrokeCapEnum': UpdateConnectorStyle.StartStrokeCapEnum, @@ -873,12 +794,9 @@ let typeMap: {[index: string]: any} = { AppCardData: AppCardData, AppCardDataChanges: AppCardDataChanges, AppCardDataResponse: AppCardDataResponse, - AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice: - AppCardDataResponsePlatformcreateitemsinbulkusingfilefromdevice, AppCardItem: AppCardItem, AppCardStyle: AppCardStyle, AppCardStylePlatformbulkcreateoperation: AppCardStylePlatformbulkcreateoperation, - AppCardStylePlatformcreateitemsinbulkusingfilefromdevice: AppCardStylePlatformcreateitemsinbulkusingfilefromdevice, AppCardUpdateRequest: AppCardUpdateRequest, AuditContext: AuditContext, AuditCreatedBy: AuditCreatedBy, @@ -889,7 +807,6 @@ let typeMap: {[index: string]: any} = { AuditTeam: AuditTeam, BasicError: BasicError, BasicErrorOrganizationsEnterprisePlan: BasicErrorOrganizationsEnterprisePlan, - BasicErrorTeamsEnterprisePlan: BasicErrorTeamsEnterprisePlan, Board: Board, BoardChanges: BoardChanges, BoardContentLogData: BoardContentLogData, @@ -924,11 +841,9 @@ let typeMap: {[index: string]: any} = { CardCreateRequest: CardCreateRequest, CardData: CardData, CardDataPlatformbulkcreateoperation: CardDataPlatformbulkcreateoperation, - CardDataPlatformcreateitemsinbulkusingfilefromdevice: CardDataPlatformcreateitemsinbulkusingfilefromdevice, CardItem: CardItem, CardStyle: CardStyle, CardStylePlatformbulkcreateoperation: CardStylePlatformbulkcreateoperation, - CardStylePlatformcreateitemsinbulkusingfilefromdevice: CardStylePlatformcreateitemsinbulkusingfilefromdevice, CardUpdateRequest: CardUpdateRequest, ConnectorChangesData: ConnectorChangesData, ConnectorCreationData: ConnectorCreationData, @@ -939,6 +854,7 @@ let typeMap: {[index: string]: any} = { CreateBoardExportRequest: CreateBoardExportRequest, CreateBoardSubscriptionRequest: CreateBoardSubscriptionRequest, CreateDocumentItemUsingFileFromDeviceRequestData: CreateDocumentItemUsingFileFromDeviceRequestData, + CreateFrameItem400Response: CreateFrameItem400Response, CreateProjectRequest: CreateProjectRequest, CreateTeamRequest: CreateTeamRequest, CreatedBy: CreatedBy, @@ -951,7 +867,6 @@ let typeMap: {[index: string]: any} = { CustomField: CustomField, CustomFieldPlatformTags: CustomFieldPlatformTags, CustomFieldPlatformbulkcreateoperation: CustomFieldPlatformbulkcreateoperation, - CustomFieldPlatformcreateitemsinbulkusingfilefromdevice: CustomFieldPlatformcreateitemsinbulkusingfilefromdevice, DataClassificationLabel: DataClassificationLabel, DataClassificationLabelId: DataClassificationLabelId, DataClassificationOrganizationSettings: DataClassificationOrganizationSettings, @@ -970,8 +885,6 @@ let typeMap: {[index: string]: any} = { EmbedCreateRequest: EmbedCreateRequest, EmbedData: EmbedData, EmbedDataResponse: EmbedDataResponse, - EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice: - EmbedDataResponsePlatformcreateitemsinbulkusingfilefromdevice, EmbedItem: EmbedItem, EmbedUpdateRequest: EmbedUpdateRequest, EmbedUrlData: EmbedUrlData, @@ -1016,7 +929,6 @@ let typeMap: {[index: string]: any} = { GetAllGroups429Response: GetAllGroups429Response, GetBoardItemContentLogsResponse: GetBoardItemContentLogsResponse, GetBoardUserInfoLastOpenedBy: GetBoardUserInfoLastOpenedBy, - GetBoards400Response: GetBoards400Response, GetItemsByGroupId200Response: GetItemsByGroupId200Response, GetItemsByGroupId200ResponseData: GetItemsByGroupId200ResponseData, GetMetrics200ResponseInner: GetMetrics200ResponseInner, @@ -1038,8 +950,6 @@ let typeMap: {[index: string]: any} = { ImageUpdateRequest: ImageUpdateRequest, ImageUrlData: ImageUrlData, ImageUrlDataChanges: ImageUrlDataChanges, - ImageUrlDataChangesPlatformbulkcreateoperation: ImageUrlDataChangesPlatformbulkcreateoperation, - ImageUrlDataPlatformbulkcreateoperation: ImageUrlDataPlatformbulkcreateoperation, InvitationError: InvitationError, InvitationResult: InvitationResult, Item: Item, @@ -1051,15 +961,12 @@ let typeMap: {[index: string]: any} = { ItemData: ItemData, ItemDataChanges: ItemDataChanges, ItemDataCreate: ItemDataCreate, - ItemDataPlatformcreateitemsinbulkusingfilefromdevice: ItemDataPlatformcreateitemsinbulkusingfilefromdevice, ItemPagedResponse: ItemPagedResponse, ItemPagedResponsePlatformTags: ItemPagedResponsePlatformTags, - ItemPlatformcreateitemsinbulkusingfilefromdevice: ItemPlatformcreateitemsinbulkusingfilefromdevice, ItemStyle: ItemStyle, - ItemStylePlatformcreateitemsinbulkusingfilefromdevice: ItemStylePlatformcreateitemsinbulkusingfilefromdevice, Items: Items, ItemsPage: ItemsPage, - ItemsPlatformcreateitemsinbulkusingfilefromdevice: ItemsPlatformcreateitemsinbulkusingfilefromdevice, + MindMapNodeGeometry: MindMapNodeGeometry, MindmapCreateRequest: MindmapCreateRequest, MindmapCursorPaged: MindmapCursorPaged, MindmapData: MindmapData, @@ -1108,25 +1015,19 @@ let typeMap: {[index: string]: any} = { ShapeDataForCreate: ShapeDataForCreate, ShapeDataForUpdate: ShapeDataForUpdate, ShapeDataPlatformTags: ShapeDataPlatformTags, - ShapeDataPlatformcreateitemsinbulkusingfilefromdevice: ShapeDataPlatformcreateitemsinbulkusingfilefromdevice, ShapeItem: ShapeItem, ShapeStyle: ShapeStyle, ShapeStyleForCreate: ShapeStyleForCreate, ShapeStyleForUpdate: ShapeStyleForUpdate, - ShapeStylePlatformcreateitemsinbulkusingfilefromdevice: ShapeStylePlatformcreateitemsinbulkusingfilefromdevice, ShapeUpdateRequest: ShapeUpdateRequest, SharingPolicySettings: SharingPolicySettings, StickyNoteCreateRequest: StickyNoteCreateRequest, StickyNoteData: StickyNoteData, StickyNoteDataPlatformTags: StickyNoteDataPlatformTags, StickyNoteDataPlatformbulkcreateoperation: StickyNoteDataPlatformbulkcreateoperation, - StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice: - StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice, StickyNoteItem: StickyNoteItem, StickyNoteStyle: StickyNoteStyle, StickyNoteStylePlatformbulkcreateoperation: StickyNoteStylePlatformbulkcreateoperation, - StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice: - StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice, StickyNoteUpdateRequest: StickyNoteUpdateRequest, SubscriptionData: SubscriptionData, Tag: Tag, @@ -1158,10 +1059,8 @@ let typeMap: {[index: string]: any} = { TextData: TextData, TextDataPlatformTags: TextDataPlatformTags, TextDataPlatformbulkcreateoperation: TextDataPlatformbulkcreateoperation, - TextDataPlatformcreateitemsinbulkusingfilefromdevice: TextDataPlatformcreateitemsinbulkusingfilefromdevice, TextItem: TextItem, TextStyle: TextStyle, - TextStylePlatformcreateitemsinbulkusingfilefromdevice: TextStylePlatformcreateitemsinbulkusingfilefromdevice, TextUpdateRequest: TextUpdateRequest, TokenInformation: TokenInformation, UnGroup400Response: UnGroup400Response, @@ -1173,6 +1072,7 @@ let typeMap: {[index: string]: any} = { UpdateBoardsDataClassificationLabelRequest: UpdateBoardsDataClassificationLabelRequest, UpdateCardStyle: UpdateCardStyle, UpdateConnectorStyle: UpdateConnectorStyle, + UpdateFrameItem409Response: UpdateFrameItem409Response, UpdateFrameStyle: UpdateFrameStyle, UpdateProjectMemberRequest: UpdateProjectMemberRequest, UpdateProjectRequest: UpdateProjectRequest, diff --git a/packages/miro-api/model/shapeDataPlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/shapeDataPlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index 46f62f08d..000000000 --- a/packages/miro-api/model/shapeDataPlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,77 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains shape item data, such as the content or shape type of the shape. - */ -export class ShapeDataPlatformcreateitemsinbulkusingfilefromdevice { - /** - * The text you want to display on the shape. - */ - 'content'?: string - /** - * Defines the geometric shape of the item when it is rendered on the board. - */ - 'shape'?: - | string - | (typeof ShapeDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum)[keyof typeof ShapeDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum] = - ShapeDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum.Rectangle - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'content', - baseName: 'content', - type: 'string', - }, - { - name: 'shape', - baseName: 'shape', - type: 'ShapeDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return ShapeDataPlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace ShapeDataPlatformcreateitemsinbulkusingfilefromdevice { - export const ShapeEnum = { - Rectangle: 'rectangle', - RoundRectangle: 'round_rectangle', - Circle: 'circle', - Triangle: 'triangle', - Rhombus: 'rhombus', - Parallelogram: 'parallelogram', - Trapezoid: 'trapezoid', - Pentagon: 'pentagon', - Hexagon: 'hexagon', - Octagon: 'octagon', - WedgeRoundRectangleCallout: 'wedge_round_rectangle_callout', - Star: 'star', - FlowChartPredefinedProcess: 'flow_chart_predefined_process', - Cloud: 'cloud', - Cross: 'cross', - Can: 'can', - RightArrow: 'right_arrow', - LeftArrow: 'left_arrow', - LeftRightArrow: 'left_right_arrow', - LeftBrace: 'left_brace', - RightBrace: 'right_brace', - } as const -} diff --git a/packages/miro-api/model/shapeStylePlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/shapeStylePlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index a94b0a081..000000000 --- a/packages/miro-api/model/shapeStylePlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,187 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains information about the shape style, such as the border color or opacity. - */ -export class ShapeStylePlatformcreateitemsinbulkusingfilefromdevice { - /** - * Defines the color of the border of the shape. Default: `#1a1a1a` (dark gray). - */ - 'borderColor'?: string - /** - * Defines the opacity level of the shape border. Possible values: any number between `0.0` and `1.0`, where: `0.0`: the background color is completely transparent or invisible `1.0`: the background color is completely opaque or solid Default: `1.0` (solid color). - */ - 'borderOpacity'?: string - /** - * Defines the style used to represent the border of the shape. Default: `normal`. - */ - 'borderStyle'?: - | string - | (typeof ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum)[keyof typeof ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum] - /** - * Defines the thickness of the shape border, in dp. Default: `2.0`. - */ - 'borderWidth'?: string - /** - * Hex value representing the color for the text within the shape item. Default: `#1a1a1a`. - */ - 'color'?: string - /** - * Fill color for the shape. Hex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000` Default: #ffffff. - */ - 'fillColor'?: string - /** - * Opacity level of the fill color. Possible values: any number between `0` and `1`, where: `0.0`: the background color is completely transparent or invisible. `1.0`: the background color is completely opaque or solid. Default: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided. - */ - 'fillOpacity'?: string - /** - * Defines the font type for the text in the shape item. Default: `arial`. - */ - 'fontFamily'?: - | string - | (typeof ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum)[keyof typeof ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum] - /** - * Defines the font size, in dp, for the text on the shape. Default: `14`. - */ - 'fontSize'?: string - /** - * Defines how the sticky note text is horizontally aligned. Default: `center`. - */ - 'textAlign'?: - | string - | (typeof ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum)[keyof typeof ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum] - /** - * Defines how the sticky note text is vertically aligned. Default: `top`. - */ - 'textAlignVertical'?: - | string - | (typeof ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum)[keyof typeof ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum] - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'borderColor', - baseName: 'borderColor', - type: 'string', - }, - { - name: 'borderOpacity', - baseName: 'borderOpacity', - type: 'string', - }, - { - name: 'borderStyle', - baseName: 'borderStyle', - type: 'ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.BorderStyleEnum', - }, - { - name: 'borderWidth', - baseName: 'borderWidth', - type: 'string', - }, - { - name: 'color', - baseName: 'color', - type: 'string', - }, - { - name: 'fillColor', - baseName: 'fillColor', - type: 'string', - }, - { - name: 'fillOpacity', - baseName: 'fillOpacity', - type: 'string', - }, - { - name: 'fontFamily', - baseName: 'fontFamily', - type: 'ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum', - }, - { - name: 'fontSize', - baseName: 'fontSize', - type: 'string', - }, - { - name: 'textAlign', - baseName: 'textAlign', - type: 'ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum', - }, - { - name: 'textAlignVertical', - baseName: 'textAlignVertical', - type: 'ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return ShapeStylePlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace ShapeStylePlatformcreateitemsinbulkusingfilefromdevice { - export const BorderStyleEnum = { - Normal: 'normal', - Dotted: 'dotted', - Dashed: 'dashed', - } as const - export const FontFamilyEnum = { - Arial: 'arial', - AbrilFatface: 'abril_fatface', - Bangers: 'bangers', - EbGaramond: 'eb_garamond', - Georgia: 'georgia', - Graduate: 'graduate', - GravitasOne: 'gravitas_one', - FredokaOne: 'fredoka_one', - NixieOne: 'nixie_one', - OpenSans: 'open_sans', - PermanentMarker: 'permanent_marker', - PtSans: 'pt_sans', - PtSansNarrow: 'pt_sans_narrow', - PtSerif: 'pt_serif', - RammettoOne: 'rammetto_one', - Roboto: 'roboto', - RobotoCondensed: 'roboto_condensed', - RobotoSlab: 'roboto_slab', - Caveat: 'caveat', - TimesNewRoman: 'times_new_roman', - TitanOne: 'titan_one', - LemonTuesday: 'lemon_tuesday', - RobotoMono: 'roboto_mono', - NotoSans: 'noto_sans', - PlexSans: 'plex_sans', - PlexSerif: 'plex_serif', - PlexMono: 'plex_mono', - Spoof: 'spoof', - TiemposText: 'tiempos_text', - Formular: 'formular', - } as const - export const TextAlignEnum = { - Left: 'left', - Right: 'right', - Center: 'center', - } as const - export const TextAlignVerticalEnum = { - Top: 'top', - Middle: 'middle', - Bottom: 'bottom', - } as const -} diff --git a/packages/miro-api/model/stickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/stickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index d0f9243bb..000000000 --- a/packages/miro-api/model/stickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains sticky note item data, such as the content or shape of the sticky note. - */ -export class StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice { - /** - * The actual text (content) that appears in the sticky note item. - */ - 'content'?: string - /** - * Defines the geometric shape of the sticky note and aspect ratio for its dimensions. - */ - 'shape'?: - | string - | (typeof StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum)[keyof typeof StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum] = - StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum.Square - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'content', - baseName: 'content', - type: 'string', - }, - { - name: 'shape', - baseName: 'shape', - type: 'StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.ShapeEnum', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace StickyNoteDataPlatformcreateitemsinbulkusingfilefromdevice { - export const ShapeEnum = { - Square: 'square', - Rectangle: 'rectangle', - } as const -} diff --git a/packages/miro-api/model/stickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/stickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index 49662c2dc..000000000 --- a/packages/miro-api/model/stickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains information about the style of a sticky note item, such as the fill color or text alignment. - */ -export class StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice { - /** - * Fill color for the sticky note. Default: `light_yellow`. - */ - 'fillColor'?: - | string - | (typeof StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.FillColorEnum)[keyof typeof StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.FillColorEnum] - /** - * Defines how the sticky note text is horizontally aligned. Default: `center`. - */ - 'textAlign'?: - | string - | (typeof StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum)[keyof typeof StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum] - /** - * Defines how the sticky note text is vertically aligned. Default: `top`. - */ - 'textAlignVertical'?: - | string - | (typeof StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum)[keyof typeof StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum] - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'fillColor', - baseName: 'fillColor', - type: 'StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.FillColorEnum', - }, - { - name: 'textAlign', - baseName: 'textAlign', - type: 'StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum', - }, - { - name: 'textAlignVertical', - baseName: 'textAlignVertical', - type: 'StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignVerticalEnum', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace StickyNoteStylePlatformcreateitemsinbulkusingfilefromdevice { - export const FillColorEnum = { - Gray: 'gray', - LightYellow: 'light_yellow', - Yellow: 'yellow', - Orange: 'orange', - LightGreen: 'light_green', - Green: 'green', - DarkGreen: 'dark_green', - Cyan: 'cyan', - LightPink: 'light_pink', - Pink: 'pink', - Violet: 'violet', - Red: 'red', - LightBlue: 'light_blue', - Blue: 'blue', - DarkBlue: 'dark_blue', - Black: 'black', - } as const - export const TextAlignEnum = { - Left: 'left', - Right: 'right', - Center: 'center', - } as const - export const TextAlignVerticalEnum = { - Top: 'top', - Middle: 'middle', - Bottom: 'bottom', - } as const -} diff --git a/packages/miro-api/model/textDataPlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/textDataPlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index 0a50884e4..000000000 --- a/packages/miro-api/model/textDataPlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains text item data, such as the title, content, or description. For more information on the JSON properties, see [Data](https://developers.miro.com/reference/data). - */ -export class TextDataPlatformcreateitemsinbulkusingfilefromdevice { - /** - * The actual text (content) that appears in the text item. - */ - 'content': string - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'content', - baseName: 'content', - type: 'string', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return TextDataPlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} diff --git a/packages/miro-api/model/textStylePlatformcreateitemsinbulkusingfilefromdevice.ts b/packages/miro-api/model/textStylePlatformcreateitemsinbulkusingfilefromdevice.ts deleted file mode 100644 index e43c5f864..000000000 --- a/packages/miro-api/model/textStylePlatformcreateitemsinbulkusingfilefromdevice.ts +++ /dev/null @@ -1,128 +0,0 @@ -/** - * Miro Developer Platform - * ### 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. - * - * The version of the OpenAPI document: v2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @internal - * Contains information about the style of a text item, such as the fill color or font family. - */ -export class TextStylePlatformcreateitemsinbulkusingfilefromdevice { - /** - * Hex value representing the color for the text within the text item. Default: `#1a1a1a`. - */ - 'color'?: string - /** - * Background color of the text item. Default: `#ffffff`. - */ - 'fillColor'?: string - /** - * Opacity level of the background color. Possible values: any number between `0.0` and `1.0`, where: `0.0`: the background color is completely transparent or invisible. `1.0`: the background color is completely opaque or solid. Default: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided. - */ - 'fillOpacity'?: string - /** - * Font type for the text in the text item. Default: `arial`. - */ - 'fontFamily'?: - | string - | (typeof TextStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum)[keyof typeof TextStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum] - /** - * Font size, in dp. Default: `14`. - */ - 'fontSize'?: string - /** - * Horizontal alignment for the item\'s content. Default: `center.` - */ - 'textAlign'?: - | string - | (typeof TextStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum)[keyof typeof TextStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum] - - /** @ignore */ - static discriminator: string | undefined = undefined - - /** @ignore */ - static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'color', - baseName: 'color', - type: 'string', - }, - { - name: 'fillColor', - baseName: 'fillColor', - type: 'string', - }, - { - name: 'fillOpacity', - baseName: 'fillOpacity', - type: 'string', - }, - { - name: 'fontFamily', - baseName: 'fontFamily', - type: 'TextStylePlatformcreateitemsinbulkusingfilefromdevice.FontFamilyEnum', - }, - { - name: 'fontSize', - baseName: 'fontSize', - type: 'string', - }, - { - name: 'textAlign', - baseName: 'textAlign', - type: 'TextStylePlatformcreateitemsinbulkusingfilefromdevice.TextAlignEnum', - }, - ] - - /** @ignore */ - static getAttributeTypeMap() { - return TextStylePlatformcreateitemsinbulkusingfilefromdevice.attributeTypeMap - } -} - -export namespace TextStylePlatformcreateitemsinbulkusingfilefromdevice { - export const FontFamilyEnum = { - Arial: 'arial', - AbrilFatface: 'abril_fatface', - Bangers: 'bangers', - EbGaramond: 'eb_garamond', - Georgia: 'georgia', - Graduate: 'graduate', - GravitasOne: 'gravitas_one', - FredokaOne: 'fredoka_one', - NixieOne: 'nixie_one', - OpenSans: 'open_sans', - PermanentMarker: 'permanent_marker', - PtSans: 'pt_sans', - PtSansNarrow: 'pt_sans_narrow', - PtSerif: 'pt_serif', - RammettoOne: 'rammetto_one', - Roboto: 'roboto', - RobotoCondensed: 'roboto_condensed', - RobotoSlab: 'roboto_slab', - Caveat: 'caveat', - TimesNewRoman: 'times_new_roman', - TitanOne: 'titan_one', - LemonTuesday: 'lemon_tuesday', - RobotoMono: 'roboto_mono', - NotoSans: 'noto_sans', - PlexSans: 'plex_sans', - PlexSerif: 'plex_serif', - PlexMono: 'plex_mono', - Spoof: 'spoof', - TiemposText: 'tiempos_text', - Formular: 'formular', - } as const - export const TextAlignEnum = { - Left: 'left', - Right: 'right', - Center: 'center', - } as const -} diff --git a/packages/miro-api/model/basicErrorTeamsEnterprisePlan.ts b/packages/miro-api/model/updateFrameItem409Response.ts similarity index 89% rename from packages/miro-api/model/basicErrorTeamsEnterprisePlan.ts rename to packages/miro-api/model/updateFrameItem409Response.ts index 17d0ee5f4..aa360ba9c 100644 --- a/packages/miro-api/model/basicErrorTeamsEnterprisePlan.ts +++ b/packages/miro-api/model/updateFrameItem409Response.ts @@ -10,34 +10,33 @@ * Do not edit the class manually. */ -export class BasicErrorTeamsEnterprisePlan { - /** - * HTTP status code. - */ - 'status'?: number +/** + * @internal + * Test error obj + */ +export class UpdateFrameItem409Response { /** - * Description of the status code. + * Code of the error */ 'code'?: string /** - * Explanation for the error + * Description of the error */ 'message'?: string /** - * Type of the object returned. + * Status code of the error */ - 'type'?: string = 'error' + 'status'?: number + /** + * Type of the error + */ + 'type'?: string /** @ignore */ static discriminator: string | undefined = undefined /** @ignore */ static attributeTypeMap: Array<{name: string; baseName: string; type: string}> = [ - { - name: 'status', - baseName: 'status', - type: 'number', - }, { name: 'code', baseName: 'code', @@ -48,6 +47,11 @@ export class BasicErrorTeamsEnterprisePlan { baseName: 'message', type: 'string', }, + { + name: 'status', + baseName: 'status', + type: 'number', + }, { name: 'type', baseName: 'type', @@ -57,6 +61,6 @@ export class BasicErrorTeamsEnterprisePlan { /** @ignore */ static getAttributeTypeMap() { - return BasicErrorTeamsEnterprisePlan.attributeTypeMap + return UpdateFrameItem409Response.attributeTypeMap } } diff --git a/packages/miro-api/model/uploadFileFromDeviceData.ts b/packages/miro-api/model/uploadFileFromDeviceData.ts index 53000a9e7..2199d3247 100644 --- a/packages/miro-api/model/uploadFileFromDeviceData.ts +++ b/packages/miro-api/model/uploadFileFromDeviceData.ts @@ -19,6 +19,10 @@ export class UploadFileFromDeviceData { * Title for the document. */ 'title'?: string + /** + * A description (alt-text) to help people understand what is depicted here. + */ + 'altText'?: string 'position'?: PositionChange 'geometry'?: FixedRatioGeometry 'parent'?: Parent @@ -33,6 +37,11 @@ export class UploadFileFromDeviceData { baseName: 'title', type: 'string', }, + { + name: 'altText', + baseName: 'altText', + type: 'string', + }, { name: 'position', baseName: 'position',