diff --git a/server/api/api.go b/server/api/api.go index 0f7449ce2..216a54dda 100644 --- a/server/api/api.go +++ b/server/api/api.go @@ -197,6 +197,23 @@ func (a *API) requireCSRFToken(next http.Handler) http.Handler { } func (a *API) getClientConfig(w http.ResponseWriter, r *http.Request) { + // swagger:operation GET /clientConfig getClientConfig + // + // Returns the client configuration + // + // --- + // produces: + // - application/json + // responses: + // '200': + // description: success + // schema: + // "$ref": "#/definitions/ClientConfig" + // default: + // description: internal error + // schema: + // "$ref": "#/definitions/ErrorResponse" + clientConfig := a.app.GetClientConfig() configData, err := json.Marshal(clientConfig) @@ -368,6 +385,37 @@ func (a *API) handleGetBlocks(w http.ResponseWriter, r *http.Request) { } func (a *API) handleCreateCategory(w http.ResponseWriter, r *http.Request) { + // swagger:operation POST /teams/{teamID}/categories createCategory + // + // Create a category for boards + // + // --- + // produces: + // - application/json + // parameters: + // - name: teamID + // in: path + // description: Team ID + // required: true + // type: string + // - name: Body + // in: body + // description: category to create + // required: true + // schema: + // "$ref": "#/definitions/Category" + // security: + // - BearerAuth: [] + // responses: + // '200': + // description: success + // schema: + // "$ref": "#/definitions/Category" + // default: + // description: internal error + // schema: + // "$ref": "#/definitions/ErrorResponse" + requestBody, err := ioutil.ReadAll(r.Body) if err != nil { a.errorResponse(w, r.URL.Path, http.StatusInternalServerError, "", err) @@ -432,6 +480,42 @@ func (a *API) handleCreateCategory(w http.ResponseWriter, r *http.Request) { } func (a *API) handleUpdateCategory(w http.ResponseWriter, r *http.Request) { + // swagger:operation PUT /teams/{teamID}/categories/{categoryID} updateCategory + // + // Create a category for boards + // + // --- + // produces: + // - application/json + // parameters: + // - name: teamID + // in: path + // description: Team ID + // required: true + // type: string + // - name: categoryID + // in: path + // description: Category ID + // required: true + // type: string + // - name: Body + // in: body + // description: category to update + // required: true + // schema: + // "$ref": "#/definitions/Category" + // security: + // - BearerAuth: [] + // responses: + // '200': + // description: success + // schema: + // "$ref": "#/definitions/Category" + // default: + // description: internal error + // schema: + // "$ref": "#/definitions/ErrorResponse" + vars := mux.Vars(r) categoryID := vars["categoryID"] @@ -503,6 +587,34 @@ func (a *API) handleUpdateCategory(w http.ResponseWriter, r *http.Request) { } func (a *API) handleDeleteCategory(w http.ResponseWriter, r *http.Request) { + // swagger:operation DELETE /teams/{teamID}/categories/{categoryID} deleteCategory + // + // Delete a category + // + // --- + // produces: + // - application/json + // parameters: + // - name: teamID + // in: path + // description: Team ID + // required: true + // type: string + // - name: categoryID + // in: path + // description: Category ID + // required: true + // type: string + // security: + // - BearerAuth: [] + // responses: + // '200': + // description: success + // default: + // description: internal error + // schema: + // "$ref": "#/definitions/ErrorResponse" + ctx := r.Context() session := ctx.Value(sessionContextKey).(*model.Session) vars := mux.Vars(r) @@ -540,6 +652,33 @@ func (a *API) handleDeleteCategory(w http.ResponseWriter, r *http.Request) { } func (a *API) handleGetUserCategoryBoards(w http.ResponseWriter, r *http.Request) { + // swagger:operation GET /teams/{teamID}/categories getUserCategoryBoards + // + // Gets the user's board categories + // + // --- + // produces: + // - application/json + // parameters: + // - name: teamID + // in: path + // description: Team ID + // required: true + // type: string + // security: + // - BearerAuth: [] + // responses: + // '200': + // description: success + // schema: + // items: + // "$ref": "#/definitions/CategoryBoards" + // type: array + // default: + // description: internal error + // schema: + // "$ref": "#/definitions/ErrorResponse" + ctx := r.Context() session := ctx.Value(sessionContextKey).(*model.Session) userID := session.UserID @@ -547,7 +686,7 @@ func (a *API) handleGetUserCategoryBoards(w http.ResponseWriter, r *http.Request vars := mux.Vars(r) teamID := vars["teamID"] - auditRec := a.makeAuditRecord(r, "getUserCategoryBlocks", audit.Fail) + auditRec := a.makeAuditRecord(r, "getUserCategoryBoards", audit.Fail) defer a.audit.LogRecord(audit.LevelModify, auditRec) categoryBlocks, err := a.app.GetUserCategoryBoards(userID, teamID) @@ -567,6 +706,39 @@ func (a *API) handleGetUserCategoryBoards(w http.ResponseWriter, r *http.Request } func (a *API) handleUpdateCategoryBoard(w http.ResponseWriter, r *http.Request) { + // swagger:operation POST /teams/{teamID}/categories/{categoryID}/boards/{boardID} updateCategoryBoard + // + // Set the category of a board + // + // --- + // produces: + // - application/json + // parameters: + // - name: teamID + // in: path + // description: Team ID + // required: true + // type: string + // - name: categoryID + // in: path + // description: Category ID + // required: true + // type: string + // - name: boardID + // in: path + // description: Board ID + // required: true + // type: string + // security: + // - BearerAuth: [] + // responses: + // '200': + // description: success + // default: + // description: internal error + // schema: + // "$ref": "#/definitions/ErrorResponse" + auditRec := a.makeAuditRecord(r, "updateCategoryBoard", audit.Fail) defer a.audit.LogRecord(audit.LevelModify, auditRec) diff --git a/server/model/block.go b/server/model/block.go index 4b089e895..97674fb08 100644 --- a/server/model/block.go +++ b/server/model/block.go @@ -43,15 +43,15 @@ type Block struct { // required: false Fields map[string]interface{} `json:"fields"` - // The creation time + // The creation time in miliseconds since the current epoch // required: true CreateAt int64 `json:"createAt"` - // The last modified time + // The last modified time in miliseconds since the current epoch // required: true UpdateAt int64 `json:"updateAt"` - // The deleted time. Set to indicate this block is deleted + // The deleted time in miliseconds since the current epoch. Set to indicate this block is deleted // required: false DeleteAt int64 `json:"deleteAt"` diff --git a/server/model/board.go b/server/model/board.go index 9582c4430..307f51c84 100644 --- a/server/model/board.go +++ b/server/model/board.go @@ -72,15 +72,15 @@ type Board struct { // required: false CardProperties []map[string]interface{} `json:"cardProperties"` - // The creation time + // The creation time in miliseconds since the current epoch // required: true CreateAt int64 `json:"createAt"` - // The last modified time + // The last modified time in miliseconds since the current epoch // required: true UpdateAt int64 `json:"updateAt"` - // The deleted time. Set to indicate this block is deleted + // The deleted time in miliseconds since the current epoch. Set to indicate this block is deleted // required: false DeleteAt int64 `json:"deleteAt"` } diff --git a/server/model/category.go b/server/model/category.go index 22b9140ea..c1686f433 100644 --- a/server/model/category.go +++ b/server/model/category.go @@ -6,14 +6,36 @@ import ( "github.com/mattermost/focalboard/server/utils" ) +// Category is a board category +// swagger:model type Category struct { - ID string `json:"id"` - Name string `json:"name"` - UserID string `json:"userID"` - TeamID string `json:"teamID"` - CreateAt int64 `json:"createAt"` - UpdateAt int64 `json:"updateAt"` - DeleteAt int64 `json:"deleteAt"` + // The id for this category + // required: true + ID string `json:"id"` + + // The name for this category + // required: true + Name string `json:"name"` + + // The user's id for this category + // required: true + UserID string `json:"userID"` + + // The team id for this category + // required: true + TeamID string `json:"teamID"` + + // The creation time in miliseconds since the current epoch + // required: true + CreateAt int64 `json:"createAt"` + + // The last modified time in miliseconds since the current epoch + // required: true + UpdateAt int64 `json:"updateAt"` + + // The deleted time in miliseconds since the current epoch. Set to indicate this category is deleted + // required: false + DeleteAt int64 `json:"deleteAt"` } func (c *Category) Hydrate() { diff --git a/server/model/category_boards.go b/server/model/category_boards.go index d12c16662..6f0fe5cfd 100644 --- a/server/model/category_boards.go +++ b/server/model/category_boards.go @@ -1,7 +1,12 @@ package model +// CategoryBoards is a board category and associated boards +// swagger:model type CategoryBoards struct { Category + + // The IDs of boards in this category + // required: true BoardIDs []string `json:"boardIDs"` } diff --git a/server/model/clientConfig.go b/server/model/clientConfig.go index 4b3daefcd..01f8f6885 100644 --- a/server/model/clientConfig.go +++ b/server/model/clientConfig.go @@ -1,8 +1,21 @@ package model +// ClientConfig is the client configuration +// swagger:model type ClientConfig struct { - Telemetry bool `json:"telemetry"` - TelemetryID string `json:"telemetryid"` - EnablePublicSharedBoards bool `json:"enablePublicSharedBoards"` - FeatureFlags map[string]string `json:"featureFlags"` + // Is telemetry enabled + // required: true + Telemetry bool `json:"telemetry"` + + // The telemetry ID + // required: true + TelemetryID string `json:"telemetryid"` + + // Is public shared boards enabled + // required: true + EnablePublicSharedBoards bool `json:"enablePublicSharedBoards"` + + // The server feature flags + // required: true + FeatureFlags map[string]string `json:"featureFlags"` } diff --git a/server/model/notification.go b/server/model/notification.go index 1705928c8..fb30a4245 100644 --- a/server/model/notification.go +++ b/server/model/notification.go @@ -21,11 +21,11 @@ type NotificationHint struct { // ModifiedByID is the id of the user who made the block change ModifiedByID string `json:"modified_by_id"` - // CreatedAt is the timestamp this notification hint was created + // CreatedAt is the timestamp this notification hint was created in miliseconds since the current epoch // required: true CreateAt int64 `json:"create_at"` - // NotifyAt is the timestamp this notification should be scheduled + // NotifyAt is the timestamp this notification should be scheduled in miliseconds since the current epoch // required: true NotifyAt int64 `json:"notify_at"` } diff --git a/server/model/sharing.go b/server/model/sharing.go index 761df9f46..aa2843af5 100644 --- a/server/model/sharing.go +++ b/server/model/sharing.go @@ -24,7 +24,7 @@ type Sharing struct { // required: true ModifiedBy string `json:"modifiedBy"` - // Updated time + // Updated time in miliseconds since the current epoch // required: true UpdateAt int64 `json:"update_at,omitempty"` } diff --git a/server/model/subscription.go b/server/model/subscription.go index 44e904beb..7d79b652c 100644 --- a/server/model/subscription.go +++ b/server/model/subscription.go @@ -43,11 +43,11 @@ type Subscription struct { // required: true NotifiedAt int64 `json:"notifiedAt,omitempty"` - // CreatedAt is the timestamp this subscription was created + // CreatedAt is the timestamp this subscription was created in miliseconds since the current epoch // required: true CreateAt int64 `json:"createAt"` - // DeleteAt is the timestamp this subscription was deleted, or zero if not deleted + // DeleteAt is the timestamp this subscription was deleted in miliseconds since the current epoch, or zero if not deleted // required: true DeleteAt int64 `json:"deleteAt"` } diff --git a/server/model/team.go b/server/model/team.go index d6d0ec772..18372118a 100644 --- a/server/model/team.go +++ b/server/model/team.go @@ -28,7 +28,7 @@ type Team struct { // required: true ModifiedBy string `json:"modifiedBy"` - // Updated time + // Updated time in miliseconds since the current epoch // required: true UpdateAt int64 `json:"updateAt"` } diff --git a/server/model/user.go b/server/model/user.go index 37b416066..2a87e78d8 100644 --- a/server/model/user.go +++ b/server/model/user.go @@ -42,15 +42,15 @@ type User struct { // required: true Props map[string]interface{} `json:"props"` - // Created time + // Created time in miliseconds since the current epoch // required: true CreateAt int64 `json:"create_at,omitempty"` - // Updated time + // Updated time in miliseconds since the current epoch // required: true UpdateAt int64 `json:"update_at,omitempty"` - // Deleted time, set to indicate user is deleted + // Deleted time in miliseconds since the current epoch, set to indicate user is deleted // required: true DeleteAt int64 `json:"delete_at"` diff --git a/server/swagger/docs/html/index.html b/server/swagger/docs/html/index.html index cc05a2b4e..768a26432 100644 --- a/server/swagger/docs/html/index.html +++ b/server/swagger/docs/html/index.html @@ -857,7 +857,7 @@ ul.nav-tabs { }, "createAt" : { "type" : "integer", - "description" : "The creation time", + "description" : "The creation time in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "CreateAt" }, @@ -868,7 +868,7 @@ ul.nav-tabs { }, "deleteAt" : { "type" : "integer", - "description" : "The deleted time. Set to indicate this block is deleted", + "description" : "The deleted time in miliseconds since the current epoch. Set to indicate this block is deleted", "format" : "int64", "x-go-name" : "DeleteAt" }, @@ -912,7 +912,7 @@ ul.nav-tabs { }, "updateAt" : { "type" : "integer", - "description" : "The last modified time", + "description" : "The last modified time in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "UpdateAt" } @@ -1012,18 +1012,9 @@ ul.nav-tabs { "description" : "The ID of the channel that the board was created from", "x-go-name" : "ChannelID" }, - "columnCalculations" : { - "type" : "object", - "additionalProperties" : { - "type" : "object", - "properties" : { } - }, - "description" : "The calculations on the board's cards", - "x-go-name" : "ColumnCalculations" - }, "createAt" : { "type" : "integer", - "description" : "The creation time", + "description" : "The creation time in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "CreateAt" }, @@ -1034,7 +1025,7 @@ ul.nav-tabs { }, "deleteAt" : { "type" : "integer", - "description" : "The deleted time. Set to indicate this block is deleted", + "description" : "The deleted time in miliseconds since the current epoch. Set to indicate this block is deleted", "format" : "int64", "x-go-name" : "DeleteAt" }, @@ -1098,7 +1089,7 @@ ul.nav-tabs { }, "updateAt" : { "type" : "integer", - "description" : "The last modified time", + "description" : "The last modified time in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "UpdateAt" } @@ -1164,9 +1155,9 @@ ul.nav-tabs { "x-go-name" : "BoardID" }, "insertAt" : { - "type" : "integer", + "type" : "string", "description" : "The insertion time", - "format" : "int64", + "format" : "date-time", "x-go-name" : "InsertAt" }, "userId" : { @@ -1224,14 +1215,6 @@ ul.nav-tabs { }, "x-go-name" : "DeletedCardProperties" }, - "deletedColumnCalculations" : { - "type" : "array", - "description" : "The board deleted column calculations", - "items" : { - "type" : "string" - }, - "x-go-name" : "DeletedColumnCalculations" - }, "deletedProperties" : { "type" : "array", "description" : "The board removed properties", @@ -1275,15 +1258,6 @@ ul.nav-tabs { }, "x-go-name" : "UpdatedCardProperties" }, - "updatedColumnCalculations" : { - "type" : "object", - "additionalProperties" : { - "type" : "object", - "properties" : { } - }, - "description" : "The board updated column calculations", - "x-go-name" : "UpdatedColumnCalculations" - }, "updatedProperties" : { "type" : "object", "additionalProperties" : { @@ -1319,6 +1293,106 @@ ul.nav-tabs { }, "description" : "BoardsAndBlocks is used to operate over boards and blocks at the\nsame time", "x-go-package" : "github.com/mattermost/focalboard/server/model" +}; + defs["Category"] = { + "required" : [ "createAt", "id", "name", "teamID", "updateAt", "userID" ], + "type" : "object", + "properties" : { + "createAt" : { + "type" : "integer", + "description" : "The creation time in miliseconds since the current epoch", + "format" : "int64", + "x-go-name" : "CreateAt" + }, + "deleteAt" : { + "type" : "integer", + "description" : "The deleted time in miliseconds since the current epoch. Set to indicate this category is deleted", + "format" : "int64", + "x-go-name" : "DeleteAt" + }, + "id" : { + "type" : "string", + "description" : "The id for this category", + "x-go-name" : "ID" + }, + "name" : { + "type" : "string", + "description" : "The name for this category", + "x-go-name" : "Name" + }, + "teamID" : { + "type" : "string", + "description" : "The team id for this category", + "x-go-name" : "TeamID" + }, + "updateAt" : { + "type" : "integer", + "description" : "The last modified time in miliseconds since the current epoch", + "format" : "int64", + "x-go-name" : "UpdateAt" + }, + "userID" : { + "type" : "string", + "description" : "The user's id for this category", + "x-go-name" : "UserID" + } + }, + "description" : "Category is a board category", + "x-go-package" : "github.com/mattermost/focalboard/server/model" +}; + defs["CategoryBoards"] = { + "required" : [ "boardIDs", "createAt", "id", "name", "teamID", "updateAt", "userID" ], + "type" : "object", + "properties" : { + "boardIDs" : { + "type" : "array", + "description" : "The IDs of boards in this category", + "items" : { + "type" : "string" + }, + "x-go-name" : "BoardIDs" + }, + "createAt" : { + "type" : "integer", + "description" : "The creation time in miliseconds since the current epoch", + "format" : "int64", + "x-go-name" : "CreateAt" + }, + "deleteAt" : { + "type" : "integer", + "description" : "The deleted time in miliseconds since the current epoch. Set to indicate this category is deleted", + "format" : "int64", + "x-go-name" : "DeleteAt" + }, + "id" : { + "type" : "string", + "description" : "The id for this category", + "x-go-name" : "ID" + }, + "name" : { + "type" : "string", + "description" : "The name for this category", + "x-go-name" : "Name" + }, + "teamID" : { + "type" : "string", + "description" : "The team id for this category", + "x-go-name" : "TeamID" + }, + "updateAt" : { + "type" : "integer", + "description" : "The last modified time in miliseconds since the current epoch", + "format" : "int64", + "x-go-name" : "UpdateAt" + }, + "userID" : { + "type" : "string", + "description" : "The user's id for this category", + "x-go-name" : "UserID" + } + }, + "description" : "CategoryBoards is a board category and associated boards", + "x-go-package" : "github.com/mattermost/focalboard/server/model" }; defs["ChangePasswordRequest"] = { "required" : [ "newPassword", "oldPassword" ], @@ -1337,6 +1411,37 @@ ul.nav-tabs { }, "description" : "ChangePasswordRequest is a user password change request", "x-go-package" : "github.com/mattermost/focalboard/server/api" +}; + defs["ClientConfig"] = { + "required" : [ "enablePublicSharedBoards", "featureFlags", "telemetry", "telemetryid" ], + "type" : "object", + "properties" : { + "enablePublicSharedBoards" : { + "type" : "boolean", + "description" : "Is public shared boards enabled", + "x-go-name" : "EnablePublicSharedBoards" + }, + "featureFlags" : { + "type" : "object", + "additionalProperties" : { + "type" : "string" + }, + "description" : "The server feature flags", + "x-go-name" : "FeatureFlags" + }, + "telemetry" : { + "type" : "boolean", + "description" : "Is telemetry enabled", + "x-go-name" : "Telemetry" + }, + "telemetryid" : { + "type" : "string", + "description" : "The telemetry ID", + "x-go-name" : "TelemetryID" + } + }, + "description" : "ClientConfig is the client configuration", + "x-go-package" : "github.com/mattermost/focalboard/server/model" }; defs["DeleteBoardsAndBlocks"] = { "required" : [ "blocks", "boards" ], @@ -1448,7 +1553,7 @@ ul.nav-tabs { }, "create_at" : { "type" : "integer", - "description" : "CreatedAt is the timestamp this notification hint was created", + "description" : "CreatedAt is the timestamp this notification hint was created in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "CreateAt" }, @@ -1459,7 +1564,7 @@ ul.nav-tabs { }, "notify_at" : { "type" : "integer", - "description" : "NotifyAt is the timestamp this notification should be scheduled", + "description" : "NotifyAt is the timestamp this notification should be scheduled in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "NotifyAt" } @@ -1561,7 +1666,7 @@ ul.nav-tabs { }, "update_at" : { "type" : "integer", - "description" : "Updated time", + "description" : "Updated time in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "UpdateAt" } @@ -1606,13 +1711,13 @@ ul.nav-tabs { }, "createAt" : { "type" : "integer", - "description" : "CreatedAt is the timestamp this subscription was created", + "description" : "CreatedAt is the timestamp this subscription was created in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "CreateAt" }, "deleteAt" : { "type" : "integer", - "description" : "DeleteAt is the timestamp this subscription was deleted, or zero if not deleted", + "description" : "DeleteAt is the timestamp this subscription was deleted in miliseconds since the current epoch, or zero if not deleted", "format" : "int64", "x-go-name" : "DeleteAt" }, @@ -1668,7 +1773,7 @@ ul.nav-tabs { }, "updateAt" : { "type" : "integer", - "description" : "Updated time", + "description" : "Updated time in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "UpdateAt" } @@ -1682,13 +1787,13 @@ ul.nav-tabs { "properties" : { "create_at" : { "type" : "integer", - "description" : "Created time", + "description" : "Created time in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "CreateAt" }, "delete_at" : { "type" : "integer", - "description" : "Deleted time, set to indicate user is deleted", + "description" : "Deleted time in miliseconds since the current epoch, set to indicate user is deleted", "format" : "int64", "x-go-name" : "DeleteAt" }, @@ -1718,7 +1823,7 @@ ul.nav-tabs { }, "update_at" : { "type" : "integer", - "description" : "Updated time", + "description" : "Updated time in miliseconds since the current epoch", "format" : "int64", "x-go-name" : "UpdateAt" }, @@ -1791,6 +1896,9 @@ ul.nav-tabs {
  • createBoard
  • +
  • + createCategory +
  • createSubscription
  • @@ -1803,6 +1911,9 @@ ul.nav-tabs {
  • deleteBoardsAndBlocks
  • +
  • + deleteCategory +
  • deleteMember
  • @@ -1827,6 +1938,9 @@ ul.nav-tabs {
  • getBoards
  • +
  • + getClientConfig +
  • getMe
  • @@ -1857,6 +1971,9 @@ ul.nav-tabs {
  • getUser
  • +
  • + getUserCategoryBoards +
  • insertBoardsAndBlocks
  • @@ -1908,6 +2025,12 @@ ul.nav-tabs {
  • updateBlocks
  • +
  • + updateCategory +
  • +
  • + updateCategoryBoard +
  • updateMember
  • @@ -4275,9 +4398,6 @@ $(document).ready(function() { } ], "modifiedBy" : "modifiedBy", "templateVersion" : 1, - "columnCalculations" : { - "key" : "{}" - }, "id" : "id", "channelId" : "channelId", "properties" : { @@ -4708,6 +4828,517 @@ $(document).ready(function() {
    +
    +
    +
    +

    createCategory

    +

    +
    +
    +
    +

    +

    Create a category for boards

    +

    +
    +
    /teams/{teamID}/categories
    +

    +

    Usage and SDK Samples

    +

    + + +
    +
    +
    curl -X POST \
    +-H "Authorization: [[apiKey]]" \
    + -H "Accept: application/json" \
    + -H "Content-Type: application/json" \
    + "http://localhost/api/v2/teams/{teamID}/categories" \
    + -d '{
    +  "deleteAt" : 6,
    +  "teamID" : "teamID",
    +  "name" : "name",
    +  "updateAt" : 1,
    +  "id" : "id",
    +  "userID" : "userID",
    +  "createAt" : 0
    +}'
    +
    +
    +
    +
    import org.openapitools.client.*;
    +import org.openapitools.client.auth.*;
    +import org.openapitools.client.model.*;
    +import org.openapitools.client.api.DefaultApi;
    +
    +import java.io.File;
    +import java.util.*;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        ApiClient defaultClient = Configuration.getDefaultApiClient();
    +        
    +        // Configure API key authorization: BearerAuth
    +        ApiKeyAuth BearerAuth = (ApiKeyAuth) defaultClient.getAuthentication("BearerAuth");
    +        BearerAuth.setApiKey("YOUR API KEY");
    +        // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +        //BearerAuth.setApiKeyPrefix("Token");
    +
    +        // Create an instance of the API class
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +        Category body = ; // Category | 
    +
    +        try {
    +            Category result = apiInstance.createCategory(teamID, body);
    +            System.out.println(result);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#createCategory");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    +
    + +
    +
    import org.openapitools.client.api.DefaultApi;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +        Category body = ; // Category | 
    +
    +        try {
    +            Category result = apiInstance.createCategory(teamID, body);
    +            System.out.println(result);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#createCategory");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    + +
    +
    Configuration *apiConfig = [Configuration sharedConfig];
    +
    +// Configure API key authorization: (authentication scheme: BearerAuth)
    +[apiConfig setApiKey:@"YOUR_API_KEY" forApiKeyIdentifier:@"Authorization"];
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +//[apiConfig setApiKeyPrefix:@"Bearer" forApiKeyIdentifier:@"Authorization"];
    +
    +
    +// Create an instance of the API class
    +DefaultApi *apiInstance = [[DefaultApi alloc] init];
    +String *teamID = teamID_example; // Team ID (default to null)
    +Category *body = ; // 
    +
    +[apiInstance createCategoryWith:teamID
    +    body:body
    +              completionHandler: ^(Category output, NSError* error) {
    +    if (output) {
    +        NSLog(@"%@", output);
    +    }
    +    if (error) {
    +        NSLog(@"Error: %@", error);
    +    }
    +}];
    +
    +
    + +
    +
    var FocalboardServer = require('focalboard_server');
    +var defaultClient = FocalboardServer.ApiClient.instance;
    +
    +// Configure API key authorization: BearerAuth
    +var BearerAuth = defaultClient.authentications['BearerAuth'];
    +BearerAuth.apiKey = "YOUR API KEY";
    +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +//BearerAuth.apiKeyPrefix['Authorization'] = "Token";
    +
    +// Create an instance of the API class
    +var api = new FocalboardServer.DefaultApi()
    +var teamID = teamID_example; // {String} Team ID
    +var body = ; // {Category} 
    +
    +var callback = function(error, data, response) {
    +  if (error) {
    +    console.error(error);
    +  } else {
    +    console.log('API called successfully. Returned data: ' + data);
    +  }
    +};
    +api.createCategory(teamID, body, callback);
    +
    +
    + + +
    +
    using System;
    +using System.Diagnostics;
    +using Org.OpenAPITools.Api;
    +using Org.OpenAPITools.Client;
    +using Org.OpenAPITools.Model;
    +
    +namespace Example
    +{
    +    public class createCategoryExample
    +    {
    +        public void main()
    +        {
    +            // Configure API key authorization: BearerAuth
    +            Configuration.Default.ApiKey.Add("Authorization", "YOUR_API_KEY");
    +            // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +            // Configuration.Default.ApiKeyPrefix.Add("Authorization", "Bearer");
    +
    +            // Create an instance of the API class
    +            var apiInstance = new DefaultApi();
    +            var teamID = teamID_example;  // String | Team ID (default to null)
    +            var body = new Category(); // Category | 
    +
    +            try {
    +                Category result = apiInstance.createCategory(teamID, body);
    +                Debug.WriteLine(result);
    +            } catch (Exception e) {
    +                Debug.Print("Exception when calling DefaultApi.createCategory: " + e.Message );
    +            }
    +        }
    +    }
    +}
    +
    +
    + +
    +
    <?php
    +require_once(__DIR__ . '/vendor/autoload.php');
    +
    +// Configure API key authorization: BearerAuth
    +OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKey('Authorization', 'YOUR_API_KEY');
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +// OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('Authorization', 'Bearer');
    +
    +// Create an instance of the API class
    +$api_instance = new OpenAPITools\Client\Api\DefaultApi();
    +$teamID = teamID_example; // String | Team ID
    +$body = ; // Category | 
    +
    +try {
    +    $result = $api_instance->createCategory($teamID, $body);
    +    print_r($result);
    +} catch (Exception $e) {
    +    echo 'Exception when calling DefaultApi->createCategory: ', $e->getMessage(), PHP_EOL;
    +}
    +?>
    +
    + +
    +
    use Data::Dumper;
    +use WWW::OPenAPIClient::Configuration;
    +use WWW::OPenAPIClient::DefaultApi;
    +
    +# Configure API key authorization: BearerAuth
    +$WWW::OPenAPIClient::Configuration::api_key->{'Authorization'} = 'YOUR_API_KEY';
    +# uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +#$WWW::OPenAPIClient::Configuration::api_key_prefix->{'Authorization'} = "Bearer";
    +
    +# Create an instance of the API class
    +my $api_instance = WWW::OPenAPIClient::DefaultApi->new();
    +my $teamID = teamID_example; # String | Team ID
    +my $body = WWW::OPenAPIClient::Object::Category->new(); # Category | 
    +
    +eval {
    +    my $result = $api_instance->createCategory(teamID => $teamID, body => $body);
    +    print Dumper($result);
    +};
    +if ($@) {
    +    warn "Exception when calling DefaultApi->createCategory: $@\n";
    +}
    +
    + +
    +
    from __future__ import print_statement
    +import time
    +import openapi_client
    +from openapi_client.rest import ApiException
    +from pprint import pprint
    +
    +# Configure API key authorization: BearerAuth
    +openapi_client.configuration.api_key['Authorization'] = 'YOUR_API_KEY'
    +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +# openapi_client.configuration.api_key_prefix['Authorization'] = 'Bearer'
    +
    +# Create an instance of the API class
    +api_instance = openapi_client.DefaultApi()
    +teamID = teamID_example # String | Team ID (default to null)
    +body =  # Category | 
    +
    +try:
    +    api_response = api_instance.create_category(teamID, body)
    +    pprint(api_response)
    +except ApiException as e:
    +    print("Exception when calling DefaultApi->createCategory: %s\n" % e)
    +
    + +
    +
    extern crate DefaultApi;
    +
    +pub fn main() {
    +    let teamID = teamID_example; // String
    +    let body = ; // Category
    +
    +    let mut context = DefaultApi::Context::default();
    +    let result = client.createCategory(teamID, body, &context).wait();
    +
    +    println!("{:?}", result);
    +}
    +
    +
    +
    + +

    Scopes

    + + +
    + +

    Parameters

    + +
    Path parameters
    + + + + + + + + + +
    NameDescription
    teamID* + + +
    +
    +
    + + String + + +
    +Team ID +
    +
    +
    + Required +
    +
    +
    +
    + + +
    Body parameters
    + + + + + + + + + +
    NameDescription
    body * +

    category to create

    + +
    +
    + + + +

    Responses

    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    @@ -6454,6 +7085,430 @@ $(document).ready(function() {

    +
    +
    +
    +

    deleteCategory

    +

    +
    +
    +
    +

    +

    Delete a category

    +

    +
    +
    /teams/{teamID}/categories/{categoryID}
    +

    +

    Usage and SDK Samples

    +

    + + +
    +
    +
    curl -X DELETE \
    +-H "Authorization: [[apiKey]]" \
    + -H "Accept: application/json" \
    + "http://localhost/api/v2/teams/{teamID}/categories/{categoryID}"
    +
    +
    +
    +
    import org.openapitools.client.*;
    +import org.openapitools.client.auth.*;
    +import org.openapitools.client.model.*;
    +import org.openapitools.client.api.DefaultApi;
    +
    +import java.io.File;
    +import java.util.*;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        ApiClient defaultClient = Configuration.getDefaultApiClient();
    +        
    +        // Configure API key authorization: BearerAuth
    +        ApiKeyAuth BearerAuth = (ApiKeyAuth) defaultClient.getAuthentication("BearerAuth");
    +        BearerAuth.setApiKey("YOUR API KEY");
    +        // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +        //BearerAuth.setApiKeyPrefix("Token");
    +
    +        // Create an instance of the API class
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +        String categoryID = categoryID_example; // String | Category ID
    +
    +        try {
    +            apiInstance.deleteCategory(teamID, categoryID);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#deleteCategory");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    +
    + +
    +
    import org.openapitools.client.api.DefaultApi;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +        String categoryID = categoryID_example; // String | Category ID
    +
    +        try {
    +            apiInstance.deleteCategory(teamID, categoryID);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#deleteCategory");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    + +
    +
    Configuration *apiConfig = [Configuration sharedConfig];
    +
    +// Configure API key authorization: (authentication scheme: BearerAuth)
    +[apiConfig setApiKey:@"YOUR_API_KEY" forApiKeyIdentifier:@"Authorization"];
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +//[apiConfig setApiKeyPrefix:@"Bearer" forApiKeyIdentifier:@"Authorization"];
    +
    +
    +// Create an instance of the API class
    +DefaultApi *apiInstance = [[DefaultApi alloc] init];
    +String *teamID = teamID_example; // Team ID (default to null)
    +String *categoryID = categoryID_example; // Category ID (default to null)
    +
    +[apiInstance deleteCategoryWith:teamID
    +    categoryID:categoryID
    +              completionHandler: ^(NSError* error) {
    +    if (error) {
    +        NSLog(@"Error: %@", error);
    +    }
    +}];
    +
    +
    + +
    +
    var FocalboardServer = require('focalboard_server');
    +var defaultClient = FocalboardServer.ApiClient.instance;
    +
    +// Configure API key authorization: BearerAuth
    +var BearerAuth = defaultClient.authentications['BearerAuth'];
    +BearerAuth.apiKey = "YOUR API KEY";
    +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +//BearerAuth.apiKeyPrefix['Authorization'] = "Token";
    +
    +// Create an instance of the API class
    +var api = new FocalboardServer.DefaultApi()
    +var teamID = teamID_example; // {String} Team ID
    +var categoryID = categoryID_example; // {String} Category ID
    +
    +var callback = function(error, data, response) {
    +  if (error) {
    +    console.error(error);
    +  } else {
    +    console.log('API called successfully.');
    +  }
    +};
    +api.deleteCategory(teamID, categoryID, callback);
    +
    +
    + + +
    +
    using System;
    +using System.Diagnostics;
    +using Org.OpenAPITools.Api;
    +using Org.OpenAPITools.Client;
    +using Org.OpenAPITools.Model;
    +
    +namespace Example
    +{
    +    public class deleteCategoryExample
    +    {
    +        public void main()
    +        {
    +            // Configure API key authorization: BearerAuth
    +            Configuration.Default.ApiKey.Add("Authorization", "YOUR_API_KEY");
    +            // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +            // Configuration.Default.ApiKeyPrefix.Add("Authorization", "Bearer");
    +
    +            // Create an instance of the API class
    +            var apiInstance = new DefaultApi();
    +            var teamID = teamID_example;  // String | Team ID (default to null)
    +            var categoryID = categoryID_example;  // String | Category ID (default to null)
    +
    +            try {
    +                apiInstance.deleteCategory(teamID, categoryID);
    +            } catch (Exception e) {
    +                Debug.Print("Exception when calling DefaultApi.deleteCategory: " + e.Message );
    +            }
    +        }
    +    }
    +}
    +
    +
    + +
    +
    <?php
    +require_once(__DIR__ . '/vendor/autoload.php');
    +
    +// Configure API key authorization: BearerAuth
    +OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKey('Authorization', 'YOUR_API_KEY');
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +// OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('Authorization', 'Bearer');
    +
    +// Create an instance of the API class
    +$api_instance = new OpenAPITools\Client\Api\DefaultApi();
    +$teamID = teamID_example; // String | Team ID
    +$categoryID = categoryID_example; // String | Category ID
    +
    +try {
    +    $api_instance->deleteCategory($teamID, $categoryID);
    +} catch (Exception $e) {
    +    echo 'Exception when calling DefaultApi->deleteCategory: ', $e->getMessage(), PHP_EOL;
    +}
    +?>
    +
    + +
    +
    use Data::Dumper;
    +use WWW::OPenAPIClient::Configuration;
    +use WWW::OPenAPIClient::DefaultApi;
    +
    +# Configure API key authorization: BearerAuth
    +$WWW::OPenAPIClient::Configuration::api_key->{'Authorization'} = 'YOUR_API_KEY';
    +# uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +#$WWW::OPenAPIClient::Configuration::api_key_prefix->{'Authorization'} = "Bearer";
    +
    +# Create an instance of the API class
    +my $api_instance = WWW::OPenAPIClient::DefaultApi->new();
    +my $teamID = teamID_example; # String | Team ID
    +my $categoryID = categoryID_example; # String | Category ID
    +
    +eval {
    +    $api_instance->deleteCategory(teamID => $teamID, categoryID => $categoryID);
    +};
    +if ($@) {
    +    warn "Exception when calling DefaultApi->deleteCategory: $@\n";
    +}
    +
    + +
    +
    from __future__ import print_statement
    +import time
    +import openapi_client
    +from openapi_client.rest import ApiException
    +from pprint import pprint
    +
    +# Configure API key authorization: BearerAuth
    +openapi_client.configuration.api_key['Authorization'] = 'YOUR_API_KEY'
    +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +# openapi_client.configuration.api_key_prefix['Authorization'] = 'Bearer'
    +
    +# Create an instance of the API class
    +api_instance = openapi_client.DefaultApi()
    +teamID = teamID_example # String | Team ID (default to null)
    +categoryID = categoryID_example # String | Category ID (default to null)
    +
    +try:
    +    api_instance.delete_category(teamID, categoryID)
    +except ApiException as e:
    +    print("Exception when calling DefaultApi->deleteCategory: %s\n" % e)
    +
    + +
    +
    extern crate DefaultApi;
    +
    +pub fn main() {
    +    let teamID = teamID_example; // String
    +    let categoryID = categoryID_example; // String
    +
    +    let mut context = DefaultApi::Context::default();
    +    let result = client.deleteCategory(teamID, categoryID, &context).wait();
    +
    +    println!("{:?}", result);
    +}
    +
    +
    +
    + +

    Scopes

    + + +
    + +

    Parameters

    + +
    Path parameters
    + + + + + + + + + + + + + +
    NameDescription
    teamID* + + +
    +
    +
    + + String + + +
    +Team ID +
    +
    +
    + Required +
    +
    +
    +
    categoryID* + + +
    +
    +
    + + String + + +
    +Category ID +
    +
    +
    + Required +
    +
    +
    +
    + + + + + +

    Responses

    +

    +

    + + + + + + +
    +
    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    @@ -10234,6 +11289,370 @@ Team ID

    +
    +
    +
    +

    getClientConfig

    +

    +
    +
    +
    +

    +

    Returns the client configuration

    +

    +
    +
    /clientConfig
    +

    +

    Usage and SDK Samples

    +

    + + +
    +
    +
    curl -X GET \
    + -H "Accept: application/json" \
    + "http://localhost/api/v2/clientConfig"
    +
    +
    +
    +
    import org.openapitools.client.*;
    +import org.openapitools.client.auth.*;
    +import org.openapitools.client.model.*;
    +import org.openapitools.client.api.DefaultApi;
    +
    +import java.io.File;
    +import java.util.*;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +
    +        // Create an instance of the API class
    +        DefaultApi apiInstance = new DefaultApi();
    +
    +        try {
    +            ClientConfig result = apiInstance.getClientConfig();
    +            System.out.println(result);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#getClientConfig");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    +
    + +
    +
    import org.openapitools.client.api.DefaultApi;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        DefaultApi apiInstance = new DefaultApi();
    +
    +        try {
    +            ClientConfig result = apiInstance.getClientConfig();
    +            System.out.println(result);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#getClientConfig");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    + +
    +
    
    +
    +// Create an instance of the API class
    +DefaultApi *apiInstance = [[DefaultApi alloc] init];
    +
    +[apiInstance getClientConfigWithCompletionHandler: 
    +              ^(ClientConfig output, NSError* error) {
    +    if (output) {
    +        NSLog(@"%@", output);
    +    }
    +    if (error) {
    +        NSLog(@"Error: %@", error);
    +    }
    +}];
    +
    +
    + +
    +
    var FocalboardServer = require('focalboard_server');
    +
    +// Create an instance of the API class
    +var api = new FocalboardServer.DefaultApi()
    +var callback = function(error, data, response) {
    +  if (error) {
    +    console.error(error);
    +  } else {
    +    console.log('API called successfully. Returned data: ' + data);
    +  }
    +};
    +api.getClientConfig(callback);
    +
    +
    + + +
    +
    using System;
    +using System.Diagnostics;
    +using Org.OpenAPITools.Api;
    +using Org.OpenAPITools.Client;
    +using Org.OpenAPITools.Model;
    +
    +namespace Example
    +{
    +    public class getClientConfigExample
    +    {
    +        public void main()
    +        {
    +
    +            // Create an instance of the API class
    +            var apiInstance = new DefaultApi();
    +
    +            try {
    +                ClientConfig result = apiInstance.getClientConfig();
    +                Debug.WriteLine(result);
    +            } catch (Exception e) {
    +                Debug.Print("Exception when calling DefaultApi.getClientConfig: " + e.Message );
    +            }
    +        }
    +    }
    +}
    +
    +
    + +
    +
    <?php
    +require_once(__DIR__ . '/vendor/autoload.php');
    +
    +// Create an instance of the API class
    +$api_instance = new OpenAPITools\Client\Api\DefaultApi();
    +
    +try {
    +    $result = $api_instance->getClientConfig();
    +    print_r($result);
    +} catch (Exception $e) {
    +    echo 'Exception when calling DefaultApi->getClientConfig: ', $e->getMessage(), PHP_EOL;
    +}
    +?>
    +
    + +
    +
    use Data::Dumper;
    +use WWW::OPenAPIClient::Configuration;
    +use WWW::OPenAPIClient::DefaultApi;
    +
    +# Create an instance of the API class
    +my $api_instance = WWW::OPenAPIClient::DefaultApi->new();
    +
    +eval {
    +    my $result = $api_instance->getClientConfig();
    +    print Dumper($result);
    +};
    +if ($@) {
    +    warn "Exception when calling DefaultApi->getClientConfig: $@\n";
    +}
    +
    + +
    +
    from __future__ import print_statement
    +import time
    +import openapi_client
    +from openapi_client.rest import ApiException
    +from pprint import pprint
    +
    +# Create an instance of the API class
    +api_instance = openapi_client.DefaultApi()
    +
    +try:
    +    api_response = api_instance.get_client_config()
    +    pprint(api_response)
    +except ApiException as e:
    +    print("Exception when calling DefaultApi->getClientConfig: %s\n" % e)
    +
    + +
    +
    extern crate DefaultApi;
    +
    +pub fn main() {
    +
    +    let mut context = DefaultApi::Context::default();
    +    let result = client.getClientConfig(&context).wait();
    +
    +    println!("{:?}", result);
    +}
    +
    +
    +
    + +

    Scopes

    + + +
    + +

    Parameters

    + + + + + + +

    Responses

    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    @@ -14636,6 +16055,453 @@ User ID

    +
    +
    +
    +

    getUserCategoryBoards

    +

    +
    +
    +
    +

    +

    Gets the user's board categories

    +

    +
    +
    /teams/{teamID}/categories
    +

    +

    Usage and SDK Samples

    +

    + + +
    +
    +
    curl -X GET \
    +-H "Authorization: [[apiKey]]" \
    + -H "Accept: application/json" \
    + "http://localhost/api/v2/teams/{teamID}/categories"
    +
    +
    +
    +
    import org.openapitools.client.*;
    +import org.openapitools.client.auth.*;
    +import org.openapitools.client.model.*;
    +import org.openapitools.client.api.DefaultApi;
    +
    +import java.io.File;
    +import java.util.*;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        ApiClient defaultClient = Configuration.getDefaultApiClient();
    +        
    +        // Configure API key authorization: BearerAuth
    +        ApiKeyAuth BearerAuth = (ApiKeyAuth) defaultClient.getAuthentication("BearerAuth");
    +        BearerAuth.setApiKey("YOUR API KEY");
    +        // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +        //BearerAuth.setApiKeyPrefix("Token");
    +
    +        // Create an instance of the API class
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +
    +        try {
    +            array[CategoryBoards] result = apiInstance.getUserCategoryBoards(teamID);
    +            System.out.println(result);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#getUserCategoryBoards");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    +
    + +
    +
    import org.openapitools.client.api.DefaultApi;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +
    +        try {
    +            array[CategoryBoards] result = apiInstance.getUserCategoryBoards(teamID);
    +            System.out.println(result);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#getUserCategoryBoards");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    + +
    +
    Configuration *apiConfig = [Configuration sharedConfig];
    +
    +// Configure API key authorization: (authentication scheme: BearerAuth)
    +[apiConfig setApiKey:@"YOUR_API_KEY" forApiKeyIdentifier:@"Authorization"];
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +//[apiConfig setApiKeyPrefix:@"Bearer" forApiKeyIdentifier:@"Authorization"];
    +
    +
    +// Create an instance of the API class
    +DefaultApi *apiInstance = [[DefaultApi alloc] init];
    +String *teamID = teamID_example; // Team ID (default to null)
    +
    +[apiInstance getUserCategoryBoardsWith:teamID
    +              completionHandler: ^(array[CategoryBoards] output, NSError* error) {
    +    if (output) {
    +        NSLog(@"%@", output);
    +    }
    +    if (error) {
    +        NSLog(@"Error: %@", error);
    +    }
    +}];
    +
    +
    + +
    +
    var FocalboardServer = require('focalboard_server');
    +var defaultClient = FocalboardServer.ApiClient.instance;
    +
    +// Configure API key authorization: BearerAuth
    +var BearerAuth = defaultClient.authentications['BearerAuth'];
    +BearerAuth.apiKey = "YOUR API KEY";
    +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +//BearerAuth.apiKeyPrefix['Authorization'] = "Token";
    +
    +// Create an instance of the API class
    +var api = new FocalboardServer.DefaultApi()
    +var teamID = teamID_example; // {String} Team ID
    +
    +var callback = function(error, data, response) {
    +  if (error) {
    +    console.error(error);
    +  } else {
    +    console.log('API called successfully. Returned data: ' + data);
    +  }
    +};
    +api.getUserCategoryBoards(teamID, callback);
    +
    +
    + + +
    +
    using System;
    +using System.Diagnostics;
    +using Org.OpenAPITools.Api;
    +using Org.OpenAPITools.Client;
    +using Org.OpenAPITools.Model;
    +
    +namespace Example
    +{
    +    public class getUserCategoryBoardsExample
    +    {
    +        public void main()
    +        {
    +            // Configure API key authorization: BearerAuth
    +            Configuration.Default.ApiKey.Add("Authorization", "YOUR_API_KEY");
    +            // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +            // Configuration.Default.ApiKeyPrefix.Add("Authorization", "Bearer");
    +
    +            // Create an instance of the API class
    +            var apiInstance = new DefaultApi();
    +            var teamID = teamID_example;  // String | Team ID (default to null)
    +
    +            try {
    +                array[CategoryBoards] result = apiInstance.getUserCategoryBoards(teamID);
    +                Debug.WriteLine(result);
    +            } catch (Exception e) {
    +                Debug.Print("Exception when calling DefaultApi.getUserCategoryBoards: " + e.Message );
    +            }
    +        }
    +    }
    +}
    +
    +
    + +
    +
    <?php
    +require_once(__DIR__ . '/vendor/autoload.php');
    +
    +// Configure API key authorization: BearerAuth
    +OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKey('Authorization', 'YOUR_API_KEY');
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +// OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('Authorization', 'Bearer');
    +
    +// Create an instance of the API class
    +$api_instance = new OpenAPITools\Client\Api\DefaultApi();
    +$teamID = teamID_example; // String | Team ID
    +
    +try {
    +    $result = $api_instance->getUserCategoryBoards($teamID);
    +    print_r($result);
    +} catch (Exception $e) {
    +    echo 'Exception when calling DefaultApi->getUserCategoryBoards: ', $e->getMessage(), PHP_EOL;
    +}
    +?>
    +
    + +
    +
    use Data::Dumper;
    +use WWW::OPenAPIClient::Configuration;
    +use WWW::OPenAPIClient::DefaultApi;
    +
    +# Configure API key authorization: BearerAuth
    +$WWW::OPenAPIClient::Configuration::api_key->{'Authorization'} = 'YOUR_API_KEY';
    +# uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +#$WWW::OPenAPIClient::Configuration::api_key_prefix->{'Authorization'} = "Bearer";
    +
    +# Create an instance of the API class
    +my $api_instance = WWW::OPenAPIClient::DefaultApi->new();
    +my $teamID = teamID_example; # String | Team ID
    +
    +eval {
    +    my $result = $api_instance->getUserCategoryBoards(teamID => $teamID);
    +    print Dumper($result);
    +};
    +if ($@) {
    +    warn "Exception when calling DefaultApi->getUserCategoryBoards: $@\n";
    +}
    +
    + +
    +
    from __future__ import print_statement
    +import time
    +import openapi_client
    +from openapi_client.rest import ApiException
    +from pprint import pprint
    +
    +# Configure API key authorization: BearerAuth
    +openapi_client.configuration.api_key['Authorization'] = 'YOUR_API_KEY'
    +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +# openapi_client.configuration.api_key_prefix['Authorization'] = 'Bearer'
    +
    +# Create an instance of the API class
    +api_instance = openapi_client.DefaultApi()
    +teamID = teamID_example # String | Team ID (default to null)
    +
    +try:
    +    api_response = api_instance.get_user_category_boards(teamID)
    +    pprint(api_response)
    +except ApiException as e:
    +    print("Exception when calling DefaultApi->getUserCategoryBoards: %s\n" % e)
    +
    + +
    +
    extern crate DefaultApi;
    +
    +pub fn main() {
    +    let teamID = teamID_example; // String
    +
    +    let mut context = DefaultApi::Context::default();
    +    let result = client.getUserCategoryBoards(teamID, &context).wait();
    +
    +    println!("{:?}", result);
    +}
    +
    +
    +
    + +

    Scopes

    + + +
    + +

    Parameters

    + +
    Path parameters
    + + + + + + + + + +
    NameDescription
    teamID* + + +
    +
    +
    + + String + + +
    +Team ID +
    +
    +
    + Required +
    +
    +
    +
    + + + + + +

    Responses

    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    @@ -14725,9 +16591,6 @@ User ID } ], "modifiedBy" : "modifiedBy", "templateVersion" : 1, - "columnCalculations" : { - "key" : "{}" - }, "id" : "id", "channelId" : "channelId", "properties" : { @@ -14752,9 +16615,6 @@ User ID } ], "modifiedBy" : "modifiedBy", "templateVersion" : 1, - "columnCalculations" : { - "key" : "{}" - }, "id" : "id", "channelId" : "channelId", "properties" : { @@ -18432,11 +20292,7 @@ $(document).ready(function() { "updatedProperties" : { "key" : "{}" }, - "deletedColumnCalculations" : [ "deletedColumnCalculations", "deletedColumnCalculations" ], "icon" : "icon", - "updatedColumnCalculations" : { - "key" : "{}" - }, "deletedCardProperties" : [ "deletedCardProperties", "deletedCardProperties" ], "description" : "description", "updatedCardProperties" : [ { @@ -18979,11 +20835,7 @@ $(document).ready(function() { "updatedProperties" : { "key" : "{}" }, - "deletedColumnCalculations" : [ "deletedColumnCalculations", "deletedColumnCalculations" ], "icon" : "icon", - "updatedColumnCalculations" : { - "key" : "{}" - }, "deletedCardProperties" : [ "deletedCardProperties", "deletedCardProperties" ], "description" : "description", "updatedCardProperties" : [ { @@ -18999,11 +20851,7 @@ $(document).ready(function() { "updatedProperties" : { "key" : "{}" }, - "deletedColumnCalculations" : [ "deletedColumnCalculations", "deletedColumnCalculations" ], "icon" : "icon", - "updatedColumnCalculations" : { - "key" : "{}" - }, "deletedCardProperties" : [ "deletedCardProperties", "deletedCardProperties" ], "description" : "description", "updatedCardProperties" : [ { @@ -22609,6 +24457,1007 @@ $(document).ready(function() {

    +
    +
    +
    +

    updateCategory

    +

    +
    +
    +
    +

    +

    Create a category for boards

    +

    +
    +
    /teams/{teamID}/categories/{categoryID}
    +

    +

    Usage and SDK Samples

    +

    + + +
    +
    +
    curl -X PUT \
    +-H "Authorization: [[apiKey]]" \
    + -H "Accept: application/json" \
    + -H "Content-Type: application/json" \
    + "http://localhost/api/v2/teams/{teamID}/categories/{categoryID}" \
    + -d '{
    +  "deleteAt" : 6,
    +  "teamID" : "teamID",
    +  "name" : "name",
    +  "updateAt" : 1,
    +  "id" : "id",
    +  "userID" : "userID",
    +  "createAt" : 0
    +}'
    +
    +
    +
    +
    import org.openapitools.client.*;
    +import org.openapitools.client.auth.*;
    +import org.openapitools.client.model.*;
    +import org.openapitools.client.api.DefaultApi;
    +
    +import java.io.File;
    +import java.util.*;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        ApiClient defaultClient = Configuration.getDefaultApiClient();
    +        
    +        // Configure API key authorization: BearerAuth
    +        ApiKeyAuth BearerAuth = (ApiKeyAuth) defaultClient.getAuthentication("BearerAuth");
    +        BearerAuth.setApiKey("YOUR API KEY");
    +        // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +        //BearerAuth.setApiKeyPrefix("Token");
    +
    +        // Create an instance of the API class
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +        String categoryID = categoryID_example; // String | Category ID
    +        Category body = ; // Category | 
    +
    +        try {
    +            Category result = apiInstance.updateCategory(teamID, categoryID, body);
    +            System.out.println(result);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#updateCategory");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    +
    + +
    +
    import org.openapitools.client.api.DefaultApi;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +        String categoryID = categoryID_example; // String | Category ID
    +        Category body = ; // Category | 
    +
    +        try {
    +            Category result = apiInstance.updateCategory(teamID, categoryID, body);
    +            System.out.println(result);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#updateCategory");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    + +
    +
    Configuration *apiConfig = [Configuration sharedConfig];
    +
    +// Configure API key authorization: (authentication scheme: BearerAuth)
    +[apiConfig setApiKey:@"YOUR_API_KEY" forApiKeyIdentifier:@"Authorization"];
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +//[apiConfig setApiKeyPrefix:@"Bearer" forApiKeyIdentifier:@"Authorization"];
    +
    +
    +// Create an instance of the API class
    +DefaultApi *apiInstance = [[DefaultApi alloc] init];
    +String *teamID = teamID_example; // Team ID (default to null)
    +String *categoryID = categoryID_example; // Category ID (default to null)
    +Category *body = ; // 
    +
    +[apiInstance updateCategoryWith:teamID
    +    categoryID:categoryID
    +    body:body
    +              completionHandler: ^(Category output, NSError* error) {
    +    if (output) {
    +        NSLog(@"%@", output);
    +    }
    +    if (error) {
    +        NSLog(@"Error: %@", error);
    +    }
    +}];
    +
    +
    + +
    +
    var FocalboardServer = require('focalboard_server');
    +var defaultClient = FocalboardServer.ApiClient.instance;
    +
    +// Configure API key authorization: BearerAuth
    +var BearerAuth = defaultClient.authentications['BearerAuth'];
    +BearerAuth.apiKey = "YOUR API KEY";
    +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +//BearerAuth.apiKeyPrefix['Authorization'] = "Token";
    +
    +// Create an instance of the API class
    +var api = new FocalboardServer.DefaultApi()
    +var teamID = teamID_example; // {String} Team ID
    +var categoryID = categoryID_example; // {String} Category ID
    +var body = ; // {Category} 
    +
    +var callback = function(error, data, response) {
    +  if (error) {
    +    console.error(error);
    +  } else {
    +    console.log('API called successfully. Returned data: ' + data);
    +  }
    +};
    +api.updateCategory(teamID, categoryID, body, callback);
    +
    +
    + + +
    +
    using System;
    +using System.Diagnostics;
    +using Org.OpenAPITools.Api;
    +using Org.OpenAPITools.Client;
    +using Org.OpenAPITools.Model;
    +
    +namespace Example
    +{
    +    public class updateCategoryExample
    +    {
    +        public void main()
    +        {
    +            // Configure API key authorization: BearerAuth
    +            Configuration.Default.ApiKey.Add("Authorization", "YOUR_API_KEY");
    +            // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +            // Configuration.Default.ApiKeyPrefix.Add("Authorization", "Bearer");
    +
    +            // Create an instance of the API class
    +            var apiInstance = new DefaultApi();
    +            var teamID = teamID_example;  // String | Team ID (default to null)
    +            var categoryID = categoryID_example;  // String | Category ID (default to null)
    +            var body = new Category(); // Category | 
    +
    +            try {
    +                Category result = apiInstance.updateCategory(teamID, categoryID, body);
    +                Debug.WriteLine(result);
    +            } catch (Exception e) {
    +                Debug.Print("Exception when calling DefaultApi.updateCategory: " + e.Message );
    +            }
    +        }
    +    }
    +}
    +
    +
    + +
    +
    <?php
    +require_once(__DIR__ . '/vendor/autoload.php');
    +
    +// Configure API key authorization: BearerAuth
    +OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKey('Authorization', 'YOUR_API_KEY');
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +// OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('Authorization', 'Bearer');
    +
    +// Create an instance of the API class
    +$api_instance = new OpenAPITools\Client\Api\DefaultApi();
    +$teamID = teamID_example; // String | Team ID
    +$categoryID = categoryID_example; // String | Category ID
    +$body = ; // Category | 
    +
    +try {
    +    $result = $api_instance->updateCategory($teamID, $categoryID, $body);
    +    print_r($result);
    +} catch (Exception $e) {
    +    echo 'Exception when calling DefaultApi->updateCategory: ', $e->getMessage(), PHP_EOL;
    +}
    +?>
    +
    + +
    +
    use Data::Dumper;
    +use WWW::OPenAPIClient::Configuration;
    +use WWW::OPenAPIClient::DefaultApi;
    +
    +# Configure API key authorization: BearerAuth
    +$WWW::OPenAPIClient::Configuration::api_key->{'Authorization'} = 'YOUR_API_KEY';
    +# uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +#$WWW::OPenAPIClient::Configuration::api_key_prefix->{'Authorization'} = "Bearer";
    +
    +# Create an instance of the API class
    +my $api_instance = WWW::OPenAPIClient::DefaultApi->new();
    +my $teamID = teamID_example; # String | Team ID
    +my $categoryID = categoryID_example; # String | Category ID
    +my $body = WWW::OPenAPIClient::Object::Category->new(); # Category | 
    +
    +eval {
    +    my $result = $api_instance->updateCategory(teamID => $teamID, categoryID => $categoryID, body => $body);
    +    print Dumper($result);
    +};
    +if ($@) {
    +    warn "Exception when calling DefaultApi->updateCategory: $@\n";
    +}
    +
    + +
    +
    from __future__ import print_statement
    +import time
    +import openapi_client
    +from openapi_client.rest import ApiException
    +from pprint import pprint
    +
    +# Configure API key authorization: BearerAuth
    +openapi_client.configuration.api_key['Authorization'] = 'YOUR_API_KEY'
    +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +# openapi_client.configuration.api_key_prefix['Authorization'] = 'Bearer'
    +
    +# Create an instance of the API class
    +api_instance = openapi_client.DefaultApi()
    +teamID = teamID_example # String | Team ID (default to null)
    +categoryID = categoryID_example # String | Category ID (default to null)
    +body =  # Category | 
    +
    +try:
    +    api_response = api_instance.update_category(teamID, categoryID, body)
    +    pprint(api_response)
    +except ApiException as e:
    +    print("Exception when calling DefaultApi->updateCategory: %s\n" % e)
    +
    + +
    +
    extern crate DefaultApi;
    +
    +pub fn main() {
    +    let teamID = teamID_example; // String
    +    let categoryID = categoryID_example; // String
    +    let body = ; // Category
    +
    +    let mut context = DefaultApi::Context::default();
    +    let result = client.updateCategory(teamID, categoryID, body, &context).wait();
    +
    +    println!("{:?}", result);
    +}
    +
    +
    +
    + +

    Scopes

    + + +
    + +

    Parameters

    + +
    Path parameters
    + + + + + + + + + + + + + +
    NameDescription
    teamID* + + +
    +
    +
    + + String + + +
    +Team ID +
    +
    +
    + Required +
    +
    +
    +
    categoryID* + + +
    +
    +
    + + String + + +
    +Category ID +
    +
    +
    + Required +
    +
    +
    +
    + + +
    Body parameters
    + + + + + + + + + +
    NameDescription
    body * +

    category to update

    + +
    +
    + + + +

    Responses

    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    +

    updateCategoryBoard

    +

    +
    +
    +
    +

    +

    Set the category of a board

    +

    +
    +
    /teams/{teamID}/categories/{categoryID}/boards/{boardID}
    +

    +

    Usage and SDK Samples

    +

    + + +
    +
    +
    curl -X POST \
    +-H "Authorization: [[apiKey]]" \
    + -H "Accept: application/json" \
    + "http://localhost/api/v2/teams/{teamID}/categories/{categoryID}/boards/{boardID}"
    +
    +
    +
    +
    import org.openapitools.client.*;
    +import org.openapitools.client.auth.*;
    +import org.openapitools.client.model.*;
    +import org.openapitools.client.api.DefaultApi;
    +
    +import java.io.File;
    +import java.util.*;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        ApiClient defaultClient = Configuration.getDefaultApiClient();
    +        
    +        // Configure API key authorization: BearerAuth
    +        ApiKeyAuth BearerAuth = (ApiKeyAuth) defaultClient.getAuthentication("BearerAuth");
    +        BearerAuth.setApiKey("YOUR API KEY");
    +        // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +        //BearerAuth.setApiKeyPrefix("Token");
    +
    +        // Create an instance of the API class
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +        String categoryID = categoryID_example; // String | Category ID
    +        String boardID = boardID_example; // String | Board ID
    +
    +        try {
    +            apiInstance.updateCategoryBoard(teamID, categoryID, boardID);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#updateCategoryBoard");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    +
    + +
    +
    import org.openapitools.client.api.DefaultApi;
    +
    +public class DefaultApiExample {
    +    public static void main(String[] args) {
    +        DefaultApi apiInstance = new DefaultApi();
    +        String teamID = teamID_example; // String | Team ID
    +        String categoryID = categoryID_example; // String | Category ID
    +        String boardID = boardID_example; // String | Board ID
    +
    +        try {
    +            apiInstance.updateCategoryBoard(teamID, categoryID, boardID);
    +        } catch (ApiException e) {
    +            System.err.println("Exception when calling DefaultApi#updateCategoryBoard");
    +            e.printStackTrace();
    +        }
    +    }
    +}
    +
    + +
    +
    Configuration *apiConfig = [Configuration sharedConfig];
    +
    +// Configure API key authorization: (authentication scheme: BearerAuth)
    +[apiConfig setApiKey:@"YOUR_API_KEY" forApiKeyIdentifier:@"Authorization"];
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +//[apiConfig setApiKeyPrefix:@"Bearer" forApiKeyIdentifier:@"Authorization"];
    +
    +
    +// Create an instance of the API class
    +DefaultApi *apiInstance = [[DefaultApi alloc] init];
    +String *teamID = teamID_example; // Team ID (default to null)
    +String *categoryID = categoryID_example; // Category ID (default to null)
    +String *boardID = boardID_example; // Board ID (default to null)
    +
    +[apiInstance updateCategoryBoardWith:teamID
    +    categoryID:categoryID
    +    boardID:boardID
    +              completionHandler: ^(NSError* error) {
    +    if (error) {
    +        NSLog(@"Error: %@", error);
    +    }
    +}];
    +
    +
    + +
    +
    var FocalboardServer = require('focalboard_server');
    +var defaultClient = FocalboardServer.ApiClient.instance;
    +
    +// Configure API key authorization: BearerAuth
    +var BearerAuth = defaultClient.authentications['BearerAuth'];
    +BearerAuth.apiKey = "YOUR API KEY";
    +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
    +//BearerAuth.apiKeyPrefix['Authorization'] = "Token";
    +
    +// Create an instance of the API class
    +var api = new FocalboardServer.DefaultApi()
    +var teamID = teamID_example; // {String} Team ID
    +var categoryID = categoryID_example; // {String} Category ID
    +var boardID = boardID_example; // {String} Board ID
    +
    +var callback = function(error, data, response) {
    +  if (error) {
    +    console.error(error);
    +  } else {
    +    console.log('API called successfully.');
    +  }
    +};
    +api.updateCategoryBoard(teamID, categoryID, boardID, callback);
    +
    +
    + + +
    +
    using System;
    +using System.Diagnostics;
    +using Org.OpenAPITools.Api;
    +using Org.OpenAPITools.Client;
    +using Org.OpenAPITools.Model;
    +
    +namespace Example
    +{
    +    public class updateCategoryBoardExample
    +    {
    +        public void main()
    +        {
    +            // Configure API key authorization: BearerAuth
    +            Configuration.Default.ApiKey.Add("Authorization", "YOUR_API_KEY");
    +            // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +            // Configuration.Default.ApiKeyPrefix.Add("Authorization", "Bearer");
    +
    +            // Create an instance of the API class
    +            var apiInstance = new DefaultApi();
    +            var teamID = teamID_example;  // String | Team ID (default to null)
    +            var categoryID = categoryID_example;  // String | Category ID (default to null)
    +            var boardID = boardID_example;  // String | Board ID (default to null)
    +
    +            try {
    +                apiInstance.updateCategoryBoard(teamID, categoryID, boardID);
    +            } catch (Exception e) {
    +                Debug.Print("Exception when calling DefaultApi.updateCategoryBoard: " + e.Message );
    +            }
    +        }
    +    }
    +}
    +
    +
    + +
    +
    <?php
    +require_once(__DIR__ . '/vendor/autoload.php');
    +
    +// Configure API key authorization: BearerAuth
    +OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKey('Authorization', 'YOUR_API_KEY');
    +// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +// OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('Authorization', 'Bearer');
    +
    +// Create an instance of the API class
    +$api_instance = new OpenAPITools\Client\Api\DefaultApi();
    +$teamID = teamID_example; // String | Team ID
    +$categoryID = categoryID_example; // String | Category ID
    +$boardID = boardID_example; // String | Board ID
    +
    +try {
    +    $api_instance->updateCategoryBoard($teamID, $categoryID, $boardID);
    +} catch (Exception $e) {
    +    echo 'Exception when calling DefaultApi->updateCategoryBoard: ', $e->getMessage(), PHP_EOL;
    +}
    +?>
    +
    + +
    +
    use Data::Dumper;
    +use WWW::OPenAPIClient::Configuration;
    +use WWW::OPenAPIClient::DefaultApi;
    +
    +# Configure API key authorization: BearerAuth
    +$WWW::OPenAPIClient::Configuration::api_key->{'Authorization'} = 'YOUR_API_KEY';
    +# uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +#$WWW::OPenAPIClient::Configuration::api_key_prefix->{'Authorization'} = "Bearer";
    +
    +# Create an instance of the API class
    +my $api_instance = WWW::OPenAPIClient::DefaultApi->new();
    +my $teamID = teamID_example; # String | Team ID
    +my $categoryID = categoryID_example; # String | Category ID
    +my $boardID = boardID_example; # String | Board ID
    +
    +eval {
    +    $api_instance->updateCategoryBoard(teamID => $teamID, categoryID => $categoryID, boardID => $boardID);
    +};
    +if ($@) {
    +    warn "Exception when calling DefaultApi->updateCategoryBoard: $@\n";
    +}
    +
    + +
    +
    from __future__ import print_statement
    +import time
    +import openapi_client
    +from openapi_client.rest import ApiException
    +from pprint import pprint
    +
    +# Configure API key authorization: BearerAuth
    +openapi_client.configuration.api_key['Authorization'] = 'YOUR_API_KEY'
    +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
    +# openapi_client.configuration.api_key_prefix['Authorization'] = 'Bearer'
    +
    +# Create an instance of the API class
    +api_instance = openapi_client.DefaultApi()
    +teamID = teamID_example # String | Team ID (default to null)
    +categoryID = categoryID_example # String | Category ID (default to null)
    +boardID = boardID_example # String | Board ID (default to null)
    +
    +try:
    +    api_instance.update_category_board(teamID, categoryID, boardID)
    +except ApiException as e:
    +    print("Exception when calling DefaultApi->updateCategoryBoard: %s\n" % e)
    +
    + +
    +
    extern crate DefaultApi;
    +
    +pub fn main() {
    +    let teamID = teamID_example; // String
    +    let categoryID = categoryID_example; // String
    +    let boardID = boardID_example; // String
    +
    +    let mut context = DefaultApi::Context::default();
    +    let result = client.updateCategoryBoard(teamID, categoryID, boardID, &context).wait();
    +
    +    println!("{:?}", result);
    +}
    +
    +
    +
    + +

    Scopes

    + + +
    + +

    Parameters

    + +
    Path parameters
    + + + + + + + + + + + + + + + + + +
    NameDescription
    teamID* + + +
    +
    +
    + + String + + +
    +Team ID +
    +
    +
    + Required +
    +
    +
    +
    categoryID* + + +
    +
    +
    + + String + + +
    +Category ID +
    +
    +
    + Required +
    +
    +
    +
    boardID* + + +
    +
    +
    + + String + + +
    +Board ID +
    +
    +
    + Required +
    +
    +
    +
    + + + + + +

    Responses

    +

    +

    + + + + + + +
    +
    +

    +

    + + + + + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    diff --git a/server/swagger/swagger.yml b/server/swagger/swagger.yml index c2fc347ba..8d0f05f11 100644 --- a/server/swagger/swagger.yml +++ b/server/swagger/swagger.yml @@ -10,7 +10,7 @@ definitions: type: string x-go-name: BoardID createAt: - description: The creation time + description: The creation time in miliseconds since the current epoch format: int64 type: integer x-go-name: CreateAt @@ -19,7 +19,7 @@ definitions: type: string x-go-name: CreatedBy deleteAt: - description: The deleted time. Set to indicate this block is deleted + description: The deleted time in miliseconds since the current epoch. Set to indicate this block is deleted format: int64 type: integer x-go-name: DeleteAt @@ -53,7 +53,7 @@ definitions: type: $ref: '#/definitions/BlockType' updateAt: - description: The last modified time + description: The last modified time in miliseconds since the current epoch format: int64 type: integer x-go-name: UpdateAt @@ -140,14 +140,8 @@ definitions: description: The ID of the channel that the board was created from type: string x-go-name: ChannelID - columnCalculations: - additionalProperties: - type: object - description: The calculations on the board's cards - type: object - x-go-name: ColumnCalculations createAt: - description: The creation time + description: The creation time in miliseconds since the current epoch format: int64 type: integer x-go-name: CreateAt @@ -156,7 +150,7 @@ definitions: type: string x-go-name: CreatedBy deleteAt: - description: The deleted time. Set to indicate this block is deleted + description: The deleted time in miliseconds since the current epoch. Set to indicate this block is deleted format: int64 type: integer x-go-name: DeleteAt @@ -206,7 +200,7 @@ definitions: type: $ref: '#/definitions/BoardType' updateAt: - description: The last modified time + description: The last modified time in miliseconds since the current epoch format: int64 type: integer x-go-name: UpdateAt @@ -221,8 +215,7 @@ definitions: type: object x-go-package: github.com/mattermost/focalboard/server/model BoardMember: - description: BoardMember stores the information of the membership of a user on - a board + description: BoardMember stores the information of the membership of a user on a board properties: boardId: description: The ID of the board @@ -262,8 +255,7 @@ definitions: type: object x-go-package: github.com/mattermost/focalboard/server/model BoardMemberHistoryEntry: - description: BoardMemberHistoryEntry stores the information of the membership - of a user on a board + description: BoardMemberHistoryEntry stores the information of the membership of a user on a board properties: action: description: The action that added this history entry (created or deleted) @@ -275,8 +267,8 @@ definitions: x-go-name: BoardID insertAt: description: The insertion time - format: int64 - type: integer + format: date-time + type: string x-go-name: InsertAt userId: description: The ID of the user @@ -300,20 +292,17 @@ definitions: type: string x-go-name: CreatedBy descendantFirstUpdateAt: - description: The earliest time a descendant of this board was added, modified, - or deleted + description: The earliest time a descendant of this board was added, modified, or deleted format: int64 type: integer x-go-name: DescendantFirstUpdateAt descendantLastUpdateAt: - description: The most recent time a descendant of this board was added, modified, - or deleted + description: The most recent time a descendant of this board was added, modified, or deleted format: int64 type: integer x-go-name: DescendantLastUpdateAt lastModifiedBy: - description: The ID of the user that last modified the most recently modified - descendant + description: The ID of the user that last modified the most recently modified descendant type: string x-go-name: LastModifiedBy required: @@ -333,12 +322,6 @@ definitions: type: string type: array x-go-name: DeletedCardProperties - deletedColumnCalculations: - description: The board deleted column calculations - items: - type: string - type: array - x-go-name: DeletedColumnCalculations deletedProperties: description: The board removed properties items: @@ -371,12 +354,6 @@ definitions: type: object type: array x-go-name: UpdatedCardProperties - updatedColumnCalculations: - additionalProperties: - type: object - description: The board updated column calculations - type: object - x-go-name: UpdatedColumnCalculations updatedProperties: additionalProperties: type: object @@ -407,6 +384,99 @@ definitions: x-go-name: Boards type: object x-go-package: github.com/mattermost/focalboard/server/model + Category: + description: Category is a board category + properties: + createAt: + description: The creation time in miliseconds since the current epoch + format: int64 + type: integer + x-go-name: CreateAt + deleteAt: + description: The deleted time in miliseconds since the current epoch. Set to indicate this category is deleted + format: int64 + type: integer + x-go-name: DeleteAt + id: + description: The id for this category + type: string + x-go-name: ID + name: + description: The name for this category + type: string + x-go-name: Name + teamID: + description: The team id for this category + type: string + x-go-name: TeamID + updateAt: + description: The last modified time in miliseconds since the current epoch + format: int64 + type: integer + x-go-name: UpdateAt + userID: + description: The user's id for this category + type: string + x-go-name: UserID + required: + - id + - name + - userID + - teamID + - createAt + - updateAt + type: object + x-go-package: github.com/mattermost/focalboard/server/model + CategoryBoards: + description: CategoryBoards is a board category and associated boards + properties: + boardIDs: + description: The IDs of boards in this category + items: + type: string + type: array + x-go-name: BoardIDs + createAt: + description: The creation time in miliseconds since the current epoch + format: int64 + type: integer + x-go-name: CreateAt + deleteAt: + description: The deleted time in miliseconds since the current epoch. Set to indicate this category is deleted + format: int64 + type: integer + x-go-name: DeleteAt + id: + description: The id for this category + type: string + x-go-name: ID + name: + description: The name for this category + type: string + x-go-name: Name + teamID: + description: The team id for this category + type: string + x-go-name: TeamID + updateAt: + description: The last modified time in miliseconds since the current epoch + format: int64 + type: integer + x-go-name: UpdateAt + userID: + description: The user's id for this category + type: string + x-go-name: UserID + required: + - id + - name + - userID + - teamID + - createAt + - updateAt + - boardIDs + type: object + x-go-package: github.com/mattermost/focalboard/server/model ChangePasswordRequest: description: ChangePasswordRequest is a user password change request properties: @@ -423,6 +493,34 @@ definitions: - newPassword type: object x-go-package: github.com/mattermost/focalboard/server/api + ClientConfig: + description: ClientConfig is the client configuration + properties: + enablePublicSharedBoards: + description: Is public shared boards enabled + type: boolean + x-go-name: EnablePublicSharedBoards + featureFlags: + additionalProperties: + type: string + description: The server feature flags + type: object + x-go-name: FeatureFlags + telemetry: + description: Is telemetry enabled + type: boolean + x-go-name: Telemetry + telemetryid: + description: The telemetry ID + type: string + x-go-name: TelemetryID + required: + - telemetry + - telemetryid + - enablePublicSharedBoards + - featureFlags + type: object + x-go-package: github.com/mattermost/focalboard/server/model DeleteBoardsAndBlocks: description: |- DeleteBoardsAndBlocks is used to list the boards and blocks to @@ -517,7 +615,7 @@ definitions: block_type: $ref: '#/definitions/BlockType' create_at: - description: CreatedAt is the timestamp this notification hint was created + description: CreatedAt is the timestamp this notification hint was created in miliseconds since the current epoch format: int64 type: integer x-go-name: CreateAt @@ -526,7 +624,7 @@ definitions: type: string x-go-name: ModifiedByID notify_at: - description: NotifyAt is the timestamp this notification should be scheduled + description: NotifyAt is the timestamp this notification should be scheduled in miliseconds since the current epoch format: int64 type: integer x-go-name: NotifyAt @@ -619,7 +717,7 @@ definitions: type: string x-go-name: Token update_at: - description: Updated time + description: Updated time in miliseconds since the current epoch format: int64 type: integer x-go-name: UpdateAt @@ -632,8 +730,7 @@ definitions: type: object x-go-package: github.com/mattermost/focalboard/server/model Subscriber: - description: Subscriber is an entity (e.g. user, channel) that can subscribe to - events from boards, cards, etc + description: Subscriber is an entity (e.g. user, channel) that can subscribe to events from boards, cards, etc properties: notified_at: description: NotifiedAt is the timestamp this subscriber was last notified @@ -663,19 +760,17 @@ definitions: blockType: $ref: '#/definitions/BlockType' createAt: - description: CreatedAt is the timestamp this subscription was created + description: CreatedAt is the timestamp this subscription was created in miliseconds since the current epoch format: int64 type: integer x-go-name: CreateAt deleteAt: - description: DeleteAt is the timestamp this subscription was deleted, or zero - if not deleted + description: DeleteAt is the timestamp this subscription was deleted in miliseconds since the current epoch, or zero if not deleted format: int64 type: integer x-go-name: DeleteAt notifiedAt: - description: NotifiedAt is the timestamp of the last notification sent for - this subscription + description: NotifiedAt is the timestamp of the last notification sent for this subscription format: int64 type: integer x-go-name: NotifiedAt @@ -722,7 +817,7 @@ definitions: type: string x-go-name: Title updateAt: - description: Updated time + description: Updated time in miliseconds since the current epoch format: int64 type: integer x-go-name: UpdateAt @@ -737,12 +832,12 @@ definitions: description: User is a user properties: create_at: - description: Created time + description: Created time in miliseconds since the current epoch format: int64 type: integer x-go-name: CreateAt delete_at: - description: Deleted time, set to indicate user is deleted + description: Deleted time in miliseconds since the current epoch, set to indicate user is deleted format: int64 type: integer x-go-name: DeleteAt @@ -765,7 +860,7 @@ definitions: type: object x-go-name: Props update_at: - description: Updated time + description: Updated time in miliseconds since the current epoch format: int64 type: integer x-go-name: UpdateAt @@ -1516,6 +1611,21 @@ paths: $ref: '#/definitions/ErrorResponse' security: - BearerAuth: [] + /clientConfig: + get: + description: Returns the client configuration + operationId: getClientConfig + produces: + - application/json + responses: + "200": + description: success + schema: + $ref: '#/definitions/ClientConfig' + default: + description: internal error + schema: + $ref: '#/definitions/ErrorResponse' /login: post: description: Login user @@ -1602,8 +1712,7 @@ paths: $ref: '#/definitions/ErrorResponse' security: - BearerAuth: [] - summary: Creates a subscription to a block for a user. The user will receive - change notifications for the block. + summary: Creates a subscription to a block for a user. The user will receive change notifications for the block. /subscriptions/{blockID}/{subscriberID}: delete: operationId: deleteSubscription @@ -1629,8 +1738,7 @@ paths: $ref: '#/definitions/ErrorResponse' security: - BearerAuth: [] - summary: Deletes a subscription a user has for a a block. The user will no longer - receive change notifications for the block. + summary: Deletes a subscription a user has for a a block. The user will no longer receive change notifications for the block. /subscriptions/{subscriberID}: get: operationId: getSubscriptions @@ -1861,6 +1969,149 @@ paths: $ref: '#/definitions/ErrorResponse' security: - BearerAuth: [] + /teams/{teamID}/categories: + get: + description: Gets the user's board categories + operationId: getUserCategoryBoards + parameters: + - description: Team ID + in: path + name: teamID + required: true + type: string + produces: + - application/json + responses: + "200": + description: success + schema: + items: + $ref: '#/definitions/CategoryBoards' + type: array + default: + description: internal error + schema: + $ref: '#/definitions/ErrorResponse' + security: + - BearerAuth: [] + post: + description: Create a category for boards + operationId: createCategory + parameters: + - description: Team ID + in: path + name: teamID + required: true + type: string + - description: category to create + in: body + name: Body + required: true + schema: + $ref: '#/definitions/Category' + produces: + - application/json + responses: + "200": + description: success + schema: + $ref: '#/definitions/Category' + default: + description: internal error + schema: + $ref: '#/definitions/ErrorResponse' + security: + - BearerAuth: [] + /teams/{teamID}/categories/{categoryID}: + delete: + description: Delete a category + operationId: deleteCategory + parameters: + - description: Team ID + in: path + name: teamID + required: true + type: string + - description: Category ID + in: path + name: categoryID + required: true + type: string + produces: + - application/json + responses: + "200": + description: success + default: + description: internal error + schema: + $ref: '#/definitions/ErrorResponse' + security: + - BearerAuth: [] + put: + description: Create a category for boards + operationId: updateCategory + parameters: + - description: Team ID + in: path + name: teamID + required: true + type: string + - description: Category ID + in: path + name: categoryID + required: true + type: string + - description: category to update + in: body + name: Body + required: true + schema: + $ref: '#/definitions/Category' + produces: + - application/json + responses: + "200": + description: success + schema: + $ref: '#/definitions/Category' + default: + description: internal error + schema: + $ref: '#/definitions/ErrorResponse' + security: + - BearerAuth: [] + /teams/{teamID}/categories/{categoryID}/boards/{boardID}: + post: + description: Set the category of a board + operationId: updateCategoryBoard + parameters: + - description: Team ID + in: path + name: teamID + required: true + type: string + - description: Category ID + in: path + name: categoryID + required: true + type: string + - description: Board ID + in: path + name: boardID + required: true + type: string + produces: + - application/json + responses: + "200": + description: success + default: + description: internal error + schema: + $ref: '#/definitions/ErrorResponse' + security: + - BearerAuth: [] /teams/{teamID}/regenerate_signup_token: post: description: Regenerates the signup token for the root team @@ -2060,8 +2311,7 @@ schemes: - https securityDefinitions: BearerAuth: - description: 'Pass session token using Bearer authentication, e.g. set header - "Authorization: Bearer "' + description: 'Pass session token using Bearer authentication, e.g. set header "Authorization: Bearer "' in: header name: Authorization type: apiKey