{"owner":"mattermost-community","repo":"focalboard","hasSpec":true,"specFile":"server/swagger/swagger.yml","branch":"HEAD","format":"yaml","version":"2.0 (YAML)","title":"focalboard","description":"","endpoints":[],"spec":"basePath: /api/v2\nconsumes:\n    - application/json\ndefinitions:\n    Block:\n        description: Block is the basic data unit\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BlockPatch:\n        description: BlockPatch is a patch for modify blocks\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BlockPatchBatch:\n        description: BlockPatchBatch is a batch of IDs and patches for modify blocks\n        x-go-package: github.com/mattermost/focalboard/server/model\n    Board:\n        description: Board groups a set of blocks and its layout\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BoardInsight:\n        description: BoardInsight gives insight into activities in a Board\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BoardMember:\n        description: BoardMember stores the information of the membership of a user on a board\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BoardMemberHistoryEntry:\n        description: BoardMemberHistoryEntry stores the information of the membership of a user on a board\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BoardMetadata:\n        description: BoardMetadata contains metadata for a Board\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BoardPatch:\n        description: BoardPatch is a patch for modify boards\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BoardsAndBlocks:\n        description: |-\n            BoardsAndBlocks is used to operate over boards and blocks at the\n            same time\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BoardsCloudLimits:\n        description: |-\n            BoardsCloudLimits is the representation of the limits for the\n            Boards server\n        x-go-package: github.com/mattermost/focalboard/server/model\n    BoardsStatistics:\n        description: BoardsStatistics is the representation of the statistics for the Boards server\n        x-go-package: github.com/mattermost/focalboard/server/model\n    Card:\n        title: Card represents a group of content blocks and properties.\n        x-go-package: github.com/mattermost/focalboard/server/model\n    CardPatch:\n        description: CardPatch is a patch for modifying cards\n        x-go-package: github.com/mattermost/focalboard/server/model\n    Category:\n        description: Category is a board category\n        x-go-package: github.com/mattermost/focalboard/server/model\n    CategoryBoards:\n        description: CategoryBoards is a board category and associated boards\n        x-go-package: github.com/mattermost/focalboard/server/model\n    ChangePasswordRequest:\n        description: ChangePasswordRequest is a user password change request\n        x-go-package: github.com/mattermost/focalboard/server/model\n    ClientConfig:\n        description: ClientConfig is the client configuration\n        x-go-package: github.com/mattermost/focalboard/server/model\n    DeleteBoardsAndBlocks:\n        description: |-\n            DeleteBoardsAndBlocks is used to list the boards and blocks to\n            delete on a request\n        x-go-package: github.com/mattermost/focalboard/server/model\n    ErrorResponse:\n        description: ErrorResponse is an error response\n        x-go-package: github.com/mattermost/focalboard/server/model\n    FileUploadResponse:\n        description: FileUploadResponse is the response to a file upload\n        x-go-package: github.com/mattermost/focalboard/server/api\n    LoginRequest:\n        description: LoginRequest is a login request\n        x-go-package: github.com/mattermost/focalboard/server/model\n    LoginResponse:\n        description: LoginResponse is a login response\n        x-go-package: github.com/mattermost/focalboard/server/model\n    NotificationHint:\n        description: |-\n            NotificationHint provides a hint that a block has been modified and has subscribers that\n            should be notified.\n        x-go-package: github.com/mattermost/focalboard/server/model\n    PatchBoardsAndBlocks:\n        description: |-\n            PatchBoardsAndBlocks is used to patch multiple boards and blocks on\n            a single request\n        x-go-package: github.com/mattermost/focalboard/server/model\n    RegisterRequest:\n        description: RegisterRequest is a user registration request\n        x-go-package: github.com/mattermost/focalboard/server/model\n    Sharing:\n        description: Sharing is sharing information for a root block\n        x-go-package: github.com/mattermost/focalboard/server/model\n    Subscriber:\n        description: Subscriber is an entity (e.g. user, channel) that can subscribe to events from boards, cards, etc\n        x-go-package: github.com/mattermost/focalboard/server/model\n    Subscription:\n        title: Subscription is a subscription to a board, card, etc, for a user or channel.\n        x-go-package: github.com/mattermost/focalboard/server/model\n    Team:\n        description: Team is information global to a team\n        x-go-package: github.com/mattermost/focalboard/server/model\n    User:\n        description: User is a user\n        x-go-package: github.com/mattermost/focalboard/server/model\n    UserPreferencesPatch:\n        description: UserPreferencesPatch is a user property patch\n        x-go-package: github.com/mattermost/focalboard/server/model\nhost: localhost\ninfo:\n    contact:\n        email: api@focalboard.com\n        name: Focalboard\n        url: https://www.focalboard.com\n    description: Focalboard Server\n    license:\n        name: Custom\n        url: https://github.com/mattermost/focalboard/blob/main/LICENSE.txt\n    title: Focalboard Server\n    version: 2.0.0\npaths:\n    /api/v2/teams/{teamID}/notifyadminupgrade:\n        get:\n            operationId: handleNotifyAdminUpgrade\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Notifies admins for upgrade request.\n    /boards:\n        post:\n            description: Creates a new board\n            operationId: createBoard\n            parameters:\n                - description: the board to create\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/Board'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Board'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards-and-blocks:\n        delete:\n            description: Deletes boards and blocks\n            operationId: deleteBoardsAndBlocks\n            parameters:\n                - description: the boards and blocks to delete\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/DeleteBoardsAndBlocks'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        patch:\n            description: Patches a set of related boards and blocks\n            operationId: patchBoardsAndBlocks\n            parameters:\n                - description: the patches for the boards and blocks\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/PatchBoardsAndBlocks'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BoardsAndBlocks'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        post:\n            description: Creates new boards and blocks\n            operationId: insertBoardsAndBlocks\n            parameters:\n                - description: the boards and blocks to create\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/BoardsAndBlocks'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BoardsAndBlocks'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}:\n        delete:\n            description: Removes a board\n            operationId: deleteBoard\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        get:\n            description: Returns a board\n            operationId: getBoard\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Board'\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        patch:\n            description: Partially updates a board\n            operationId: patchBoard\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: board patch to apply\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/BoardPatch'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Board'\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/archive/export:\n        get:\n            operationId: archiveExportBoard\n            parameters:\n                - description: Id of board to export\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Exports an archive of all blocks for one boards.\n    /boards/{boardID}/blocks:\n        get:\n            description: Returns blocks\n            operationId: getBlocks\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: ID of parent block, omit to specify all blocks\n                  in: query\n                  name: parent_id\n                  type: string\n                - description: Type of blocks to return, omit to specify all types\n                  in: query\n                  name: type\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Block'\n                        type: array\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        post:\n            description: |-\n                Insert blocks. The specified IDs will only be used to link\n                blocks with existing ones, the rest will be replaced by server\n                generated IDs\n            operationId: updateBlocks\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: Disables notifications (for bulk inserting)\n                  in: query\n                  name: disable_notify\n                  type: bool\n                - description: array of blocks to insert or update\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    items:\n                        $ref: '#/definitions/Block'\n                    type: array\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Block'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/blocks/:\n        patch:\n            description: Partially updates batch of blocks\n            operationId: patchBlocks\n            parameters:\n                - description: Workspace ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: Disables notifications (for bulk patching)\n                  in: query\n                  name: disable_notify\n                  type: bool\n                - description: block Ids and block patches to apply\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/BlockPatchBatch'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/blocks/{blockID}:\n        delete:\n            description: Deletes a block\n            operationId: deleteBlock\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: ID of block to delete\n                  in: path\n                  name: blockID\n                  required: true\n                  type: string\n                - description: Disables notifications (for bulk deletion)\n                  in: query\n                  name: disable_notify\n                  type: bool\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                \"404\":\n                    description: block not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        patch:\n            description: Partially updates a block\n            operationId: patchBlock\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: ID of block to patch\n                  in: path\n                  name: blockID\n                  required: true\n                  type: string\n                - description: Disables notifications (for bulk patching)\n                  in: query\n                  name: disable_notify\n                  type: bool\n                - description: block patch to apply\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/BlockPatch'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                \"404\":\n                    description: block not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/blocks/{blockID}/duplicate:\n        post:\n            description: Returns the new created blocks\n            operationId: duplicateBlock\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: Block ID\n                  in: path\n                  name: blockID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Block'\n                        type: array\n                \"404\":\n                    description: board or block not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/blocks/{blockID}/undelete:\n        post:\n            description: Undeletes a block\n            operationId: undeleteBlock\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: ID of block to undelete\n                  in: path\n                  name: blockID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BlockPatch'\n                \"404\":\n                    description: block not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/cards:\n        get:\n            operationId: getCards\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: The page to select (default=0)\n                  in: query\n                  name: page\n                  type: integer\n                - description: Number of cards to return per page(default=100)\n                  in: query\n                  name: per_page\n                  type: integer\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Card'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Fetches cards for the specified board.\n        post:\n            operationId: createCard\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: the card to create\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/Card'\n                - description: Disables notifications (for bulk data inserting)\n                  in: query\n                  name: disable_notify\n                  type: bool\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Card'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Creates a new card for the specified board.\n    /boards/{boardID}/duplicate:\n        post:\n            description: Returns the new created board and all the blocks\n            operationId: duplicateBoard\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BoardsAndBlocks'\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/join:\n        post:\n            description: Become a member of a board\n            operationId: joinBoard\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BoardMember'\n                \"403\":\n                    description: access denied\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/leave:\n        post:\n            description: Remove your own membership from a board\n            operationId: leaveBoard\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                \"403\":\n                    description: access denied\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/members:\n        get:\n            description: Returns the members of the board\n            operationId: getMembersForBoard\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/BoardMember'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        post:\n            description: Adds a new member to a board\n            operationId: addMember\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: membership to replace the current one with\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/BoardMember'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BoardMember'\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/members/{userID}:\n        delete:\n            description: Deletes a member from a board\n            operationId: deleteMember\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: User ID\n                  in: path\n                  name: userID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        put:\n            description: Updates a board member\n            operationId: updateMember\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: User ID\n                  in: path\n                  name: userID\n                  required: true\n                  type: string\n                - description: membership to replace the current one with\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/BoardMember'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BoardMember'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/metadata:\n        get:\n            description: Returns a board's metadata\n            operationId: getBoardMetadata\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BoardMetadata'\n                \"404\":\n                    description: board not found\n                \"501\":\n                    description: required license not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/sharing:\n        get:\n            description: Returns sharing information for a board\n            operationId: getSharing\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Sharing'\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        post:\n            description: Sets sharing information for a board\n            operationId: postSharing\n            parameters:\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: sharing information for a root block\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/Sharing'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/{boardID}/undelete:\n        post:\n            description: Undeletes a board\n            operationId: undeleteBoard\n            parameters:\n                - description: ID of board to undelete\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /boards/search:\n        get:\n            description: Returns the boards that match with a search term\n            operationId: searchAllBoards\n            parameters:\n                - description: The search term. Must have at least one character\n                  in: query\n                  name: q\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Board'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /cards/{cardID}:\n        get:\n            operationId: getCard\n            parameters:\n                - description: Card ID\n                  in: path\n                  name: cardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Card'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Fetches the specified card.\n    /cards/{cardID}/cards:\n        patch:\n            operationId: patchCard\n            parameters:\n                - description: Card ID\n                  in: path\n                  name: cardID\n                  required: true\n                  type: string\n                - description: the card patch\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/CardPatch'\n                - description: Disables notifications (for bulk data patching)\n                  in: query\n                  name: disable_notify\n                  type: bool\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Card'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Patches the specified card.\n    /clientConfig:\n        get:\n            description: Returns the client configuration\n            operationId: getClientConfig\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/ClientConfig'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n    /files/teams/{teamID}/{boardID}/{filename}:\n        get:\n            description: Returns the contents of an uploaded file\n            operationId: getFile\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: name of the file\n                  in: path\n                  name: filename\n                  required: true\n                  type: string\n            produces:\n                - application/json\n                - image/jpg\n                - image/png\n                - image/gif\n            responses:\n                \"200\":\n                    description: success\n                \"404\":\n                    description: file not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /hello:\n        get:\n            operationId: hello\n            produces:\n                - text/plain\n            responses:\n                \"200\":\n                    description: success\n            summary: Responds with `Hello` if the web service is running.\n    /limits:\n        get:\n            operationId: cloudLimits\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BoardsCloudLimits'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Fetches the cloud limits of the server.\n    /login:\n        post:\n            description: Login user\n            operationId: login\n            parameters:\n                - description: Login request\n                  in: body\n                  name: body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/LoginRequest'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/LoginResponse'\n                \"401\":\n                    description: invalid login\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n                \"500\":\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n    /logout:\n        post:\n            description: Logout user\n            operationId: logout\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                \"500\":\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /ping:\n        get:\n            operationId: ping\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n            summary: Responds with server metadata if the web service is running.\n    /register:\n        post:\n            description: Register new user\n            operationId: register\n            parameters:\n                - description: Register request\n                  in: body\n                  name: body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/RegisterRequest'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                \"401\":\n                    description: invalid registration token\n                \"500\":\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n    /statistics:\n        get:\n            operationId: handleStatistics\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/BoardStatistics'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Fetches the statistic  of the server.\n    /subscriptions:\n        post:\n            operationId: createSubscription\n            parameters:\n                - description: subscription definition\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/Subscription'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/User'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Creates a subscription to a block for a user. The user will receive change notifications for the block.\n    /subscriptions/{blockID}/{subscriberID}:\n        delete:\n            operationId: deleteSubscription\n            parameters:\n                - description: Block ID\n                  in: path\n                  name: blockID\n                  required: true\n                  type: string\n                - description: Subscriber ID\n                  in: path\n                  name: subscriberID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Deletes a subscription a user has for a a block. The user will no longer receive change notifications for the block.\n    /subscriptions/{subscriberID}:\n        get:\n            operationId: getSubscriptions\n            parameters:\n                - description: Subscriber ID\n                  in: path\n                  name: subscriberID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/User'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Gets subscriptions for a user.\n    /team/{teamID}/onboard:\n        post:\n            operationId: onboard\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        properties:\n                            boardID:\n                                description: Board ID\n                                type: string\n                            teamID:\n                                description: Team ID\n                                type: string\n                        type: object\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Onboards a user on Boards.\n    /teams:\n        get:\n            description: Returns information of all the teams\n            operationId: getTeams\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Team'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}:\n        get:\n            description: Returns information of the root team\n            operationId: getTeam\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Team'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/archive/export:\n        get:\n            operationId: archiveExportTeam\n            parameters:\n                - description: Id of team\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Exports an archive of all blocks for all the boards in a team.\n    /teams/{teamID}/archive/import:\n        post:\n            consumes:\n                - multipart/form-data\n            operationId: archiveImport\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: archive file to import\n                  in: formData\n                  name: file\n                  required: true\n                  type: file\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n            summary: Import an archive of boards.\n    /teams/{teamID}/boards:\n        get:\n            description: Returns team boards\n            operationId: getBoards\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Board'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/boards/{boardID}/files:\n        post:\n            consumes:\n                - multipart/form-data\n            description: Upload a binary file, attached to a root block\n            operationId: uploadFile\n            parameters:\n                - description: ID of the team\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n                - description: The file to upload\n                  in: formData\n                  name: uploaded file\n                  type: file\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/FileUploadResponse'\n                \"404\":\n                    description: board not found\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/boards/insights:\n        get:\n            description: Returns team boards insights\n            operationId: handleTeamBoardsInsights\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: duration of data to calculate insights for\n                  in: query\n                  name: time_range\n                  required: true\n                  type: string\n                - description: page offset for top boards\n                  in: query\n                  name: page\n                  required: true\n                  type: string\n                - description: limit for boards in a page.\n                  in: query\n                  name: per_page\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/BoardInsight'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/boards/search:\n        get:\n            description: Returns the boards that match with a search term in the team\n            operationId: searchBoards\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: The search term. Must have at least one character\n                  in: query\n                  name: q\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Board'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/boards/search/linkable:\n        get:\n            description: |-\n                Returns the boards that match with a search term in the team and the\n                user has permission to manage members\n            operationId: searchLinkableBoards\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: The search term. Must have at least one character\n                  in: query\n                  name: q\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Board'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/categories:\n        get:\n            description: Gets the user's board categories\n            operationId: getUserCategoryBoards\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/CategoryBoards'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        post:\n            description: Create a category for boards\n            operationId: createCategory\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: category to create\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/Category'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Category'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/categories/{categoryID}:\n        delete:\n            description: Delete a category\n            operationId: deleteCategory\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: Category ID\n                  in: path\n                  name: categoryID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n        put:\n            description: Create a category for boards\n            operationId: updateCategory\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: Category ID\n                  in: path\n                  name: categoryID\n                  required: true\n                  type: string\n                - description: category to update\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/Category'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Category'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/categories/{categoryID}/boards/{boardID}:\n        post:\n            description: Set the category of a board\n            operationId: updateCategoryBoard\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: Category ID\n                  in: path\n                  name: categoryID\n                  required: true\n                  type: string\n                - description: Board ID\n                  in: path\n                  name: boardID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/channels:\n        get:\n            description: Returns the user available channels\n            operationId: searchMyChannels\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: string to filter channels list\n                  in: query\n                  name: search\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Channel'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/channels/{channelID}:\n        get:\n            description: Returns the requested channel\n            operationId: getChannel\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: Channel ID\n                  in: path\n                  name: channelID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Channel'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/regenerate_signup_token:\n        post:\n            description: Regenerates the signup token for the root team\n            operationId: regenerateSignupToken\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/templates:\n        get:\n            description: Returns team templates\n            operationId: getTemplates\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/Board'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /teams/{teamID}/users:\n        get:\n            description: Returns team users\n            operationId: getTeamUsers\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: string to filter users list\n                  in: query\n                  name: search\n                  type: string\n                - description: exclude bot users\n                  in: query\n                  name: exclude_bots\n                  type: boolean\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/User'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /users:\n        post:\n            description: Returns a user[]\n            operationId: getUsersList\n            parameters:\n                - description: User ID\n                  in: path\n                  name: userID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/User'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /users/{userID}:\n        get:\n            description: Returns a user\n            operationId: getUser\n            parameters:\n                - description: User ID\n                  in: path\n                  name: userID\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/User'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /users/{userID}/changepassword:\n        post:\n            description: Change a user's password\n            operationId: changePassword\n            parameters:\n                - description: User ID\n                  in: path\n                  name: userID\n                  required: true\n                  type: string\n                - description: Change password request\n                  in: body\n                  name: body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/ChangePasswordRequest'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                \"400\":\n                    description: invalid request\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n                \"500\":\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /users/{userID}/config:\n        patch:\n            description: Updates user config\n            operationId: updateUserConfig\n            parameters:\n                - description: User ID\n                  in: path\n                  name: userID\n                  required: true\n                  type: string\n                - description: User config patch to apply\n                  in: body\n                  name: Body\n                  required: true\n                  schema:\n                    $ref: '#/definitions/UserPreferencesPatch'\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /users/me:\n        get:\n            description: Returns the currently logged-in user\n            operationId: getMe\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/User'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /users/me/boards/insights:\n        get:\n            description: Returns user boards insights\n            operationId: getUserBoardsInsights\n            parameters:\n                - description: Team ID\n                  in: path\n                  name: teamID\n                  required: true\n                  type: string\n                - description: duration of data to calculate insights for\n                  in: query\n                  name: time_range\n                  required: true\n                  type: string\n                - description: page offset for top boards\n                  in: query\n                  name: page\n                  required: true\n                  type: string\n                - description: limit for boards in a page.\n                  in: query\n                  name: per_page\n                  required: true\n                  type: string\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/BoardInsight'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /users/me/config:\n        get:\n            description: Returns an array of user preferences\n            operationId: getUserConfig\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        $ref: '#/definitions/Preferences'\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\n    /users/me/memberships:\n        get:\n            description: Returns the currently users board memberships\n            operationId: getMyMemberships\n            produces:\n                - application/json\n            responses:\n                \"200\":\n                    description: success\n                    schema:\n                        items:\n                            $ref: '#/definitions/BoardMember'\n                        type: array\n                default:\n                    description: internal error\n                    schema:\n                        $ref: '#/definitions/ErrorResponse'\n            security:\n                - BearerAuth: []\nproduces:\n    - application/json\nschemes:\n    - http\n    - https\nsecurityDefinitions:\n    BearerAuth:\n        description: 'Pass session token using Bearer authentication, e.g. set header \"Authorization: Bearer <session token>\"'\n        in: header\n        name: Authorization\n        type: apiKey\nswagger: \"2.0\"\n"}