{"openapi":"3.1.0","info":{"title":"MURAL Public API","description":"MURAL's Public API\n","termsOfService":"https://start.mural.co/developer-beta/terms","contact":{"name":"MURAL","email":"m4d@mural.co"},"version":"1.0.0","x-logo":{"url":"https://app.mural.co/static/images/new-logo.svg","href":"https://mural.co"}},"servers":[{"url":"https://app.mural.co/api/public/{version}","description":"MURAL Public API","variables":{"version":{"default":"v1","enum":["v1"]}}}],"tags":[{"name":"Murals"},{"name":"Mural Contents"},{"name":"Users"},{"name":"Rooms"},{"name":"Templates"},{"name":"Workspaces"},{"name":"Search"},{"name":"Preview","description":"Preview resources that are subject to change."}],"paths":{"/murals":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Murals"],"summary":"Create a mural","description":"Create a mural in a room owned by the authenticated user.\n\n**Authorization scope**: `murals:write`\n","operationId":"createMural","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyBaseMural"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Mural"}}}}}},"400":{"description":"Request invalid or malformed.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/BodyBadRequest"},{"$ref":"#/components/schemas/VisitorLinkBadRequest"}]},"examples":{"Bad Body Request":{"value":{"code":"BODY","details":[{"code":"Invalid property","message":"Invalid \"backgroundColor\" property type was sent. Type undefined was expected."}],"message":"Invalid payload"}},"Bad link expiry":{"value":{"code":"INVALID_LINK_EXPIRATION","message":"The value for link expiration is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Murals"],"summary":"Get single mural","description":"Returns info for a mural that the authenticated user has read access to.\n\n**Authorization scope**: `murals:read`\n","operationId":"getMuralById","parameters":[{"$ref":"#/components/parameters/muralId"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Mural"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WorkspaceNotFound"}]},"examples":{"MuralNotFound":{"value":{"code":"MURAL_NOT_FOUND","message":"The mural was not found or does not exist."}},"WorkspaceNotFound":{"value":{"code":"WORKSPACE_NOT_FOUND","message":"The workspace was not found or does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"security":[{"oauth2":["murals:write"]}],"tags":["Murals"],"summary":"Delete single mural","description":"Deletes a mural that the authenticated user owns.\n\n**Authorization scope**: `murals:write`\n","operationId":"deleteMuralById","parameters":[{"$ref":"#/components/parameters/muralId"}],"responses":{"204":{"description":"The resource was deleted successfully."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WorkspaceNotFound"}]},"examples":{"MuralNotFound":{"value":{"code":"MURAL_NOT_FOUND","message":"The mural was not found or does not exist."}},"WorkspaceNotFound":{"value":{"code":"WORKSPACE_NOT_FOUND","message":"The workspace was not found or does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Murals"],"summary":"Update a mural","description":"Update a mural the authenticated user owns or is a member of.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateMuralById","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMural"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Mural"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WorkspaceNotFound"},{"$ref":"#/components/schemas/UserNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WORKSPACE_NOT_FOUND":"#/components/schemas/WorkspaceNotFound","USER_NOT_FOUND":"#/components/schemas/UserNotFound"}}}}}}}}},"/murals/{muralId}/access-info":{"post":{"tags":["Murals"],"summary":"Get mural's access information","description":"Get the permission information for a particular mural.\n\n**Authorization scope**: `none`\n","operationId":"muralAccessInfo","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyMuralAccessInfo"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/MuralAccessInfo"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"404":{"description":"Mural not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/assets":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create an asset URL","description":"Create an asset URL to upload a file or image to a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"createAsset","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralAsset"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/FileAsset"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"Mural not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/duplicate":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Murals"],"summary":"Duplicate a mural","description":"Duplicate an existing mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"duplicateMural","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateMural"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Mural"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/RoomNotFound"},{"$ref":"#/components/schemas/TargetFolderNotFound"}]},"examples":{"MuralNotFound":{"value":{"code":"MURAL_NOT_FOUND","message":"The mural was not found or does not exist."}},"RoomNotFound":{"value":{"code":"ROOM_NOT_FOUND","message":"The room was not found or does not exist."}},"TargetFolderNotFound":{"value":{"code":"TARGET_FOLDER_NOT_FOUND","message":"The destination folder was not found or does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/export":{"post":{"security":[{"oauth2":["murals:read"]}],"tags":["Murals"],"summary":"Export mural to file","description":"Allows an authenticated user of a mural to export mural to a pdf file.\n\n**Authorization scope**: `murals:read`\n","operationId":"exportMural","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralExport"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Export"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/MuralNotFound"}]},"examples":{"MuralNotFound":{"value":{"code":"MURAL_NOT_FOUND","message":"The mural was not found or does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/exports/{exportId}":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Murals"],"summary":"Get export URL","description":"Returns the download URL of an export operation.\n\n**Authorization scope**: `murals:read`\n","operationId":"exportURLMural","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/exportId"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/MuralExportUrl"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/MuralNotFound"}]},"examples":{"MuralNotFound":{"value":{"code":"MURAL_NOT_FOUND","message":"The mural was not found or does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/chat":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Mural Contents"],"summary":"Get chat for a mural","description":"Returns all chat content for a mural.\n\n**Authorization scope**: `murals:read`\n","operationId":"getMuralChat","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of chat messages returned.","type":"array","items":{"$ref":"#/components/schemas/ChatMessage"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"abc\" property type was sent. Type undefined was expected."}]}},"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The mural was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/tags":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Mural Contents"],"summary":"Get tags in a mural","description":"Returns the tags in a mural.\n\n**Authorization scope**: `murals:read`\n","operationId":"getMuralTags","parameters":[{"$ref":"#/components/parameters/muralId"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"description":"The array of tags returned.","type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The mural was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create a tag in a mural","description":"Create a tag in a mural. Tag text is limited to 25 characters.\n\n**Authorization scope**: `murals:write`\n","operationId":"createMuralTag","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateTag"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Tag"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/MuralTagLimitReachedBadRequest"},{"$ref":"#/components/schemas/BodyBadRequest"}]},"examples":{"The limit of tags has been reached":{"value":{"code":"MURAL_TAG_LIMIT_REACHED","message":"The limit of tags has been reached."}},"Invalid payload":{"value":{"code":"BODY","message":"Invalid payload.","details":{"code":"Invalid property","message":"Property 'text' has a maximum length of 25 characters."}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/tags/{tagId}":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Mural Contents"],"summary":"Get a single tag","description":"Get a tag on a mural\n\n**Authorization scope**: `murals:read`\n","operationId":"getTagById","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/tagId"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Tag"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/TagNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","TAG_NOT_FOUND":"#/components/schemas/TagNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update a tag on a mural","description":"Update a tag on a mural. Tag text is limited to 25 characters.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateTagById","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/tagId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateTag"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Tag"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/BodyBadRequest"}]},"examples":{"Invalid payload":{"value":{"code":"BODY","message":"Invalid payload.","details":[{"code":"Invalid property","message":"Property 'text' has a maximum length of 25 characters."}]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/TagNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","TAG_NOT_FOUND":"#/components/schemas/TagNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Delete a tag from a mural","description":"Delete a tag from a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"deleteTagById","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/tagId"}],"responses":{"204":{"description":"The resource was deleted successfully."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/TagNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","TAG_NOT_FOUND":"#/components/schemas/TagNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/users":{"get":{"security":[{"oauth2":["users:read"]}],"tags":["Users"],"summary":"Get users of a mural","description":"Returns all users of a mural. Users include members and guests.\n\n**Authorization scope**: `users:read`\n","operationId":"getMuralUsers","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of collaborators returned.","type":"array","items":{"$ref":"#/components/schemas/User"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The mural was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/users/{userId}/permissions":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Users"],"summary":"Update mural member permissions","description":"Update mural member permissions, by an authenticated owner of the mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateMuralMemberPermissions","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/userId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMuralMemberPermissions"}}}},"responses":{"200":{"description":"Success"},"400":{"description":"Request invalid or malformed.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/BodyBadPermissions"},{"$ref":"#/components/schemas/BodyBadRequest"}]},"examples":{"Body Bad Permissions":{"value":{"code":"Invalid permission","message":"Member cannot be removed as mural owner if they are also the room owner."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound"}}}}}}}}},"/murals/{muralId}/users/invite":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Users"],"summary":"Invite users to a mural","description":"Allows an authenticated user of a mural to invite members and/or guests.\n\nYou can invite users by specifying either their email address or their username.\nIn both cases the user is notified by email. However, when inviting by username,\nthe user is immediately added to the mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"inviteUsersToMural","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteUsersToMural"}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"description":"Array of invitations","type":"array","items":{"$ref":"#/components/schemas/MuralInvitationResult"}}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Mural not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/users/remove":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Users"],"summary":"Remove users from a mural","description":"Removes members and/or guests from a specified mural that the authenticated user has write access to.\n\n**Authorization scope**: `murals:write`\n","operationId":"removeMuralUsers","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUsers"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUsersResponse"},"example":{"value":[{"email":"success@mural.co"},{"email":"brokenemail@test.com","rejected":true,"reason":"INVALID_EMAIL"}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/EmailsLimitExceededBadRequest"},{"$ref":"#/components/schemas/UsersEmailsBadRequest"}]},"examples":{"Too many emails in request":{"value":{"code":"EMAILS_LIMIT_EXCEEDED","message":"Too many users' emails to remove in this request."}},"Invalid payload":{"value":{"code":"BODY","message":"Invalid payload.","details":{"code":"Invalid property","message":"Invalid \"emails\" property type was sent. Type array was expected."}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The mural was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/voting-sessions":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Mural Contents"],"summary":"Get voting sessions in a mural","description":"Returns the voting sessions in a mural.\n\n**Authorization scope**: `murals:read`\n","operationId":"getMuralVotingSessions","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of voting sessions returned.","type":"array","items":{"$ref":"#/components/schemas/VotingSession"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The mural was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/voting-sessions/{votingSessionId}":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Mural Contents"],"summary":"Get a voting session in a mural","description":"Returns a single voting session in a mural.\n\n**Authorization scope**: `murals:read`\n","operationId":"getMuralVotingSessionById","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/votingSessionId"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/VotingSession"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The mural was not found.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/VotingSessionNotFound"}]},"examples":{"MuralNotFound":{"value":{"code":"MURAL_NOT_FOUND","message":"The mural was not found or does not exist."}},"VotingSessionNotFound":{"value":{"code":"VOTING_SESSION_NOT_FOUND","message":"The voting session does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/voting-sessions/{votingSessionId}/results":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Mural Contents"],"summary":"Get voting session results in a mural","description":"Returns the results of a voting session in a mural.\n\n**Authorization scope**: `murals:read`\n","operationId":"getMuralVotingSessionResults","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/votingSessionId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of voting session results returned.","type":"array","items":{"$ref":"#/components/schemas/VotingSessionResult"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The mural was not found.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/VotingSessionNotFound"}]},"examples":{"MuralNotFound":{"value":{"code":"MURAL_NOT_FOUND","message":"The mural was not found or does not exist."}},"VotingSessionNotFound":{"value":{"code":"VOTING_SESSION_NOT_FOUND","message":"The voting session does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Mural Contents"],"summary":"Get widgets for a mural","description":"Returns all of the widgets for a mural. Does not currently include drawings.\n\n**Authorization scope**: `murals:read`\n","operationId":"getMuralWidgets","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetsFilterByTypes"},{"$ref":"#/components/parameters/widgetsFilterByParentId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of widgets returned.","type":"array","items":{"$ref":"#/components/schemas/Widget"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetsBadRequestErrors"},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/files":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Mural Contents"],"summary":"Get files for a mural","description":"Returns all files for a mural.\n\n**Authorization scope**: `murals:read`\n","operationId":"getMuralFileWidgets","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of widgets returned.","type":"array","items":{"$ref":"#/components/schemas/FileWidget"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetsBadRequestErrors"},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/{widgetId}":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Mural Contents"],"summary":"Get single widget","description":"Returns information about a widget specified by its id.\n\n**Authorization scope**: `murals:read`\n","operationId":"getMuralWidget","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Widget"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Delete a widget","description":"Delete a widget and its content from a Mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"deleteWidgetById","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"responses":{"204":{"description":"The resource was deleted successfully."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/area":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create an area on a mural","description":"Create an area widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"createArea","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateAreaWidget"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/AreaWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/area/{widgetId}":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update an area on a mural","description":"Update an area widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateArea","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateAreaWidget"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/AreaWidget"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/BodyBadRequest"},{"$ref":"#/components/schemas/UnsupportedWidgetType"}]},"examples":{"Bad request":{"value":{"code":"BODY","message":"Invalid \"area\" property type was sent."}},"Unsupported widget type":{"value":{"code":"UNSUPPORTED_WIDGET_TYPE","message":"The operation cannot be performed on this widget type."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/arrow":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create an arrow on a mural","description":"Create an arrow widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"createArrow","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateArrowWidget"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/ArrowWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/arrow/{widgetId}":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update an arrow on a mural","description":"Update an arrow widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateArrow","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateArrowWidget"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/ArrowWidget"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/BodyBadRequest"},{"$ref":"#/components/schemas/UnsupportedWidgetType"}]},"examples":{"Bad request":{"value":{"code":"BODY","message":"Invalid \"arrow\" property type was sent."}},"Unsupported widget type":{"value":{"code":"UNSUPPORTED_WIDGET_TYPE","message":"The operation cannot be performed on this widget type."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/file":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create a file on a mural","description":"Create a file widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"createFile","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateFileWidget"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/FileWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/file/{widgetId}":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update a file on a mural","description":"Update a file widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateFile","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateFileWidget"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/FileWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/image":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create an image in a mural","description":"Create an image widget in a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"createImage","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateImageWidget"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/ImageWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/image/{widgetId}":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update an image in a mural","description":"Update an image widget in a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateImage","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateImageWidget"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/ImageWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/shape":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create shapes on a mural","description":"Create one or more shape widgets on a mural. Limit 1000.\n\n**Authorization scope**: `murals:write`\n","operationId":"createShapeWidget","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateShapeWidget"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"array","description":"The array of shapes created.","items":{"$ref":"#/components/schemas/ShapeWidget"}}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/shape/{widgetId}":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update a shape widget on a mural","description":"Update a shape widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateShapeWidget","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateShapeWidget"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/ShapeWidget"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/BodyBadRequest"},{"$ref":"#/components/schemas/UnsupportedWidgetType"}]},"examples":{"Bad request":{"value":{"code":"BODY","message":"Invalid \"shape\" property type was sent."}},"Unsupported widget type":{"value":{"code":"UNSUPPORTED_WIDGET_TYPE","message":"The operation cannot be performed on this widget type."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/sticky-note":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create sticky notes on a mural","description":"Create one or more sticky note widgets on a mural. Limit 1000.\n\n**Authorization scope**: `murals:write`\n","operationId":"createStickyNote","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateStickyNoteWidget"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"array","description":"The array of sticky notes created.","items":{"$ref":"#/components/schemas/StickyNoteWidget"}}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/TagNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","TAG_NOT_FOUND":"#/components/schemas/TagNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/sticky-note/{widgetId}":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update a sticky note on a mural","description":"Update a sticky note widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateStickyNote","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateStickyNoteWidget"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/StickyNoteWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"},{"$ref":"#/components/schemas/TagNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound","TAG_NOT_FOUND":"#/components/schemas/TagNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/title":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create titles on a mural","description":"Create one or more title widgets on a mural. Limit 1000.\n\n**Authorization scope**: `murals:write`\n","operationId":"createTitle","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateTitleWidget"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"array","description":"The array of titles created.","items":{"$ref":"#/components/schemas/TextWidget"}}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/title/{widgetId}":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update a title on a mural","description":"Update a title widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateTitle","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateTitleWidget"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/TextWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/textbox":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create text boxes on a mural","description":"Create one or more text box widgets on a mural. Limit 1000.\n\n**Authorization scope**: `murals:write`\n","operationId":"createTextbox","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateTextboxWidget"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"array","description":"The array of text boxes created.","items":{"$ref":"#/components/schemas/TextWidget"}}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/textbox/{widgetId}":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update a textbox on a mural","description":"Update a textbox widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateTextbox","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateTextboxWidget"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/TextWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/rooms":{"post":{"security":[{"oauth2":["rooms:write"]}],"tags":["Rooms"],"summary":"Create a room","description":"Create a room in a workspace that the authenticated user has write access to.\n\n**Authorization scope**: `rooms:write`\n","operationId":"createRoom","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoom"}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/BaseRoom"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/rooms/{roomId}":{"get":{"security":[{"oauth2":["rooms:read"]}],"tags":["Rooms"],"summary":"Get single room","description":"Returns information about a room that the authenticated user has read access to.\n\n**Authorization scope**: `rooms:read`\n","operationId":"getRoomInfoById","parameters":[{"$ref":"#/components/parameters/roomId"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/RoomForOwner"},{"$ref":"#/components/schemas/RoomForMember"}]}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}},"delete":{"security":[{"oauth2":["rooms:write"]}],"tags":["Rooms"],"summary":"Delete single room","description":"Deletes a room that the authenticated user owns.\n\n**Authorization scope**: `rooms:write`\n","operationId":"deleteRoomById","parameters":[{"$ref":"#/components/parameters/roomId"}],"responses":{"204":{"description":"The resource was deleted successfully"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/RoomNotFound"},{"$ref":"#/components/schemas/WorkspaceNotFound"}]},"examples":{"RoomNotFound":{"value":{"code":"ROOM_NOT_FOUND","message":"The room was not found or does not exist."}},"WorkspaceNotFound":{"value":{"code":"WORKSPACE_NOT_FOUND","message":"The workspace was not found or does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}},"patch":{"security":[{"oauth2":["rooms:write"]}],"tags":["Rooms"],"summary":"Update single room","description":"Updates a room owned by the authenticated user.\n\n**Authorization scope**: `rooms:write`\n","operationId":"updateRoomById","parameters":[{"$ref":"#/components/parameters/roomId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoom"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/BaseRoom"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/RoomNotFound"},{"$ref":"#/components/schemas/WorkspaceNotFound"}]},"examples":{"RoomNotFound":{"value":{"code":"ROOM_NOT_FOUND","message":"The room was not found or does not exist."}},"WorkspaceNotFound":{"value":{"code":"WORKSPACE_NOT_FOUND","message":"The workspace was not found or does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/rooms/{roomId}/folders":{"post":{"security":[{"oauth2":["rooms:write"]}],"tags":["Rooms"],"summary":"Create a folder in a room","description":"Creates a new folder in a room that the authenticated user has write access to.\n\n**Authorization scope**: `rooms:write`\n","operationId":"createRoomFolder","parameters":[{"$ref":"#/components/parameters/roomId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateFolder"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Folder"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/BodyBadRequest"},"examples":{"Invalid payload":{"value":{"code":"BODY","message":"Invalid payload.","details":[{"code":"Invalid property","message":"Invalid \\\"name\\\" property type was sent. Type string was expected.\""}]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}},"get":{"security":[{"oauth2":["rooms:read"]}],"tags":["Rooms"],"summary":"Get folders for a room","description":"Returns all folders for a room that the authenticated user has access to.\n\n**Authorization scope**: `rooms:read`\n","operationId":"getRoomFolders","parameters":[{"$ref":"#/components/parameters/roomId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"Array of folders returned","type":"array","items":{"$ref":"#/components/schemas/Folder"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/rooms/{roomId}/folders/{folderId}":{"delete":{"security":[{"oauth2":["rooms:write"]}],"tags":["Rooms"],"summary":"Delete a folder from a room","description":"Delete a folder (and all its sub-folders and murals) from a room.\n\n**Authorization scope**: `rooms:write`\n","operationId":"deleteFolderById","parameters":[{"$ref":"#/components/parameters/roomId"},{"$ref":"#/components/parameters/folderId"}],"responses":{"204":{"description":"The resource was deleted successfully."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/RoomNotFound"},{"$ref":"#/components/schemas/FolderNotFound"}],"discriminator":{"propertyName":"code","mapping":{"ROOM_NOT_FOUND":"#/components/schemas/RoomNotFound","FOLDER_NOT_FOUND":"#/components/schemas/FolderNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/rooms/{roomId}/users":{"get":{"security":[{"oauth2":["users:read"]}],"tags":["Users"],"summary":"Get users for a room","description":"Returns all members (including partial) and guests for a room the authenticated user has read access to.\n\n**Authorization scope**: `users:read`\n","operationId":"getRoomMembers","parameters":[{"$ref":"#/components/parameters/roomId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"Array of team members returned","type":"array","items":{"$ref":"#/components/schemas/RoomMember"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Room not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/rooms/{roomId}/users/permissions":{"patch":{"security":[{"oauth2":["rooms:write"]}],"tags":["Users"],"summary":"Update room's members' permissions.","description":"Updates the permissions of one or more members of the specified room.\n\n**Authorization scope**: `rooms:write`\n","operationId":"updateRoomMemberPermissions","parameters":[{"$ref":"#/components/parameters/roomId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoomMembersPermissions"}}}},"responses":{"200":{"description":"Success"},"400":{"description":"Request invalid or malformed.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/BodyBadPermissions"},{"$ref":"#/components/schemas/BodyBadRequest"}]},"examples":{"Body Bad Permissions":{"value":{"code":"ROOM_USERS_PERMISSION_NOT_FOUND","message":"An unknown member was passed as payload."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/RoomNotFound"}],"discriminator":{"propertyName":"code","mapping":{"ROOM_NOT_FOUND":"#/components/schemas/RoomNotFound"}}}}}}}}},"/rooms/{roomId}/users/invite":{"post":{"security":[{"oauth2":["rooms:write"]}],"tags":["Users"],"summary":"Invite users to a room","description":"Allows an authenticated user of a room to invite members and/or guests.\n\nYou can invite users by specifying either their email address or their username.\nIn both cases the user is notified by email. However, when inviting by username,\nthe user is immediately added to the room.\n\n**Authorization scope**: `rooms:write`\n","operationId":"inviteUsersToRoom","parameters":[{"$ref":"#/components/parameters/roomId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteUsersToRoom"}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"description":"Array of invitations","type":"array","items":{"$ref":"#/components/schemas/RoomInvitationResult"}}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Room not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/rooms/{roomId}/users/remove":{"post":{"security":[{"oauth2":["rooms:write"]}],"tags":["Users"],"summary":"Remove users from a room","description":"Removes members and/or guests from a specified room that the authenticated user has write access to.\n\n**Authorization scope**: `rooms:write`\n","operationId":"removeRoomUsers","parameters":[{"$ref":"#/components/parameters/roomId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUsers"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUsersResponse"},"example":{"value":[{"email":"success@mural.co"},{"email":"brokenemail@test.com","rejected":true,"reason":"INVALID_EMAIL"}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/EmailsLimitExceededBadRequest"},{"$ref":"#/components/schemas/UsersEmailsBadRequest"}]},"examples":{"Too many emails in request":{"value":{"code":"EMAILS_LIMIT_EXCEEDED","message":"Too many users' emails to remove in this request."}},"Invalid payload":{"value":{"code":"BODY","message":"Invalid payload.","details":{"code":"Invalid property","message":"Invalid \"emails\" property type was sent. Type array was expected."}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The room was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/templates":{"get":{"security":[{"oauth2":["templates:read"]}],"tags":["Templates"],"summary":"Get default templates","description":"Returns all default templates.\n\n**Authorization scope**: `templates:read`\n","operationId":"getDefaultTemplates","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of default templates returned.","type":"array","items":{"$ref":"#/components/schemas/TemplateDefault"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"withoutDefault\" property type was sent. Type 'true', 'false' was expected."}]}},"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"security":[{"oauth2":["templates:write"]}],"tags":["Templates"],"summary":"Create a custom template from a mural","description":"Creates a custom template based on a mural to use in a workspace.\n\n**Authorization scope**: `templates:write`\n","operationId":"createCustomTemplate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemplateFromMural"}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/TemplateCustom"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"title\" property type was sent. Type 'string' was expected."}]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/templates/{templateId}":{"delete":{"security":[{"oauth2":["templates:write"]}],"tags":["Templates"],"summary":"Delete single template","description":"Deletes a template that the authenticated user owns.\n\n**Authorization scope**: `templates:write`\n","operationId":"deleteTemplateById","parameters":[{"$ref":"#/components/parameters/templateId"}],"responses":{"204":{"description":"The resource was deleted successfully."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/TemplateNotFound"},{"$ref":"#/components/schemas/WorkspaceNotFound"}]},"examples":{"TemplateNotFound":{"value":{"code":"TEMPLATE_NOT_FOUND","message":"The template was not found or does not exist."}},"WorkspaceNotFound":{"value":{"code":"WORKSPACE_NOT_FOUND","message":"The workspace was not found or does not exist."}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/templates/{templateId}/murals":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Templates"],"summary":"Create a mural from a template","description":"Create a mural in a room based on a template.\n\n**Authorization scope**: `murals:write`\n","operationId":"createMuralFromTemplate","parameters":[{"$ref":"#/components/parameters/templateId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMuralFromTemplate"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Mural"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/RoomNotFound"},{"$ref":"#/components/schemas/TemplateNotFound"},{"$ref":"#/components/schemas/WorkspaceNotFound"}]}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/users/me":{"get":{"security":[{"oauth2":["identity:read"]}],"tags":["Users"],"summary":"Get current user","description":"Returns information for the currently authenticated user.\n\n**Authorization scope**: `identity:read`\n","operationId":"getCurrentMember","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/MeResponse"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"description":"Member not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces":{"get":{"security":[{"oauth2":["workspaces:read"]}],"tags":["Workspaces"],"summary":"Get workspaces","description":"Returns all workspaces the authenticated user is a member of, whether the workspace or user is active or inactive.\n\n**Authorization scope**: `workspaces:read`\n","operationId":"getWorkspaces","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"Array of workspaces returned.","type":"array","items":{"$ref":"#/components/schemas/WorkspaceBrief"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}":{"get":{"security":[{"oauth2":["workspaces:read"]}],"tags":["Workspaces"],"summary":"Get single workspace","description":"Returns information for a workspace that the authenticated user has read access to.\n\n**Authorization scope**: `workspaces:read`\n","operationId":"getWorkspace","parameters":[{"$ref":"#/components/parameters/workspaceId"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"allOf":[{"$ref":"#/components/schemas/Workspace"},{"type":"object","description":"Workspace returned"}]}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}/murals":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Murals"],"summary":"Get murals for a workspace","description":"Returns all murals that the authenticated user owns or is a member of for a workspace.\n\n**Authorization scope**: `murals:read`\n","operationId":"getWorkspaceMurals","parameters":[{"$ref":"#/components/parameters/workspaceId"},{"$ref":"#/components/parameters/muralsStatus"},{"$ref":"#/components/parameters/muralsSortBy"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"Array of murals returned.","type":"array","items":{"$ref":"#/components/schemas/MuralBrief"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"status\" property type was sent. Type 'active', 'archived' was expected."}]}},"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}/murals/recent":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Murals"],"summary":"Get recently opened murals for a workspace","description":"Returns the authenticated user's recently opened active murals in a workspace.\n\n**Authorization scope**: `murals:read`\n","operationId":"getWorkspaceRecentMurals","parameters":[{"$ref":"#/components/parameters/workspaceId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of murals returned.","type":"array","items":{"$ref":"#/components/schemas/MuralBrief"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}/rooms":{"get":{"security":[{"oauth2":["rooms:read"]}],"tags":["Rooms"],"summary":"Get rooms for a workspace","description":"Returns all rooms in a workspace that the authenticated user has read access to. The user must have access to both the workspace and the rooms.\n\n**Authorization scope**: `rooms:read`\n","operationId":"getWorkspaceRooms","parameters":[{"$ref":"#/components/parameters/workspaceId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"Array of rooms returned.","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/RoomForOwner"},{"$ref":"#/components/schemas/RoomForMember"}]}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}/rooms/open":{"get":{"security":[{"oauth2":["rooms:read"]}],"tags":["Rooms"],"summary":"Get open rooms for a workspace","description":"Returns all the discoverable open rooms in a workspace.\n\n**Authorization scope**: `rooms:read`\n","operationId":"getWorkspaceOpenRooms","parameters":[{"$ref":"#/components/parameters/workspaceId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"Array of rooms returned.","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/RoomForOwner"},{"$ref":"#/components/schemas/RoomForMember"}]}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}/users/convert-to-guests":{"post":{"security":[{"oauth2":["workspaces:write"]}],"tags":["Users"],"summary":"Convert workspace members to guests","description":"Allows an authenticated admin of a workspace to convert members to guests.\n\n**Authorization scope**: `workspaces:write`\n","operationId":"convertWorkspaceMembersToGuests","parameters":[{"$ref":"#/components/parameters/workspaceId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertWorkspaceMembersToGuests"}}}},"responses":{"204":{"description":"Success"},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Workspace not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}/users/convert-to-members":{"post":{"security":[{"oauth2":["workspaces:write"]}],"tags":["Users"],"summary":"Convert workspace guests to members","description":"Allows an authenticated admin of a workspace to convert guests to members.\n\n**Authorization scope**: `workspaces:write`\n","operationId":"convertWorkspaceMembersToMembers","parameters":[{"$ref":"#/components/parameters/workspaceId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertWorkspaceMembersToMembers"}}}},"responses":{"204":{"description":"Success"},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Workspace not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}/users/invite":{"post":{"security":[{"oauth2":["workspaces:write"]}],"tags":["Users"],"summary":"Invite users to a workspace","description":"Allows an authenticated admin of a workspace to invite members and/or guests.\n\nSpecify a user's email address to send them an invitation by email.\n\n**Authorization scope**: `workspaces:write`\n","operationId":"inviteUsersToWorkspace","parameters":[{"$ref":"#/components/parameters/workspaceId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteUsersToWorkspace"}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"description":"Array of invitations","type":"array","items":{"$ref":"#/components/schemas/WorkspaceInvitationResult"}}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Workspace not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/rooms/{roomId}/murals":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Murals"],"summary":"Get murals for a room","description":"Returns all murals for a room that the authenticated user has read access to.\n\n**Authorization scope**: `murals:read`\n","operationId":"getRoomMurals","parameters":[{"$ref":"#/components/parameters/roomId"},{"$ref":"#/components/parameters/muralsFolder"},{"$ref":"#/components/parameters/muralsStatus"},{"$ref":"#/components/parameters/muralsSortBy"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"Array of murals returned.","type":"array","items":{"$ref":"#/components/schemas/MuralBrief"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"status\" property type was sent. Type 'active', 'archived' was expected."}]}},"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}/templates":{"get":{"security":[{"oauth2":["templates:read"]}],"tags":["Templates"],"summary":"Get default and custom templates for a workspace","description":"Returns default templates and custom templates for a workspace the authenticated user has access to.\n\n**Authorization scope**: `templates:read`\n","operationId":"getTemplatesByWorkspace","parameters":[{"$ref":"#/components/parameters/workspaceId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"},{"$ref":"#/components/parameters/withoutDefault"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"Array of default and custom templates returned.","type":"array","items":{"$ref":"#/components/schemas/Template"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"withoutDefault\" property type was sent. Type 'true', 'false' was expected."}]}},"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/workspaces/{workspaceId}/templates/recent":{"get":{"security":[{"oauth2":["templates:read"]}],"tags":["Templates"],"summary":"Get the recent templates for a workspace","description":"Returns the recent templates used by a user for a workspace the authenticated user has access to. By default, default and custom templates are returned. By specifying parameter `withoutDefault=true`, the list of returned templates will not include default templates.\n**Authorization scope**: `templates:read`\n","operationId":"getRecentTemplates","parameters":[{"$ref":"#/components/parameters/workspaceId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"},{"$ref":"#/components/parameters/withoutDefault"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"Array of the recent templates returned.","type":"array","items":{"$ref":"#/components/schemas/Template"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"withoutDefault\" property type was sent. Type 'true', 'false' was expected."}]}},"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/search/{workspaceId}/murals":{"get":{"security":[{"oauth2":["murals:read"]}],"tags":["Search"],"summary":"Search murals","description":"Returns all murals that the authenticated user owns or is a member of for a specific workspace.\n\n**Authorization scope**: `murals:read`\n","operationId":"searchMurals","parameters":[{"$ref":"#/components/parameters/workspaceId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"},{"$ref":"#/components/parameters/query"},{"in":"query","name":"roomId","schema":{"type":"number"},"description":"Unique identifier of a room. When provided, restrict the results to murals in the specified room.\n","example":1610033618903}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of murals returned.","type":"array","items":{"$ref":"#/components/schemas/MuralSummary"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"title\" property type was sent. Type string was expected."}]}},"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/search/{workspaceId}/rooms":{"get":{"security":[{"oauth2":["rooms:read"]}],"tags":["Search"],"summary":"Search rooms","description":"Returns all rooms that the authenticated user owns or is a member of from a specific workspace.\n\n**Authorization scope**: `rooms:read`\n","operationId":"searchRooms","parameters":[{"$ref":"#/components/parameters/workspaceId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"},{"$ref":"#/components/parameters/query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of rooms returned.","type":"array","items":{"$ref":"#/components/schemas/RoomSummary"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"title\" property type was sent. Type string was expected."}]}},"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/search/{workspaceId}/templates":{"get":{"security":[{"oauth2":["templates:read"]}],"tags":["Search"],"summary":"Search templates","description":"Returns all custom templates the authenticated user owns or has access to.\n\n**Authorization scope**: `templates:read`\n","operationId":"searchTemplates","parameters":[{"$ref":"#/components/parameters/workspaceId"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/nextToken"},{"$ref":"#/components/parameters/query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"value":{"description":"The array of custom and default templates returned.","type":"array","items":{"$ref":"#/components/schemas/TemplateSummary"}}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/QueryBadRequest"},{"$ref":"#/components/schemas/LimitBadRequest"},{"$ref":"#/components/schemas/PaginationBadRequest"},{"$ref":"#/components/schemas/NextTokenExpired"}]},"examples":{"Bad Query Request":{"value":{"code":"QUERY","message":"The payload is invalid.","details":[{"code":"Invalid property","message":"Invalid \"name\" property type was sent. Type string was expected."}]}},"Next Token Expired":{"value":{"code":"NEXT_TOKEN_EXPIRED","message":"The next token has expired or does not exist."}},"Invalid limit":{"value":{"code":"LIMIT_INVALID","message":"The limit is invalid."}},"Invalid pagination":{"value":{"code":"PAGINATION_INVALID","message":"The pagination is invalid."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/comment":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Create a comment on a mural","description":"Create a comment widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"createComment","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyCreateCommentWidget"}}}},"responses":{"201":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/CommentWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/widgets/comment/{widgetId}":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Mural Contents"],"summary":"Update a comment on a mural","description":"Update a comment widget on a mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateComment","parameters":[{"$ref":"#/components/parameters/muralId"},{"$ref":"#/components/parameters/widgetId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBodyUpdateCommentWidget"}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/CommentWidget"}}}}}},"400":{"$ref":"#/components/responses/BodyBadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/DataResidencyForbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"},{"$ref":"#/components/schemas/WidgetNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound","WIDGET_NOT_FOUND":"#/components/schemas/WidgetNotFound"}}}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/murals/{muralId}/visitor-settings":{"patch":{"security":[{"oauth2":["murals:write"]}],"tags":["Murals"],"summary":"Update mural visitor settings","description":"Update visitor settings of a mural, by an authenticated owner of the mural.\n\n**Authorization scope**: `murals:write`\n","operationId":"updateMuralVisitorSettings","parameters":[{"$ref":"#/components/parameters/muralId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMuralVisitorSettings"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/MuralVisitorSettings"}}}}}},"400":{"description":"Request invalid or malformed.","content":{"application/json":{"schema":{"type":"object","oneOf":[{"$ref":"#/components/schemas/BodyBadRequest"},{"$ref":"#/components/schemas/VisitorLinkBadRequest"}]},"examples":{"Bad Body Request":{"value":{"code":"BODY","details":[{"code":"Invalid property","message":"Invalid \"password\" property type was sent. Type undefined was expected."}],"message":"Invalid payload"}},"Bad link expiry":{"value":{"code":"INVALID_LINK_EXPIRATION","message":"link expiry value is not correct."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/MuralNotFound"}],"discriminator":{"propertyName":"code","mapping":{"MURAL_NOT_FOUND":"#/components/schemas/MuralNotFound"}}}}}}}}},"/murals/{muralId}/visitor-settings/reset-link":{"post":{"security":[{"oauth2":["murals:write"]}],"tags":["Murals"],"summary":"Reset the mural visitor link","description":"Resets the mural visitor URL so the previous visitor URL will no longer work.\n\n**Authorization scope**: `murals:write`\n","parameters":[{"$ref":"#/components/parameters/muralId"}],"operationId":"resetVisitorLink","responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/MuralVisitorSettings"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuralNotFound"}}}}}}}},"components":{"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://app.mural.co/api/public/v1/authorization/oauth2","tokenUrl":"https://app.mural.co/api/public/v1/authorization/oauth2/token","refreshUrl":"https://app.mural.co/api/public/v1/authorization/oauth2/token","scopes":{"rooms:read":"Read information about rooms (for room members and owners).","rooms:write":"Write information about rooms (for room owners).","users:read":"Read information about users (guests, members, and visitors).","workspaces:write":"Write information about workspaces (for workspace owners)","workspaces:read":"Read information about workspaces (for workspace members and owners).","murals:read":"Read information about murals (for mural members and owners).","murals:write":"Write information about murals (for mural members and owners).","identity:read":"Read information about currently authenticated user.","templates:read":"Read information about templates.","templates:write":"Write information about templates (for templates owners)"}}}}},"schemas":{"RoomId":{"type":"integer","description":"ID of a room.","minimum":1,"example":1608152669000},"Color":{"type":"string","pattern":"^#[0-9A-F]{8}?$","example":"#FAFAFAFF"},"MuralFolderId":{"type":"string","description":"The UUID of the folder this mural belongs to.","example":"70b817c1-b5df-46e5-974e-1c87681b0581"},"MuralInfinite":{"type":"boolean","example":true,"description":"When true, this indicates that the mural canvas is borderless and grows as you add widgets to it.\n"},"ExpiresOn":{"type":["number","null"],"description":"The Unix timestamp in milliseconds, after which the visitor link becomes invalid. When null, the visitor link does not expire.","example":1646936408128},"RequestBodyBaseMural":{"type":"object","properties":{"title":{"type":"string","description":"The title of the mural.\n","example":"The title"},"roomId":{"$ref":"#/components/schemas/RoomId"},"backgroundColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The background color of the mural."}]},"folderId":{"$ref":"#/components/schemas/MuralFolderId"},"height":{"type":"number","example":6237,"description":"The height of the mural in px."},"infinite":{"$ref":"#/components/schemas/MuralInfinite"},"width":{"type":"number","example":9216,"description":"The width of the mural in px."},"visitorsSettings":{"type":"object","properties":{"expiresOn":{"allOf":[{"$ref":"#/components/schemas/ExpiresOn"},{"example":1646936408128}]}}},"timerSoundTheme":{"type":"string","enum":["airplane","cello","cuckoo"],"description":"The timer sound theme for the mural."},"visitorAvatarTheme":{"type":"string","enum":["animals","music","travel"],"description":"The visitor avatar theme for the mural."}},"required":["roomId"]},"WorkspaceId":{"type":"string","description":"ID of a workspace.","minLength":5,"maxLength":34,"example":"workspace1234"},"BaseMural":{"type":"object","properties":{"backgroundColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The background color of the mural."}]},"height":{"type":"integer","minimum":3000,"maximum":60000,"example":6237,"default":6237,"description":"Height of the mural in px.\n"},"title":{"type":"string","description":"The title of the mural.\n","example":"The title"},"roomId":{"allOf":[{"$ref":"#/components/schemas/RoomId"},{"description":"The ID of the room containing the mural.\n"}]},"workspaceId":{"allOf":[{"$ref":"#/components/schemas/WorkspaceId"},{"description":"The unique ID of the workspace containing the mural.\n"}]},"width":{"type":"integer","minimum":3000,"maximum":60000,"example":9216,"default":9216,"description":"Width of the mural in px.\n"},"timerSoundTheme":{"type":"string","enum":["airplane","cello","cuckoo"],"default":"airplane","description":"The timer sound theme for the mural."},"visitorAvatarTheme":{"type":"string","enum":["animals","music","travel"],"default":"animals","description":"The visitor avatar theme for the mural."}},"required":["roomId","workspaceId"]},"MuralId":{"type":"string","description":"ID of a mural.","minLength":7,"maxLength":50,"example":"workspace1234.1608152669000"},"SharingPermissions":{"type":"string","enum":["read","write","none"],"description":"The permissions for a collaborator on a mural.","example":"read"},"BaseMuralVisitorSettings":{"type":"object","properties":{"visitors":{"$ref":"#/components/schemas/SharingPermissions"},"workspaceMembers":{"$ref":"#/components/schemas/SharingPermissions"}},"required":["visitors","workspaceMembers"]},"MuralVisitorSettings":{"allOf":[{"$ref":"#/components/schemas/BaseMuralVisitorSettings"},{"type":"object","properties":{"link":{"type":"string","format":"url","description":"Link that a visitor can use to access a mural.","example":"https://app.mural.co/t/workspace16234/m/workspace1234/1607726805633/afb0f301e9b9a6a4e110ed76a341f39473cd90d3"},"expiresOn":{"allOf":[{"$ref":"#/components/schemas/ExpiresOn"},{"example":1646936408128}]}}}]},"BaseMuralSharingSettings":{"type":"object","properties":{"confidential":{"type":"boolean","description":"When true, the mural is confidential. Confidential murals do not allow a share link and cannot be duplicated or moved to other workspaces.\n","example":false,"default":false}}},"MuralSharingSettings":{"allOf":[{"$ref":"#/components/schemas/BaseMuralSharingSettings"},{"type":"object","properties":{"link":{"type":"string","description":"Link that a member with an account can use to access a mural.\n","format":"url","example":"https://app.mural.co/invitation/mural/workspace1234/1607726805633?sender=u6998695007c2bfbf40e81003&key=7ee906b3-c9cd-46fa-affe-b5cdc3b04057"}}}]},"Timestamp":{"type":"number","description":"Timestamp in milliseconds.","example":1608060691000},"UserId":{"type":"string","description":"ID of a user.","minLength":25,"maxLength":27,"example":"u1651c4ac9145e4b8497d5982"},"UserInfo":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the collaborator.","example":"John"},"lastName":{"type":"string","description":"Last name of the collaborator.","example":"Smith"},"id":{"$ref":"#/components/schemas/UserId"}}},"Mural":{"allOf":[{"$ref":"#/components/schemas/BaseMural"},{"type":"object","properties":{"id":{"allOf":[{"$ref":"#/components/schemas/MuralId"},{"description":"Unique ID of the mural."}]},"visitorsSettings":{"$ref":"#/components/schemas/MuralVisitorSettings"},"sharingSettings":{"$ref":"#/components/schemas/MuralSharingSettings"},"createdOn":{"$ref":"#/components/schemas/Timestamp"},"createdBy":{"$ref":"#/components/schemas/UserInfo"},"folderId":{"$ref":"#/components/schemas/MuralFolderId"},"updatedOn":{"allOf":[{"$ref":"#/components/schemas/Timestamp"},{"description":"The last time the mural was updated in milliseconds. If no change,\nthis will be the same value as 'createdOn'.\n","example":1608060691000}]},"updatedBy":{"allOf":[{"$ref":"#/components/schemas/UserInfo"},{"description":"The last collaborator who updated the mural.\n"}]},"thumbnailUrl":{"type":"string","format":"url","example":"https://app.mural.co/mymuralthumbnail.jpg","description":"A URL pointing to the latest thumbnail generated for this Mural. By default,\nit points to our generic BLANK thumbnail.\n"},"embedLink":{"type":"string","example":"https://app.mural.co/embed/823c7f6d-733d-47dd-bc88-b9531308056c","description":"A URL pointing to the mural that can be embedded in a blog or any public web page\n"},"favorite":{"type":"boolean","example":true,"description":"When true, this indicates that the mural is in the Favorite list for the currently authenticated user.\n"},"infinite":{"$ref":"#/components/schemas/MuralInfinite"},"state":{"type":"string","example":"e97aeff15ae9428f6d3601f22e7ea170184d43ae","description":"Value used to authorize anonymous visitors.\n"},"status":{"description":"Whether the current mural has been 'archived' or if it is 'active'.\n","type":"string","enum":["active","archived"]}},"required":["backgroundColor","createdOn","height","id","status","title","updatedOn","width","workspaceId"]}]},"BaseError":{"description":"Thorough details regarding an error response from the API.","type":"object","required":["code","message"],"properties":{"code":{"description":"Error code","example":"ERROR","type":"string","maxLength":36},"message":{"description":"Short, human readable, description of the error.","example":"Unknown server error","type":"string"}}},"DetailedError":{"allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"details":{"description":"Error details.","type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"description":"Error code","example":"SUB_ERROR","type":"string","maxLength":36},"message":{"description":"Short, human readable, description of the error.","example":"Unknown server error","type":"string"}}}}}}]},"BodyBadRequest":{"description":"The request body was malformed or had invalid parameters.","allOf":[{"$ref":"#/components/schemas/DetailedError"},{"type":"object","properties":{"code":{"type":"string","description":"Request body has invalid parameters.","example":"BODY","enum":["BODY"]}}}]},"VisitorLinkBadRequest":{"description":"The link expiry is invalid.","type":"object","properties":{"code":{"type":"string","description":"The link expiry is invalid.","example":"INVALID_LINK_EXPIRATION","enum":["INVALID_LINK_EXPIRATION"]},"message":{"type":"string","description":"Human readable message for invalid expiry.","example":"Visitor link expiry value is invalid"}}},"RoomNotFound":{"description":"The requested room was not found.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"code":{"type":"string","example":"ROOM_NOT_FOUND","enum":["ROOM_NOT_FOUND"]},"message":{"example":"The room was not found or does not exist."}}}]},"MuralNotFound":{"description":"The requested mural was not found.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"code":{"type":"string","example":"MURAL_NOT_FOUND","enum":["MURAL_NOT_FOUND"]},"message":{"example":"The mural was not found or does not exist."}}}]},"WorkspaceNotFound":{"description":"The requested workspace was not found.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"code":{"type":"string","example":"WORKSPACE_NOT_FOUND","enum":["WORKSPACE_NOT_FOUND"]},"message":{"example":"The workspace was not found or does not exist."}}}]},"UpdateMural":{"type":"object","properties":{"backgroundColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The background color of the mural."}]},"favorite":{"type":"boolean","description":"A flag indicating that a mural is in the Favorite list for the logged in user.\n"},"folderId":{"$ref":"#/components/schemas/MuralFolderId"},"height":{"type":"integer","minimum":3000,"maximum":60000,"example":6237,"default":6237,"description":"Height of the mural in px.\n"},"infinite":{"$ref":"#/components/schemas/MuralInfinite"},"width":{"type":"integer","minimum":3000,"maximum":60000,"example":9216,"default":9216,"description":"Width of the mural in px.\n"},"title":{"type":"string","description":"The title of the mural.\n","example":"The title"},"status":{"type":"string","enum":["active","archived"],"description":"The status of the mural."},"timerSoundTheme":{"type":"string","enum":["airplane","cello","cuckoo"],"default":"airplane","description":"The timer sound theme for the mural."},"visitorAvatarTheme":{"type":"string","enum":["animals","music","travel"],"default":"animals","description":"The visitor avatar theme for the mural."},"visitorsPermission":{"$ref":"#/components/schemas/SharingPermissions"},"workspaceMembersPermission":{"$ref":"#/components/schemas/SharingPermissions"}}},"UserNotFound":{"description":"User not found.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"code":{"type":"string","example":"USER_NOT_FOUND","enum":["USER_NOT_FOUND"]},"message":{"example":"The user was not found or does not exist."}}}]},"RequestBodyMuralAccessInfo":{"type":"object","properties":{"muralState":{"type":"string","description":"The state used to authorize anonymous visitors.","example":"cf44754d7ffe444336d87e3829ab8d3d8ef1f2f3"}},"required":["muralState"]},"MuralAccessInfo":{"type":"object","properties":{"visitors":{"$ref":"#/components/schemas/SharingPermissions"},"workspaceMembers":{"$ref":"#/components/schemas/SharingPermissions"}},"required":["visitors","workspaceMembers"]},"MuralAsset":{"type":"object","properties":{"assetType":{"type":"string","description":"The asset's type to be uploaded. If not specified, 'file' will be used.","enum":["image","file"],"example":"image"},"fileExtension":{"type":"string","description":"The file extension to be uploaded.","example":"png"}},"required":["fileExtension"]},"FileAssetHeader":{"type":"object","properties":{"x-ms-blob-type":{"type":"string","enum":["BlockBlob"],"example":"BlockBlob","description":"The blob type to be used for upload the file."}},"required":["x-ms-blob-type"]},"FileAsset":{"type":"object","properties":{"name":{"type":"string","description":"The path of the workspace followed by the file name.","example":"env4076/jD6Qzs6lSHy2bHAwFfCrjqU9RL3vCxFgYVl2nQrUYA.png"},"url":{"type":"string","description":"The URL where the file will be uploaded.","example":"https://url:443/uploads/env1632/jD6Qzs6lSHy2bHAwFfCrjqU9RL3vCxFgYVl2nQrUYA.png?se=2057-04-01T19%3A27%3A52Z&sp=c&sv=2018-03-28&sr=b&sig=Jh...qYQ%3D"},"headers":{"$ref":"#/components/schemas/FileAssetHeader"}},"required":["headers","name","url"]},"DuplicateMural":{"type":"object","properties":{"roomId":{"type":"number","description":"Unique identifier of the room where the mural will be created.\n","example":1610033618903},"folderId":{"type":"string","description":"Optional target folder where the mural will be created.\n","example":"89ebbcfe-2c69-11ec-8d3d-0242ac130003"},"infinite":{"$ref":"#/components/schemas/MuralInfinite"},"title":{"type":"string","description":"The title of the mural.\n","example":"The title of the mural"}},"required":["roomId","title"]},"TargetFolderNotFound":{"description":"The requested room was not found or does not exist.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"code":{"type":"string","example":"TARGET_FOLDER_NOT_FOUND","enum":["TARGET_FOLDER_NOT_FOUND"]},"message":{"example":"The destination folder was not found or does not exist."}}}]},"MuralExport":{"type":"object","properties":{"downloadFormat":{"type":"string","description":"The file extension to be exported.","example":"pdf"}},"required":["downloadFormat"]},"Export":{"type":"object","properties":{"exportId":{"type":"string","description":"The ID of the export process.","example":"364fba14-dd16-4365-8885-4439ac7977d2"}},"required":["exportId"]},"MuralExportUrl":{"type":"object","properties":{"createdOn":{"allOf":[{"$ref":"#/components/schemas/Timestamp"},{"description":"Timestamp in milliseconds of the file creation."}]},"expireOn":{"allOf":[{"$ref":"#/components/schemas/Timestamp"},{"description":"The Unix timestamp in milliseconds, after which the download link becomes invalid."},{"example":1646936408128}]},"exportId":{"type":"string","description":"The ID of the export process.","example":"364fba14-dd16-4365-8885-4439ac7977d2"},"muralId":{"allOf":[{"$ref":"#/components/schemas/MuralId"},{"description":"Unique ID of the mural."}]},"url":{"type":"string","description":"The URL where the file will be downloaded.","example":"https://url:443/...D6Qzs6lSHy2bHAwFfCrjq/file.pdf?se=2057-04-01T19%3A27%3A52Z&sp=c&sv=2018-03-28&sr=b&sig=Jh...qYQ%3D"}},"required":["expireOn","exportId","muralId","url"]},"List":{"type":"object","properties":{"value":{"type":"array","description":"An array of entities.","items":{"type":"object"}}}},"PaginatedList":{"allOf":[{"$ref":"#/components/schemas/List"},{"type":"object","properties":{"next":{"description":"The token to get the next page of items.","type":"string","example":"eyJmaWx0ZXJCeSI6ImFjdGl2ZSIsImV4cGlyYXRpb24iOjE1MTcxMTAxNDYyMTZ9"}}}]},"ChatUserInfo":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the member or guest in the chat.","example":"John"},"lastName":{"type":"string","description":"Last name of the member or guest in the chat.","example":"Smith"},"id":{"$ref":"#/components/schemas/UserId"}}},"ChatMessage":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the chat message.","example":"6111652edd655300af35ad77"},"message":{"type":"string","description":"The content of the chat message.","example":"Hey, this is an example of a chat message!"},"createdOn":{"type":"number","description":"The timestamp of the chat message.","example":1628529966985},"user":{"$ref":"#/components/schemas/ChatUserInfo"}}},"QueryBadRequest":{"description":"The request query string was malformed or had invalid parameters.","allOf":[{"$ref":"#/components/schemas/DetailedError"},{"type":"object","properties":{"code":{"type":"string","description":"Request query string has invalid parameters.","example":"QUERY","enum":["QUERY"]}}}]},"LimitBadRequest":{"description":"The request parameter for pagination limit was malformed or has invalid parameters.","type":"object","properties":{"code":{"type":"string","description":"Request parameter for pagination limit was invalid.","example":"LIMIT_INVALID","enum":["LIMIT_INVALID"]},"message":{"type":"string","description":"Human readable message for limit error.","example":"Request query string for \"limit\" should be less than 100."}}},"PaginationBadRequest":{"description":"The pagination parameter is not valid.","type":"object","properties":{"code":{"type":"string","description":"The requested pagination parameter is not valid.","example":"PAGINATION_INVALID","enum":["PAGINATION_INVALID"]},"message":{"type":"string","description":"Human readable message for pagination error.","example":"The pagination is not valid."}}},"NextTokenExpired":{"description":"The token supplied to the next parameter has expired.","type":"object","properties":{"code":{"type":"string","enum":["NEXT_TOKEN_EXPIRED"],"example":"NEXT_TOKEN_EXPIRED"},"message":{"type":"string","example":"The next token has expired or does not exist."}}},"Tag":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the tag.","example":"tag-1655312720372"},"text":{"type":"string","description":"The text in the tag.","example":"High Priority"},"backgroundColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The background color of the tag in hex with alpha format."}]},"borderColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The border color of the tag in hex with alpha format."}]},"color":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The text color of the tag in hex with alpha format."}]}},"required":["id","text"]},"RequestBodyCreateTag":{"type":"object","properties":{"text":{"type":"string","description":"The text in the tag.","maxLength":25,"example":"High Priority"},"backgroundColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The background color of the tag in hex with alpha format."}]},"borderColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The border color of the tag in hex with alpha format."}]},"color":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The text color of the tag in hex with alpha format."}]}},"required":["text"]},"MuralTagLimitReachedBadRequest":{"description":"The operation cannot be performed.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"code":{"type":"string","example":"MURAL_TAG_LIMIT_REACHED"},"message":{"type":"string","example":"The limit of tags has been reached."}}}]},"TagNotFound":{"description":"The requested tag was not found or does not exist.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"code":{"type":"string","example":"TAG_NOT_FOUND","enum":["TAG_NOT_FOUND"]},"message":{"example":"The tag (:tagId) was not found or does not exist."}}}]},"RequestBodyUpdateTag":{"type":"object","properties":{"text":{"type":"string","description":"The text in the tag.","maxLength":25,"example":"High Priority"},"backgroundColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The background color of the tag in hex with alpha format."},{"nullable":true}]},"borderColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The border color of the tag in hex with alpha format."},{"nullable":true}]},"color":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The text color of the tag in hex with alpha format."},{"nullable":true}]}}},"BaseEntity":{"properties":{"id":{"type":"string"}},"required":["id"]},"BaseMemberOrGuest":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"email":{"type":"string","description":"The member's email.","format":"email","example":"user@example.com"},"avatar":{"type":"string","format":"url","description":"The URL for the avatar of the member.","example":"https://app.mural.co/user1.jpg"},"firstName":{"type":"string","description":"The first name of the member.","example":"John"},"lastName":{"type":"string","description":"The last name of the member.","example":"Smith"}},"required":["type","avatar","firstName","lastName"]}]},"Member":{"allOf":[{"$ref":"#/components/schemas/BaseMemberOrGuest"},{"type":"object","properties":{"type":{"type":"string","enum":["member"],"example":"member"}}}]},"Guest":{"allOf":[{"$ref":"#/components/schemas/BaseMemberOrGuest"},{"type":"object","properties":{"type":{"type":"string","enum":["guest"],"example":"guest"}}}]},"MuralMemberPermissions":{"type":"object","properties":{"owner":{"type":"boolean","description":"When true, the user is the owner of the mural.\n","example":false},"facilitator":{"type":"boolean","description":"When true, the user is the facilitator of the mural.\n","example":false}}},"User":{"allOf":[{"oneOf":[{"$ref":"#/components/schemas/Member"},{"$ref":"#/components/schemas/Guest"}],"discriminator":{"propertyName":"type","mapping":{"member":"#/components/schemas/Member","guest":"#/components/schemas/Guest"}}},{"type":"object","properties":{"permissions":{"$ref":"#/components/schemas/MuralMemberPermissions"}}}]},"UpdateMuralMemberPermissions":{"type":"object","properties":{"owner":{"type":"boolean","description":"A flag to make a member an owner of the mural."},"facilitator":{"type":"boolean","description":"A flag to make a member a facilitator of the mural.\n"}}},"BodyBadPermissions":{"description":"The request body has invalid permissions.","allOf":[{"$ref":"#/components/schemas/BaseError","properties":{"code":{"example":"INVALID_CHANGE_OF_OWNER_PERMISSIONS","enum":["INVALID_CHANGE_OF_OWNER_PERMISSIONS"]},"message":{"example":"Member cannot be removed as mural owner if they are also the room owner."}}}]},"MuralInvitation":{"type":"object","properties":{"editPermission":{"type":"string","description":"The edit permissions for the invited user.","enum":["view","edit"],"example":"edit"},"email":{"type":"string","description":"The email address of the invited user.","example":"example@example.com"},"username":{"type":"string","description":"The username of the invited user.","example":"ua9642bb1052c3465b5464271"}}},"InviteUsersToMural":{"type":"object","properties":{"message":{"type":"string","description":"The custom message to be sent in the email invitation.","example":"Invitation to brainstorm"},"invitations":{"description":"Array of invitations","type":"array","items":{"$ref":"#/components/schemas/MuralInvitation"}},"sendEmail":{"type":"boolean","description":"Indicates if the invitation will or will not be emailed. Default value is true.","default":true,"example":true}},"required":["invitations"]},"MuralInvitationResult":{"type":"object","properties":{"email":{"type":"string","description":"User's email.","example":"user@mural.co"},"refCode":{"type":"string","description":"The mural's invitation code.","example":"2fd2fb3d-7286-40b6-813a-88e3f3cd061b"},"rejected":{"type":"boolean","description":"When true, the invitation process was rejected.","example":true},"reason":{"type":"string","description":"Reason for the rejection.","example":"MEMBERS_ONLY"},"username":{"type":"string","description":"Returned when the user is added as member or guest.","example":"ua2deo48ccd34579e3bfc0074"}},"required":["email"]},"RemoveUsers":{"type":"object","properties":{"emails":{"type":"array","description":"The array of users' emails to be removed.","items":{"type":"string","example":"useremailtoremove@mural.co"}}}},"RemoveUsersResult":{"type":"object","properties":{"email":{"type":"string","description":"User's email."},"rejected":{"type":"boolean","description":"If true, the email deletion process was rejected; if false, the email deletion process was successful."},"reason":{"type":"string","description":"Reason for the rejection."}},"required":["email"]},"RemoveUsersResponse":{"type":"object","properties":{"value":{"description":"Array of resolved/rejected emails","type":"array","items":{"$ref":"#/components/schemas/RemoveUsersResult"}}}},"EmailsLimitExceededBadRequest":{"description":"The operation cannot be performed.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"code":{"type":"string","example":"EMAILS_LIMIT_EXCEEDED"},"message":{"type":"string","example":"Too many users' emails to remove in this request."}}}]},"UsersEmailsBadRequest":{"description":"The body payload for users' emails was malformed or has invalid parameters.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Body payload for users' emails was invalid.","example":"BODY","enum":["BODY"]},"message":{"type":"string","description":"User-friendly error message.","example":"Invalid payload."},"details":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"Invalid property"},"message":{"type":"string","example":"Invalid \"emails\" property type was sent. Type array was expected."}}}}}}]},"VotingSession":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the voting session.","example":"1632235215717"},"title":{"type":"string","description":"The title of the voting session.","example":"Voting Session 1"}}},"VotingSessionNotFound":{"description":"The requested voting session was not found.","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"code":{"type":"string","example":"VOTING_SESSION_NOT_FOUND","enum":["VOTING_SESSION_NOT_FOUND"]},"message":{"example":"The voting session does not exist."}}}]},"VotingSessionResult":{"type":"object","properties":{"widgetId":{"type":"string","description":"Unique identifier of a widget.","example":"05e43d68-0a0a-47a8-a958-c08afd57d7bc"},"totalVotes":{"type":"number","description":"The total number of votes for the widget.","example":3},"uniqueVoters":{"type":"number","description":"The number of unique collaborators that voted for the widget.","example":2}}},"WidgetsFilter":{"type":"array","items":{"type":"string","enum":["areas","arrows","comments","files","sticky notes","texts","icons","images","shapes"]},"example":["sticky notes","texts"]},"WidgetId":{"type":"string","description":"ID of a widget.","example":"0-1619509853818","readOnly":true,"maxLength":36,"minLength":1},"WidgetX":{"type":"number","description":"The horizontal position of the widget in px. This is the distance from the left of the parent widget, such as an area. If the widget has no parent widget, this is the distance from the left of the mural.","example":20},"WidgetY":{"type":"number","description":"The vertical position of the widget in px. This is the distance from the top of the parent widget, such as an area. If the widget has no parent widget, this is the distance from the top of the mural.","example":148},"WidgetMemberInfo":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"firstName":{"type":"string","description":"First name of the collaborator.","example":"John"},"lastName":{"type":"string","description":"Last name of the collaborator.","example":"Smith"}}},"WidgetVisitorInfo":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the one-time visitor.","example":"a29e693f-8864-49e8-a4e4-2af582c2e1e2"},"alias":{"type":"string","description":"Alias of the one-time visitor.","example":"Racoon"}}},"WidgetHidden":{"type":"boolean","description":"If true, the widget is hidden from non-facilitators. Applies only when the widget is in the outline.\n","example":true},"WidgetHideEditor":{"type":"boolean","description":"If true, the name of the collaborator who updated the widget is not recorded (because Private Mode is enabled).","example":true},"WidgetHideOwner":{"type":"boolean","description":"If true, the name of the collaborator who created the widget is not recorded (because Private Mode is enabled).","example":true},"WidgetInstruction":{"type":"string","description":"The instructions for a section of the outline. This text can only be added and modified by a facilitator.","example":"
This is a test of the instructions
"},"WidgetLocked":{"type":"boolean","description":"If true, the widget is locked and cannot be updated by a non-facilitator. Any collaborator can unlock a locked widget.","example":true},"WidgetLockedByFacilitator":{"type":"boolean","description":"If true, the widget is locked by a facilitator. Only a facilitator can unlock it.","example":true},"WidgetParentId":{"type":"string","description":"The ID of the area widget that contains the widget.","example":"0-1619509853818"},"WidgetPresentationIndex":{"type":"number","description":"The list order of the widget in the outline.","example":1},"BaseWidget":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/WidgetId","description":"The unique ID of the widget."},"height":{"type":"number","description":"The height of the widget in px.","example":150},"width":{"type":"number","description":"The width of the widget in px.","example":140},"x":{"$ref":"#/components/schemas/WidgetX"},"y":{"$ref":"#/components/schemas/WidgetY"},"contentEditedOn":{"$ref":"#/components/schemas/Timestamp"},"contentEditedBy":{"description":"The collaborator who last edited content on the widget.","oneOf":[{"$ref":"#/components/schemas/WidgetMemberInfo"},{"$ref":"#/components/schemas/WidgetVisitorInfo"}]},"createdOn":{"$ref":"#/components/schemas/Timestamp"},"createdBy":{"description":"The collaborator who created the widget.","oneOf":[{"$ref":"#/components/schemas/WidgetMemberInfo"},{"$ref":"#/components/schemas/WidgetVisitorInfo"}]},"updatedOn":{"$ref":"#/components/schemas/Timestamp"},"updatedBy":{"description":"The collaborator who last updated the widget.","oneOf":[{"$ref":"#/components/schemas/WidgetMemberInfo"},{"$ref":"#/components/schemas/WidgetVisitorInfo"}]},"rotation":{"type":"number","description":"The angle of widget rotation, in degrees.","example":283.3},"stackingOrder":{"type":"number","description":"The z-index stacking order of the widget.","example":1},"hidden":{"$ref":"#/components/schemas/WidgetHidden"},"hideEditor":{"$ref":"#/components/schemas/WidgetHideEditor"},"hideOwner":{"$ref":"#/components/schemas/WidgetHideOwner"},"instruction":{"$ref":"#/components/schemas/WidgetInstruction"},"locked":{"$ref":"#/components/schemas/WidgetLocked"},"lockedByFacilitator":{"$ref":"#/components/schemas/WidgetLockedByFacilitator"},"parentId":{"$ref":"#/components/schemas/WidgetParentId"},"presentationIndex":{"$ref":"#/components/schemas/WidgetPresentationIndex"}},"required":["id","width","x","y","createdOn","createdBy","rotation","stackingOrder","hidden","hideEditor","hideOwner","locked","lockedByFacilitator"]},"WidgetTitleFontSize":{"type":"number","description":"The font size of the title of the widget.","minimum":1,"example":9},"WidgetLayout":{"type":"string","enum":["free","column","row"],"description":"The area layout type.","example":"free"},"WidgetShowTitle":{"type":"boolean","description":"If true, the title is displayed.","example":false},"AreaWidget":{"allOf":[{"$ref":"#/components/schemas/BaseWidget"},{"type":"object","properties":{"type":{"type":"string","const":"area","description":"The type of the widget (`area`).","example":"area"},"style":{"type":"object","description":"Style properties of the widget.","properties":{"backgroundColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The background color of the widget in hex with alpha format."}]},"borderColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The border color of the widget in hex with alpha format."}]},"borderStyle":{"type":"string","enum":["solid","dashed","dotted-spaced","dotted"],"description":"The border style of the widget.","example":"solid"},"borderWidth":{"type":"number","description":"The border width of the widget.","example":7},"titleFontSize":{"$ref":"#/components/schemas/WidgetTitleFontSize"}},"required":["backgroundColor","borderColor","borderStyle","borderWidth","titleFontSize"]},"layout":{"$ref":"#/components/schemas/WidgetLayout"},"showTitle":{"$ref":"#/components/schemas/WidgetShowTitle"},"title":{"type":"string","description":"The title in the area widget and in the outline.","example":"My area"}},"required":["type","layout","showTitle","title"]}]},"WidgetArrowType":{"type":"string","enum":["straight","curved","orthogonal"],"description":"The type of the arrow line.","example":"straight"},"WidgetArrowTip":{"type":"string","enum":["no tip","single","double"],"description":"The type of the arrow tip.","example":"double"},"WidgetStackable":{"type":"boolean","description":"If true, the widget is stackable.","example":true},"WidgetPoints":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"description":"An array containing objects with x and y coordinates."},"minItems":2},"WidgetStartRefId":{"type":"string","description":"The ID of the widget that the start point is connected to.","example":"0-1619509853818"},"WidgetEndRefId":{"type":"string","description":"The ID of the widget that the end point is connected to.","example":"0-1619509853818"},"TextFont":{"type":"string","enum":["adelle","blambot-casual","blambot-pro","lint-mccree","marker-felt","museo-slab","proxima-nova","shark-water"],"example":"blambot-casual","description":"Font-family of the text."},"WidgetTitle":{"type":"string","description":"The title of the widget in the outline.","example":"What is Lorem Ipsum?"},"ArrowWidget":{"allOf":[{"$ref":"#/components/schemas/BaseWidget"},{"type":"object","properties":{"type":{"type":"string","const":"arrow","description":"The type of the widget (`arrow`).","example":"arrow"},"arrowType":{"$ref":"#/components/schemas/WidgetArrowType"},"tip":{"$ref":"#/components/schemas/WidgetArrowTip"},"stackable":{"$ref":"#/components/schemas/WidgetStackable"},"points":{"$ref":"#/components/schemas/WidgetPoints"},"style":{"type":"object","description":"Style properties of the widget.","properties":{"strokeColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The stroke color of the connector in hex with alpha format."}]},"strokeStyle":{"type":"string","enum":["solid","dashed","dotted-spaced","dotted"],"description":"The stroke style of the connector.","example":"solid"},"strokeWidth":{"type":"number","description":"The stroke width of the connector.","example":7}},"required":["strokeColor","strokeStyle","strokeWidth"]},"startRefId":{"$ref":"#/components/schemas/WidgetStartRefId"},"endRefId":{"$ref":"#/components/schemas/WidgetEndRefId"},"label":{"type":"object","properties":{"format":{"type":"object","properties":{"color":{"$ref":"#/components/schemas/Color"},"fontFamily":{"$ref":"#/components/schemas/TextFont"},"bold":{"type":"boolean","description":"If true, the text of the label on the connector is bold.","example":false},"italic":{"type":"boolean","description":"If true, the text of the label on the connector is italic.","example":true},"textAlign":{"type":"string","enum":["left","center","right"],"description":"The alignment of the text of the label on the connector.","example":"center"},"fontSize":{"type":"number","description":"The font size of the text of the label on the connector.","example":18}}},"labels":{"type":"array","description":"The array of labels.","items":{"type":"object","properties":{"x":{"type":"number","description":"The horizontal position of the label on the connector in px.","example":20},"y":{"type":"number","description":"The vertical position of the label on the connector in px.","example":148},"height":{"type":"number","description":"The height of the label on the connector in px.","example":150},"width":{"type":"number","description":"The width of the label on the connector in px.","example":140},"text":{"type":"string","description":"The text of the label on the connector.","example":"This is an exciting label!"}}}}}},"title":{"$ref":"#/components/schemas/WidgetTitle"}},"required":["type","arrowType","tip","stackable","points","title"]}]},"WidgetCommentMessage":{"type":"string","description":"The message text of the comment widget.","example":"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s."},"CommentWidget":{"allOf":[{"$ref":"#/components/schemas/BaseWidget"},{"type":"object","properties":{"type":{"type":"string","const":"comment","description":"The type of the widget (`comment`).","example":"comment"},"message":{"$ref":"#/components/schemas/WidgetCommentMessage"},"replies":{"type":"array","items":{"type":"object","properties":{"created":{"type":"number","description":"The timestamp of the reply in milliseconds.","example":1619599575689},"message":{"type":"string","description":"The text of the reply.","example":"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s."},"user":{"type":"object","description":"The collaborator who created the reply.","oneOf":[{"$ref":"#/components/schemas/WidgetMemberInfo"},{"$ref":"#/components/schemas/WidgetVisitorInfo"}]}}}},"timestamp":{"type":"number","description":"The timestamp for the creation of the comment in milliseconds.","example":1619599575689},"referenceWidgetId":{"type":"string","description":"The reference ID of the widget that the comment points to.","example":"0-1619509853818"},"resolvedBy":{"type":"object","description":"The collaborator who resolved the comment.","oneOf":[{"$ref":"#/components/schemas/WidgetMemberInfo"},{"$ref":"#/components/schemas/WidgetVisitorInfo"}]},"resolvedOn":{"type":"number","description":"The timestamp when the comment was resolved, in milliseconds.","example":1619599575689},"title":{"$ref":"#/components/schemas/WidgetTitle"}},"required":["type","message","replies","title"]}]},"Hyperlink":{"type":"string","format":"url","example":"https://www.google.com","minLength":0,"maxLength":1024},"FileWidget":{"allOf":[{"$ref":"#/components/schemas/BaseWidget"},{"type":"object","properties":{"type":{"type":"string","const":"file","description":"The type of the widget (`file`).","example":"file"},"expiresInMinutes":{"type":"number","description":"The number of minutes after which the file URL expires.\nMay be null when download restriction is enabled.\n","example":20,"nullable":true},"link":{"allOf":[{"$ref":"#/components/schemas/Hyperlink"},{"description":"The link to the file widget on a mural."},{"example":"https://mural.co/t/wp58/m/wp58/1627373619303/ceb94fd06c04f70f277ecdad2cec7a19d1fc36fa?wid=0-1628783946497"}]},"url":{"allOf":[{"$ref":"#/components/schemas/Hyperlink"},{"description":"The download URL of the file. This URL has expiration time.\nMay be null when download restriction is enabled.\n"},{"example":"https://example.com/wPeDQtN0AxyutSERRUV0mLSWnfjeMYTBJ3574QJNxbU.pdf"},{"nullable":true}]},"scanning":{"type":"boolean","description":"Indicates that file was scanned by antivirus.","example":true},"previewUrl":{"type":"string","description":"The URL of the file preview.","example":"https://example.com/image.png"},"title":{"$ref":"#/components/schemas/WidgetTitle"}},"required":["type","scanning","title","url"]}]},"IconWidget":{"allOf":[{"$ref":"#/components/schemas/BaseWidget"},{"type":"object","properties":{"type":{"type":"string","const":"icon","description":"The type of the widget (`icon`).","example":"icon"},"name":{"type":"string","description":"The name of the icon.","example":"Unicorn"},"style":{"type":"object","description":"Style properties of the widget.","properties":{"color":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The color of the icon in hex with alpha format."}]}},"required":["color"]},"title":{"$ref":"#/components/schemas/WidgetTitle"}},"required":["type","name","title"]}]},"ImageWidget":{"allOf":[{"$ref":"#/components/schemas/BaseWidget"},{"type":"object","properties":{"type":{"type":"string","const":"image","description":"The type of the widget (`image`).","example":"image"},"aspectRatio":{"type":"number","description":"The aspect ratio of the image.","example":1.9},"border":{"type":"boolean","description":"If true, a border is displayed around the image.","example":false},"caption":{"type":"string","description":"The caption of the image.","example":"Example Image"},"description":{"type":"string","description":"The description of the image.","example":"This image serves as an example."},"expiresInMinutes":{"type":"number","description":"The number of minutes after which the image URL may expire.\nMay be null when download restriction is enabled.\n","example":15,"nullable":true},"link":{"allOf":[{"$ref":"#/components/schemas/Hyperlink"},{"description":"The URL of the image link."},{"example":"https://example.com/link"},{"nullable":true}]},"mask":{"type":"object","properties":{"top":{"type":"number","description":"The vertical offset of the cropping mask from the upper-left corner of the image.","example":20},"left":{"type":"number","description":"The horizontal offset of the cropping mask from the upper-left corner of the image.","example":20},"height":{"type":"number","description":"The height of the cropping mask.","example":120},"width":{"type":"number","description":"The width of the cropping mask.","example":240}}},"naturalHeight":{"type":"number","description":"The uncropped height of the image.","example":600},"naturalWidth":{"type":"number","description":"The uncropped width of the image.","example":800},"showCaption":{"type":"boolean","description":"If true, the caption and description are visible.","example":false},"thumbnailUrl":{"allOf":[{"$ref":"#/components/schemas/Hyperlink"},{"description":"The URL of the image thumbnail."},{"example":"https://example.com/thumbnail.png"}]},"url":{"allOf":[{"$ref":"#/components/schemas/Hyperlink"},{"description":"The download URL of the image. This URL has expiration time.\nMay be null when download restriction is enabled.\n"},{"example":"https://example.com/image.png\n"},{"nullable":true}]}},"required":["type","border","caption","description","expiresInMinutes","naturalHeight","naturalWidth","showCaption","thumbnailUrl","url"]}]},"WidgetStrokeSize":{"type":"number","minimum":1,"maximum":7,"example":3},"Bold":{"type":"boolean","description":"If true, text is bold.","example":false},"Italic":{"type":"boolean","description":"If true, text is italic.","example":true},"Underline":{"type":"boolean","description":"If true, text is underlined.","example":false},"Strike":{"type":"boolean","description":"If true, text is striked.","example":false},"FontSize":{"type":"number","minimum":1,"example":20,"description":"Text size."},"TextAlign":{"type":"string","description":"The alignment of the text.","enum":["left","center","right"],"example":"center"},"WidgetText":{"type":"string","description":"The text in the widget.","example":"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s."},"ShapeWidget":{"allOf":[{"$ref":"#/components/schemas/BaseWidget"},{"type":"object","properties":{"type":{"type":"string","const":"shape","description":"The type of the widget (`shape`).","example":"shape"},"shape":{"type":"string","enum":["circle","diamond","hexagon","pentagon","square","triangle","document_shape","event_shape","loop_limit","off_page_reference","off_page_reference_incoming","arrow_down","arrow_left_right","arrow_left","arrow_right","arrow_top","badge","brace_left","brace_right","chonk_unicorn","cloud","connector","cross","data","database","decision","delay","direct_data","display","document","ellipse","end","hexagon_smart","internal_storage","manual_input","manual_loop","merge","multiple_documents","note_left","note_right","octagon","off_page_connector","or","papertape","pentagon_smart","porongo","predefined_process","preparation","process","rectangle","rhombus_smart","ribbon","right_triangle","rounded_square","simple_ribbon","speech_bubble_center","speech_bubble_left","speech_bubble_right","star","start","step","stored_data","summing_junction","teardrop_bubble","terminator","thinking_bubble_left","thinking_bubble_right","trapezoid","triangle_smart"],"description":"The type of shape of the shape widget.","example":"circle"},"style":{"type":"object","description":"Style properties of the widget.","properties":{"backgroundColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The background color of the widget in hex with alpha format."}]},"borderColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The border color of the widget in hex with alpha format."}]},"borderStyle":{"type":"string","enum":["solid","dotted"],"description":"The border style of the widget.","example":"solid"},"borderWidth":{"allOf":[{"$ref":"#/components/schemas/WidgetStrokeSize"},{"description":"The border width of the widget."}]},"bold":{"$ref":"#/components/schemas/Bold"},"italic":{"$ref":"#/components/schemas/Italic"},"underline":{"$ref":"#/components/schemas/Underline"},"strike":{"$ref":"#/components/schemas/Strike"},"font":{"$ref":"#/components/schemas/TextFont"},"fontColor":{"allOf":[{"$ref":"#/components/schemas/Color"},{"description":"The font color of the widget in hex with alpha format."}]},"fontSize":{"$ref":"#/components/schemas/FontSize"},"textAlign":{"$ref":"#/components/schemas/TextAlign"}},"required":["backgroundColor","bold","borderColor","borderWidth","borderStyle","font","fontColor","fontSize","italic","underline","strike","textAlign"]},"text":{"$ref":"#/components/schemas/WidgetText"},"title":{"$ref":"#/components/schemas/WidgetTitle"}},"required":["type","shape","text","title"]}]},"WidgetStickyNoteHtmlText":{"type":"string","description":"The text in the widget. It supports inline formatting using HTML tags. \\\n`` - bold text \\\n`` - italic text \\\n`` - underline text \\\n`