{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Meeds Portal Rest APIs",
    "description" : "Meeds Portal used Rest endpoints",
    "license" : {
      "name" : "LGPL",
      "url" : "https://www.gnu.org/licenses/lgpl-3.0.en.html"
    },
    "version" : "1.0"
  },
  "tags" : [ {
    "name" : "/v1/platform/branding",
    "description" : "Managing branding information"
  }, {
    "name" : "v1/navigations",
    "description" : "Retrieve sites navigations"
  }, {
    "name" : "v1/groups",
    "description" : "Manages groups operations"
  }, {
    "name" : "v1/membershipTypes",
    "description" : "Manage membership types operations"
  }, {
    "name" : "v1/users",
    "description" : "Manage User operations"
  }, {
    "name" : "/v1/settings",
    "description" : "Managing settings"
  } ],
  "paths" : {
    "/v1/groups" : {
      "get" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Gets groups",
        "description" : "Gets groups",
        "operationId" : "getGroups",
        "parameters" : [ {
          "name" : "q",
          "in" : "query",
          "description" : "Search text to filter groups",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "tree",
          "in" : "query",
          "description" : "Whether build tree until results or not",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "returnSize",
          "in" : "query",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "expand",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      },
      "put" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Updates an existing Group",
        "description" : "Updates an existing Group",
        "operationId" : "updateGroup",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GroupImpl"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      },
      "post" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Creates a new group",
        "description" : "Creates a new group",
        "operationId" : "createGroup",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GroupImpl"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      },
      "delete" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Deletes an existing Group",
        "description" : "Deletes an existing Group",
        "operationId" : "deleteGroup",
        "parameters" : [ {
          "name" : "groupId",
          "in" : "query",
          "description" : "Group id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/groups/memberships" : {
      "get" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Gets Group memberships list",
        "description" : "Gets Group memberships list",
        "operationId" : "getGroupMemberships",
        "parameters" : [ {
          "name" : "groupId",
          "in" : "query",
          "description" : "Group identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20
          }
        }, {
          "name" : "returnSize",
          "in" : "query",
          "description" : "Returning the number of users found or not",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "404" : {
            "description" : "Group not found"
          },
          "500" : {
            "description" : "Internal server error due to data encoding"
          }
        }
      },
      "put" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Updates an existing membership",
        "description" : "Updates an existing membership",
        "operationId" : "updateMembership",
        "parameters" : [ {
          "name" : "membershipId",
          "in" : "query",
          "description" : "Membership identifier with format: MEMBERSHIP_TYPE:GROUP_ID:USER_NAME",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Membership object",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MembershipImpl"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      },
      "post" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Creates a new membership",
        "description" : "Creates a new membership",
        "operationId" : "createMembership",
        "requestBody" : {
          "description" : "Membership Object",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MembershipImpl"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      },
      "delete" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Deletes an existing membership",
        "description" : "Deletes an existing membership",
        "operationId" : "deleteMembership",
        "parameters" : [ {
          "name" : "membershipId",
          "in" : "query",
          "description" : "Membership identifier with format: MEMBERSHIP_TYPE:USER_NAME:GROUP_ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/groups/memberships/bulk" : {
      "post" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Creates new memberships",
        "description" : "Creates new memberships",
        "operationId" : "createMultipleMembership",
        "requestBody" : {
          "description" : "List of membership objects",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/MembershipImpl"
                }
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/groups/tree" : {
      "get" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Gets groups tree",
        "description" : "Gets groups tree",
        "operationId" : "getGroupsTree",
        "parameters" : [ {
          "name" : "parentId",
          "in" : "query",
          "description" : "Parent groupId to search",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "q",
          "in" : "query",
          "description" : "Search text to filter groups",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "returnSize",
          "in" : "query",
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/groups/treeMembers" : {
      "get" : {
        "tags" : [ "v1/groups" ],
        "summary" : "Gets groups tree",
        "description" : "Gets groups tree",
        "operationId" : "getGroupsTreeMembers",
        "parameters" : [ {
          "name" : "q",
          "in" : "query",
          "description" : "Search text to filter groups",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupMember",
          "in" : "query",
          "description" : "Group member",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupType",
          "in" : "query",
          "description" : "Group type",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "returnSize",
          "in" : "query",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "allGroupsForAdmin",
          "in" : "query",
          "description" : "allGroupsForAdmin",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "excludeParentGroup",
          "in" : "query",
          "description" : "List of excluded parent/type groups",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CollectionEntity"
                }
              }
            }
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/membershipTypes" : {
      "get" : {
        "tags" : [ "v1/membershipTypes" ],
        "summary" : "Gets membership types",
        "description" : "Gets membership types",
        "operationId" : "getMembershipType",
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      },
      "put" : {
        "tags" : [ "v1/membershipTypes" ],
        "summary" : "Updates an existing membership type",
        "description" : "Updates an existing membership type",
        "operationId" : "updateMembershipType",
        "requestBody" : {
          "description" : "Membership type object",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MembershipTypeImpl"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      },
      "post" : {
        "tags" : [ "v1/membershipTypes" ],
        "summary" : "Creates a new membership type",
        "description" : "Creates a new membership type",
        "operationId" : "createMembershipType",
        "requestBody" : {
          "description" : "Membership type object",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MembershipTypeImpl"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/membershipTypes/{membershipType}" : {
      "delete" : {
        "tags" : [ "v1/membershipTypes" ],
        "summary" : "Deletes an existing membership type",
        "description" : "Deletes an existing membership type",
        "operationId" : "deleteMembershipType",
        "parameters" : [ {
          "name" : "membershipType",
          "in" : "path",
          "description" : "Membership type name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/navigations" : {
      "get" : {
        "tags" : [ "v1/navigations" ],
        "summary" : "Gets navigations",
        "description" : "Gets navigations",
        "operationId" : "getSiteNavigation",
        "parameters" : [ {
          "name" : "offset",
          "in" : "query",
          "description" : "Offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit, if equals to 0, it will use default limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Invalid query input"
          },
          "404" : {
            "description" : "Navigation does not exist"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/navigations/{siteType}" : {
      "get" : {
        "tags" : [ "v1/navigations" ],
        "summary" : "Gets navigations of one or multiple site navigations",
        "description" : "Gets navigations of one or multiple site navigations",
        "operationId" : "getSiteTypeNavigations",
        "parameters" : [ {
          "name" : "siteType",
          "in" : "path",
          "description" : "Portal site type, possible values: PORTAL, GROUP or USER",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "siteName",
          "in" : "query",
          "description" : "Portal site name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scope",
          "in" : "query",
          "description" : "Scope of navigations tree to retrieve, possible values: ALL, CHILDREN, GRANDCHILDREN, SINGLE",
          "schema" : {
            "type" : "string",
            "default" : "ALL"
          }
        }, {
          "name" : "nodeId",
          "in" : "query",
          "description" : "parent navigation node id",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "visibility",
          "in" : "query",
          "description" : "Multivalued visibilities of navigation nodes to retrieve, possible values: DISPLAYED, HIDDEN, SYSTEM or TEMPORAL. If empty, all visibilities will be used.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "default" : "All possible values combined"
            },
            "default" : "All possible values combined"
          }
        }, {
          "name" : "includeGlobal",
          "in" : "query",
          "description" : "if to include Global site in results in portal type case",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "expand",
          "in" : "query",
          "description" : "to include extra node page details in results",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "temporalCheck",
          "in" : "query",
          "description" : "to check the navigation nodes scheduling start and end dates",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "expandBreadcrumb",
          "in" : "query",
          "description" : "to expand the navigation breadcrumb",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Invalid query input"
          },
          "404" : {
            "description" : "Navigation does not exist"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/platform/branding" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get Branding information",
        "description" : "Get Branding information",
        "operationId" : "getBrandingInformation",
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          }
        }
      },
      "put" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Update Branding information",
        "description" : "Update Branding information",
        "operationId" : "updateBrandingInformation",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Branding"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Branding information updated"
          }
        }
      }
    },
    "/v1/platform/branding/css" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get Branding CSS content",
        "description" : "Get Branding CSS content",
        "operationId" : "getBrandingCSS",
        "parameters" : [ {
          "name" : "v",
          "in" : "query",
          "description" : "The value of lastModified parameter will determine whether the query should be cached by browser or not. If not set, no 'expires HTTP Header will be sent'",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Branding css retrieved"
          },
          "304" : {
            "description" : "Branding css not modified"
          },
          "500" : {
            "description" : "Server error when retrieving branding css"
          }
        }
      }
    },
    "/v1/platform/branding/default" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get default theme style",
        "description" : "Get default theme style",
        "operationId" : "getDefaultBrandingThemeStyle",
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          }
        }
      }
    },
    "/v1/platform/branding/drawerBackground" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get Default drawer Background image",
        "description" : "Get Default drawer Background image",
        "operationId" : "getDrawerBackground",
        "parameters" : [ {
          "name" : "v",
          "in" : "query",
          "description" : "The value of version parameter will determine whether the query should be cached by browser or not. If not set, no 'expires HTTP Header will be sent'",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fullfilled"
          },
          "404" : {
            "description" : "Object not found"
          }
        }
      }
    },
    "/v1/platform/branding/favicon" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get Branding favicon",
        "description" : "Get Branding favicon",
        "operationId" : "getBrandingFavicon",
        "parameters" : [ {
          "name" : "v",
          "in" : "query",
          "description" : "The value of version parameter will determine whether the query should be cached by browser or not. If not set, no 'expires HTTP Header will be sent'",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Branding favicon retrieved"
          },
          "404" : {
            "description" : "Branding favicon not found"
          },
          "500" : {
            "description" : "Server error when retrieving branding favicon"
          }
        }
      }
    },
    "/v1/platform/branding/loginBackground" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get authentication pages left panel background",
        "description" : "Get authentication pages left panel background",
        "operationId" : "getLoginBackground",
        "parameters" : [ {
          "name" : "v",
          "in" : "query",
          "description" : "The value of version parameter will determine whether the query should be cached by browser or not. If not set, no 'expires HTTP Header will be sent'",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fullfilled"
          },
          "404" : {
            "description" : "Resource not found"
          },
          "500" : {
            "description" : "Server error when retrieving resource"
          }
        }
      }
    },
    "/v1/platform/branding/logo" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get Branding logo",
        "description" : "Get Branding logo",
        "operationId" : "getBrandingLogo",
        "parameters" : [ {
          "name" : "v",
          "in" : "query",
          "description" : "The value of version parameter will determine whether the query should be cached by browser or not. If not set, no 'expires HTTP Header will be sent'",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Branding logo retrieved"
          },
          "404" : {
            "description" : "Branding logo not found"
          },
          "500" : {
            "description" : "Server error when retrieving branding logo"
          }
        }
      }
    },
    "/v1/platform/branding/pageBackground" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get Default Page Background image",
        "description" : "Get Default Page Background image",
        "operationId" : "getPageBackground",
        "parameters" : [ {
          "name" : "v",
          "in" : "query",
          "description" : "The value of version parameter will determine whether the query should be cached by browser or not. If not set, no 'expires HTTP Header will be sent'",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fullfilled"
          },
          "404" : {
            "description" : "Object not found"
          }
        }
      }
    },
    "/v1/platform/branding/sideBarBackground" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get Default sidebar Background image",
        "description" : "Get Default sidebar Background image",
        "operationId" : "getSideBarBackground",
        "parameters" : [ {
          "name" : "v",
          "in" : "query",
          "description" : "The value of version parameter will determine whether the query should be cached by browser or not. If not set, no 'expires HTTP Header will be sent'",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fullfilled"
          },
          "404" : {
            "description" : "Object not found"
          }
        }
      }
    },
    "/v1/platform/branding/topBarBackground" : {
      "get" : {
        "tags" : [ "/v1/platform/branding" ],
        "summary" : "Get Default top bar Background image",
        "description" : "Get Default top bar Background image",
        "operationId" : "getTopBarBackground",
        "parameters" : [ {
          "name" : "v",
          "in" : "query",
          "description" : "The value of version parameter will determine whether the query should be cached by browser or not. If not set, no 'expires HTTP Header will be sent'",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fullfilled"
          },
          "404" : {
            "description" : "Object not found"
          }
        }
      }
    },
    "/v1/settings/{context}/{scope}/{settingKey}" : {
      "get" : {
        "tags" : [ "/v1/settings" ],
        "summary" : "Gets a specific setting value",
        "description" : "Gets a specific setting value",
        "operationId" : "getSetting",
        "parameters" : [ {
          "name" : "context",
          "in" : "path",
          "description" : "Context - Format 'contextName,contextId' where 'contextId' is optional. Example: GLOBAL or USER,john",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scope",
          "in" : "path",
          "description" : "Scope - Format 'scopeName,scopeId' where 'scopeId' is optional. Example: GLOBAL or APPLICATION,wiki or SPACE,marketing",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "settingKey",
          "in" : "path",
          "description" : "Setting key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Invalid query input"
          },
          "401" : {
            "description" : "User does not have permissions to get it"
          },
          "404" : {
            "description" : "Setting does not exist"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      },
      "put" : {
        "tags" : [ "/v1/settings" ],
        "summary" : "Sets a specific setting value",
        "description" : "Sets a specific setting value",
        "operationId" : "setSetting",
        "parameters" : [ {
          "name" : "context",
          "in" : "path",
          "description" : "Context - Format 'contextName,contextId' where 'contextId' is optional. Example: GLOBAL or USER,john",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scope",
          "in" : "path",
          "description" : "Scope - Format 'scopeName,scopeId' where 'scopeId' is optional. Example: GLOBAL or APPLICATION,wiki or SPACE,marketing",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "settingKey",
          "in" : "path",
          "description" : "Setting key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Setting value",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SettingValueEntity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Invalid query input"
          },
          "401" : {
            "description" : "User does not have permissions to update it"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/users" : {
      "get" : {
        "tags" : [ "v1/users" ],
        "summary" : "Gets all users",
        "description" : "Gets all users",
        "operationId" : "getUsers",
        "parameters" : [ {
          "name" : "q",
          "in" : "query",
          "description" : "User name information to filter, ex: user name, last name, first name or full name",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "User status : ANY, ENABLED or DISABLED",
          "schema" : {
            "type" : "string",
            "default" : "ANY"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10
          }
        }, {
          "name" : "returnSize",
          "in" : "query",
          "description" : "Returning the number of users found or not",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "500" : {
            "description" : "Internal server error due to data encoding"
          }
        }
      },
      "put" : {
        "tags" : [ "v1/users" ],
        "summary" : "Update an existing user",
        "description" : "Update an existing user",
        "operationId" : "updateUser",
        "requestBody" : {
          "description" : "User Object",
          "content" : {
            "*/*" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserRestEntity"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Invalid query input"
          },
          "500" : {
            "description" : "Internal server error due to data encoding"
          }
        }
      },
      "post" : {
        "tags" : [ "v1/users" ],
        "summary" : "Create new user",
        "description" : "Create new user",
        "operationId" : "createUser",
        "requestBody" : {
          "description" : "User Object",
          "content" : {
            "*/*" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserRestEntity"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "400" : {
            "description" : "Invalid query input"
          },
          "500" : {
            "description" : "Internal server error due to data encoding"
          }
        }
      }
    },
    "/v1/users/isDelegatedAdministrator" : {
      "get" : {
        "tags" : [ "v1/users" ],
        "summary" : "Check if current user is a delegated administrator",
        "description" : "Check if current user is a delegated administrator",
        "operationId" : "isDelegatedAdministrator",
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "500" : {
            "description" : "Internal server error due to data encoding"
          }
        }
      }
    },
    "/v1/users/isSuperUser" : {
      "get" : {
        "tags" : [ "v1/users" ],
        "summary" : "Check if current user is a superUser",
        "description" : "Check if current user is a superUser",
        "operationId" : "isSuperUser",
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "500" : {
            "description" : "Internal server error due to data encoding"
          }
        }
      }
    },
    "/v1/users/isSynchronizedUserAllowedToChangePassword" : {
      "get" : {
        "tags" : [ "v1/users" ],
        "summary" : "Check if synchronized user is allowed to change his password",
        "description" : "Check if synchronized user is allowed to change his password",
        "operationId" : "isSynchronizedUserAllowedToChangePassword",
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "500" : {
            "description" : "Internal server error due to data encoding"
          }
        }
      }
    },
    "/v1/users/{id}" : {
      "get" : {
        "tags" : [ "v1/users" ],
        "summary" : "Gets a user identified by its id",
        "description" : "Gets a user identified by its id",
        "operationId" : "getUser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "User name identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "404" : {
            "description" : "User not found"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      },
      "delete" : {
        "tags" : [ "v1/users" ],
        "summary" : "Deletes a user identified by its id",
        "description" : "Deletes a user identified by its id",
        "operationId" : "deleteUser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "User name identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Request fulfilled"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "404" : {
            "description" : "User not found"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/users/{id}/changePassword" : {
      "patch" : {
        "tags" : [ "v1/users" ],
        "summary" : "Changes user password",
        "description" : "Changes user password",
        "operationId" : "changePassword",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "username to change his password",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "*/*" : {
              "schema" : {
                "required" : [ "currentPassword", "newPassword" ],
                "type" : "object",
                "properties" : {
                  "currentPassword" : {
                    "type" : "string",
                    "description" : "Current user password"
                  },
                  "newPassword" : {
                    "type" : "string",
                    "description" : "New user password"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "401" : {
            "description" : "User not authorized to call this endpoint"
          },
          "404" : {
            "description" : "User not found"
          },
          "500" : {
            "description" : "Internal server error"
          }
        }
      }
    },
    "/v1/users/{id}/memberships" : {
      "get" : {
        "tags" : [ "v1/users" ],
        "summary" : "Gets User memberships list",
        "description" : "Gets User memberships list",
        "operationId" : "getUserMemberships",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "User name identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20
          }
        }, {
          "name" : "returnSize",
          "in" : "query",
          "description" : "Returning the number of users found or not",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Request fulfilled"
          },
          "404" : {
            "description" : "User not found"
          },
          "500" : {
            "description" : "Internal server error due to data encoding"
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "Background" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "byte"
            }
          },
          "fileId" : {
            "type" : "integer",
            "format" : "int64"
          },
          "size" : {
            "type" : "integer",
            "format" : "int64"
          },
          "updatedDate" : {
            "type" : "integer",
            "format" : "int64"
          },
          "uploadId" : {
            "type" : "string"
          }
        }
      },
      "Branding" : {
        "type" : "object",
        "properties" : {
          "companyLink" : {
            "type" : "string"
          },
          "companyName" : {
            "type" : "string"
          },
          "customCss" : {
            "type" : "string"
          },
          "defaultLanguage" : {
            "type" : "string"
          },
          "direction" : {
            "type" : "string"
          },
          "drawerBackground" : {
            "$ref" : "#/components/schemas/Background"
          },
          "favicon" : {
            "$ref" : "#/components/schemas/Favicon"
          },
          "lastUpdatedTime" : {
            "type" : "integer",
            "format" : "int64"
          },
          "loginBackground" : {
            "$ref" : "#/components/schemas/Background"
          },
          "loginBackgroundAltText" : {
            "type" : "string"
          },
          "loginBackgroundTextColor" : {
            "type" : "string"
          },
          "loginSubtitle" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "loginTitle" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "logo" : {
            "$ref" : "#/components/schemas/Logo"
          },
          "pageBackground" : {
            "$ref" : "#/components/schemas/Background"
          },
          "pageBackgroundColor" : {
            "type" : "string"
          },
          "pageBackgroundEffect" : {
            "type" : "string"
          },
          "pageBackgroundPosition" : {
            "type" : "string"
          },
          "pageBackgroundRepeat" : {
            "type" : "string"
          },
          "pageBackgroundSize" : {
            "type" : "string"
          },
          "pageWidth" : {
            "type" : "string"
          },
          "sideBarBackground" : {
            "$ref" : "#/components/schemas/Background"
          },
          "siteName" : {
            "type" : "string"
          },
          "supportedLanguages" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "themeStyle" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "topBarBackground" : {
            "$ref" : "#/components/schemas/Background"
          }
        }
      },
      "CollectionEntity" : {
        "type" : "object",
        "properties" : {
          "empty" : {
            "type" : "boolean"
          },
          "entities" : {
            "type" : "array",
            "items" : {
              "type" : "object"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "size" : {
            "type" : "integer",
            "format" : "int32"
          }
        },
        "additionalProperties" : {
          "type" : "object"
        }
      },
      "Favicon" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "byte"
            }
          },
          "fileId" : {
            "type" : "integer",
            "format" : "int64"
          },
          "size" : {
            "type" : "integer",
            "format" : "int64"
          },
          "updatedDate" : {
            "type" : "integer",
            "format" : "int64"
          },
          "uploadId" : {
            "type" : "string"
          }
        }
      },
      "GroupImpl" : {
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string"
          },
          "enclosingMemberships" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/NestedMembership"
            }
          },
          "groupName" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "internalStore" : {
            "type" : "boolean"
          },
          "label" : {
            "type" : "string"
          },
          "originatingStore" : {
            "type" : "string"
          },
          "parentId" : {
            "type" : "string"
          }
        }
      },
      "Logo" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "byte"
            }
          },
          "fileId" : {
            "type" : "integer",
            "format" : "int64"
          },
          "size" : {
            "type" : "integer",
            "format" : "int64"
          },
          "updatedDate" : {
            "type" : "integer",
            "format" : "int64"
          },
          "uploadId" : {
            "type" : "string"
          }
        }
      },
      "MembershipImpl" : {
        "type" : "object",
        "properties" : {
          "groupId" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "inherited" : {
            "type" : "boolean"
          },
          "membershipType" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          }
        }
      },
      "MembershipTypeImpl" : {
        "type" : "object",
        "properties" : {
          "createdDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "description" : {
            "type" : "string"
          },
          "modifiedDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "owner" : {
            "type" : "string"
          }
        }
      },
      "NestedMembership" : {
        "type" : "object",
        "properties" : {
          "groupId" : {
            "type" : "string"
          },
          "includeAllMembershipTypes" : {
            "type" : "boolean"
          },
          "inheritMembershipType" : {
            "type" : "boolean"
          },
          "membershipType" : {
            "type" : "string"
          },
          "nestedGroupId" : {
            "type" : "string"
          },
          "nestedMembershipType" : {
            "type" : "string"
          }
        }
      },
      "SettingValueEntity" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string"
          }
        }
      },
      "UserRestEntity" : {
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "firstName" : {
            "type" : "string"
          },
          "fullName" : {
            "type" : "string"
          },
          "lastName" : {
            "type" : "string"
          },
          "password" : {
            "type" : "string"
          },
          "platformAdministrator" : {
            "type" : "boolean"
          },
          "userName" : {
            "type" : "string"
          }
        }
      }
    }
  }
}