GROWI REST API v3 (7.4.1-RC.0)

Download OpenAPI specification:Download

Attachment

getListForAttachment

Get attachment list

Authorizations:
(beareraccessTokenInQuery)
query Parameters
pageId
required
string

page id

pageNumber
number
Example: pageNumber=1

page number

limit
number
Example: limit=10

limit

Responses

Response samples

Content type
application/json
{
  • "docs": [
    ],
  • "totalDocs": 1,
  • "limit": 20,
  • "totalPages": 1,
  • "page": 1,
  • "offset": 0,
  • "prevPage": null,
  • "nextPage": null,
  • "hasNextPage": false,
  • "hasPrevPage": false,
  • "pagingCounter": 1
}

/attachment/limit

Get available capacity of uploaded file with GridFS

Authorizations:
(beareraccessTokenInQuery)
query Parameters
fileSize
required
number
Example: fileSize=23175

file size

Responses

Response samples

Content type
application/json
{
  • "isUploadable": true
}

/attachment

Add attachment to the page

Authorizations:
(beareraccessTokenInQuery)
Request Body schema:
page_id
string
file
string <binary>

attachment data

Responses

Response samples

Content type
application/json
{
  • "page": {
    },
  • "attachment": {
    },
  • "revision": "string"
}

getAttachmentById

Get attachment

Authorizations:
(beareraccessTokenInQuery)
path Parameters
id
required
string

attachment id

Responses

Response samples

Content type
application/json
{
  • "attachment": {
    }
}

Bookmarks

/bookmarks/info

Get bookmarked info

Authorizations:
(beareraccessTokenInQuery)
query Parameters
pageId
string

page id

Responses

Response samples

Content type
application/json
{
  • "sumOfBookmarks": 0,
  • "isBookmarked": true,
  • "pageId": "5e07345972560e001761fa63",
  • "bookmarkedUsers": [
    ]
}

/bookmarks/{userId}

Get my bookmarked status

Authorizations:
(beareraccessTokenInQuery)
path Parameters
userId
required
string

user id

Responses

Response samples

Content type
application/json
{
  • "userRootBookmarks": [
    ]
}

/bookmarks

Update bookmarked status

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
pageId
string

page ID

bool
boolean

boolean for bookmark status

Responses

Request samples

Content type
application/json
{
  • "pageId": "5e07345972560e001761fa63",
  • "bool": true
}

Response samples

Content type
application/json
{
  • "bookmark": {
    }
}

BookmarkFolders

Create bookmark folder

Create a new bookmark folder

Authorizations:
beareraccessTokenInQuery
Request Body schema: application/json
name
string

Name of the bookmark folder

parent
string

Parent folder ID

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "parent": "string"
}

Response samples

Content type
application/json
{
  • "bookmarkFolder": {
    }
}

Update bookmark folder

Update a bookmark folder

Authorizations:
beareraccessTokenInQuery
Request Body schema: application/json
bookmarkFolderId
string

Bookmark Folder ID

name
string

Name of the bookmark folder

parent
string

Parent folder ID

Array of objects (BookmarkFolder)

Child folders

Responses

Request samples

Content type
application/json
{
  • "bookmarkFolderId": "string",
  • "name": "string",
  • "parent": "string",
  • "childFolder": [
    ]
}

Response samples

Content type
application/json
{
  • "bookmarkFolder": {
    }
}

List bookmark folders of a user

List bookmark folders of a user

Authorizations:
beareraccessTokenInQuery
path Parameters
userId
required
string

User ID

Responses

Response samples

Content type
application/json
{
  • "bookmarkFolderItems": [
    ]
}

Delete bookmark folder

Delete a bookmark folder and its children

Authorizations:
beareraccessTokenInQuery
path Parameters
id
required
string

Bookmark Folder ID

Responses

Response samples

Content type
application/json
{
  • "deletedCount": 1
}

Update bookmark folder

Update a bookmark folder

Authorizations:
beareraccessTokenInQuery
Request Body schema: application/json
pageId
string

Page ID

folderId
string or null

Folder ID

Responses

Request samples

Content type
application/json
{
  • "pageId": "string",
  • "folderId": "string"
}

Response samples

Content type
application/json
{
  • "bookmarkFolder": {
    }
}

Update bookmark in folder

Update a bookmark in a folder

Authorizations:
beareraccessTokenInQuery
Request Body schema: application/json
pageId
string

Page ID

status
string

Bookmark status

Responses

Request samples

Content type
application/json
{
  • "pageId": "string",
  • "status": "string"
}

Response samples

Content type
application/json
{
  • "bookmarkFolder": {
    }
}

Page

Get page

get page by pagePath or pageId

Authorizations:
(beareraccessTokenInQuery)
query Parameters
pageId
string (ObjectId)
Example: pageId=5ae5fccfc5577b0004dbd8ab

page id

path
string (PagePath)
Example: path=/path/to/page

page path

Responses

Response samples

Content type
application/json
{
  • "_id": "5ae5fccfc5577b0004dbd8ab",
  • "__v": 0,
  • "commentCount": 3,
  • "createdAt": "2010-01-01T00:00:00.000Z",
  • "creator": {
    },
  • "extended": { },
  • "grant": 1,
  • "grantedUsers": [
    ],
  • "lastUpdateUser": {
    },
  • "liker": [ ],
  • "path": "/path/to/page",
  • "revision": "string",
  • "seenUsers": [
    ],
  • "status": "published",
  • "updatedAt": "2010-01-01T00:00:00.000Z"
}

Create page

Create page

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
body
required
string

Text of page

path
required
string (PagePath)

Page path

grant
number (PageGrant)

Grant for page

Array of objects
pageTags
Array of strings

Responses

Request samples

Content type
application/json
{
  • "body": "string",
  • "path": "/path/to/page",
  • "grant": 1,
  • "grantUserGroupIds": [
    ],
  • "pageTags": [
    ]
}

Response samples

Content type
application/json
{
  • "page": {
    },
  • "tags": [
    ],
  • "revision": {
    }
}

putPage

Update page

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
body
required
string (RevisionBody)

Revision content body

pageId
required
string (ObjectId)

Object ID

revisionId
required
string (ObjectId)

Object ID

grant
number (PageGrant)

Grant for page

Array of objects
overwriteScopesOfDescendants
boolean

Determine whether the scopes of descendants should be overwritten

isSlackEnabled
boolean

Determine whether the page is enabled to be posted to Slack

slackChannels
string

Slack channel IDs

origin
string

Origin is "view" or "editor"

wip
boolean

Determine whether the page is WIP

Responses

Request samples

Content type
application/json
{
  • "body": "# Header\n\n- foo\n- bar\n",
  • "pageId": "5ae5fccfc5577b0004dbd8ab",
  • "revisionId": "5ae5fccfc5577b0004dbd8ab",
  • "grant": 1,
  • "userRelatedGrantUserGroupIds": [
    ],
  • "overwriteScopesOfDescendants": true,
  • "isSlackEnabled": true,
  • "slackChannels": "string",
  • "origin": "string",
  • "wip": true
}

Response samples

Content type
application/json
{
  • "page": {
    },
  • "revision": {
    }
}

Check if page exists

Check if a page exists at the specified path

Authorizations:
(beareraccessTokenInQuery)
query Parameters
path
required
string

The path to check for existence

Responses

Response samples

Content type
application/json
{
  • "isExist": true
}

Get page likes

Update liked status

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
pageId
string

page ID

bool
boolean

boolean for like status

Responses

Request samples

Content type
application/json
{
  • "pageId": "5e07345972560e001761fa63",
  • "bool": true
}

Response samples

Content type
application/json
{
  • "_id": "5ae5fccfc5577b0004dbd8ab",
  • "__v": 0,
  • "commentCount": 3,
  • "createdAt": "2010-01-01T00:00:00.000Z",
  • "creator": {
    },
  • "extended": { },
  • "grant": 1,
  • "grantedUsers": [
    ],
  • "lastUpdateUser": {
    },
  • "liker": [ ],
  • "path": "/path/to/page",
  • "revision": "string",
  • "seenUsers": [
    ],
  • "status": "published",
  • "updatedAt": "2010-01-01T00:00:00.000Z"
}

/page/info

Get summary informations for a page

Authorizations:
(beareraccessTokenInQuery)
query Parameters
pageId
required
string (ObjectId)
Example: pageId=5ae5fccfc5577b0004dbd8ab

page id

Responses

Response samples

Content type
application/json
Example
{
  • "isV5Compatible": true,
  • "isEmpty": true,
  • "isMovable": true,
  • "isDeletable": true,
  • "isAbleToDeleteCompletely": true,
  • "isRevertible": true
}

Get page grant data

Retrieve current page's grant data

Authorizations:
(beareraccessTokenInQuery)
query Parameters
pageId
string (ObjectId)
Example: pageId=5ae5fccfc5577b0004dbd8ab

page id

Responses

Response samples

Content type
application/json
{
  • "isGrantNormalized": true
}

Check if non-user related groups are granted page access

Check if non-user related groups are granted access to a specific page or its closest ancestor

Authorizations:
cookieAuth
query Parameters
path
required
string

Path of the page

Responses

Response samples

Content type
application/json
{
  • "isNonUserRelatedGroupsGranted": true
}

Get applicable grant data

Retrieve applicable grant data for a specific page

Authorizations:
cookieAuth
query Parameters
pageId
required
string

ID of the page

Responses

Response samples

Content type
application/json
{
  • "grant": 0,
  • "grantedUsers": [
    ],
  • "grantedGroups": [
    ]
}

Update page grant

Update the grant of a specific page

Authorizations:
cookieAuth
path Parameters
pageId
required
string

ID of the page

Request Body schema: application/json
grant
number

Grant level

userRelatedGrantedGroups
Array of strings

Array of user-related granted group IDs

Responses

Request samples

Content type
application/json
{
  • "grant": 0,
  • "userRelatedGrantedGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "5ae5fccfc5577b0004dbd8ab",
  • "__v": 0,
  • "commentCount": 3,
  • "createdAt": "2010-01-01T00:00:00.000Z",
  • "creator": {
    },
  • "extended": { },
  • "grant": 1,
  • "grantedUsers": [
    ],
  • "lastUpdateUser": {
    },
  • "liker": [ ],
  • "path": "/path/to/page",
  • "revision": "string",
  • "seenUsers": [
    ],
  • "status": "published",
  • "updatedAt": "2010-01-01T00:00:00.000Z"
}

getExportByPageIdForPage

return page's markdown

Authorizations:
cookieAuth
path Parameters
pageId
required
string

ID of the page

Responses

Get already exist paths

Get already exist paths

Authorizations:
cookieAuth
query Parameters
fromPath
string

old parent path

toPath
string

new parent path

Responses

Response samples

Content type
application/json
{
  • "existPaths": { }
}

Update subscription status

Update subscription status

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
pageId
string (ObjectId)

Object ID

Responses

Request samples

Content type
application/json
{
  • "pageId": "5ae5fccfc5577b0004dbd8ab"
}

Response samples

Content type
application/json
{
  • "_id": "5ae5fccfc5577b0004dbd8ab",
  • "__v": 0,
  • "commentCount": 3,
  • "createdAt": "2010-01-01T00:00:00.000Z",
  • "creator": {
    },
  • "extended": { },
  • "grant": 1,
  • "grantedUsers": [
    ],
  • "lastUpdateUser": {
    },
  • "liker": [ ],
  • "path": "/path/to/page",
  • "revision": "string",
  • "seenUsers": [
    ],
  • "status": "published",
  • "updatedAt": "2010-01-01T00:00:00.000Z"
}

Update content width

Update the content width setting for a specific page

Authorizations:
(beareraccessTokenInQuery)
path Parameters
pageId
required
string

ID of the page

Request Body schema: application/json
expandContentWidth
boolean

Whether to expand the content width

Responses

Request samples

Content type
application/json
{
  • "expandContentWidth": true
}

Response samples

Content type
application/json
{
  • "page": {
    }
}

Publish page

Publish a specific page

Authorizations:
(beareraccessTokenInQuery)
path Parameters
pageId
required
string

ID of the page

Responses

Response samples

Content type
application/json
{
  • "_id": "5ae5fccfc5577b0004dbd8ab",
  • "__v": 0,
  • "commentCount": 3,
  • "createdAt": "2010-01-01T00:00:00.000Z",
  • "creator": {
    },
  • "extended": { },
  • "grant": 1,
  • "grantedUsers": [
    ],
  • "lastUpdateUser": {
    },
  • "liker": [ ],
  • "path": "/path/to/page",
  • "revision": "string",
  • "seenUsers": [
    ],
  • "status": "published",
  • "updatedAt": "2010-01-01T00:00:00.000Z"
}

Unpublish page

Unpublish a specific page

Authorizations:
(beareraccessTokenInQuery)
path Parameters
pageId
required
string

ID of the page

Responses

Response samples

Content type
application/json
{
  • "_id": "5ae5fccfc5577b0004dbd8ab",
  • "__v": 0,
  • "commentCount": 3,
  • "createdAt": "2010-01-01T00:00:00.000Z",
  • "creator": {
    },
  • "extended": { },
  • "grant": 1,
  • "grantedUsers": [
    ],
  • "lastUpdateUser": {
    },
  • "liker": [ ],
  • "path": "/path/to/page",
  • "revision": "string",
  • "seenUsers": [
    ],
  • "status": "published",
  • "updatedAt": "2010-01-01T00:00:00.000Z"
}

Get Yjs data

Retrieve Yjs data for a specific page

Authorizations:
(beareraccessTokenInQuery)
path Parameters
pageId
required
string

ID of the page

Responses

Response samples

Content type
application/json
{
  • "yjsData": {
    }
}

Sync latest revision body to Yjs draft

Sync the latest revision body to the Yjs draft for a specific page

Authorizations:
(beareraccessTokenInQuery)
path Parameters
pageId
required
string

ID of the page

Request Body schema: application/json
editingMarkdownLength
integer

Length of the editing markdown

Responses

Request samples

Content type
application/json
{
  • "editingMarkdownLength": 0
}

Response samples

Content type
application/json
{
  • "synced": true,
  • "isYjsDataBroken": true
}

Pages

getRecentForPages

Get recently updated pages

Authorizations:
(beareraccessTokenInQuery)
query Parameters
limit
number
Example: limit=10

Limit of acquisitions

offset
number

Offset of acquisitions

includeWipPage
string

Whether to include WIP pages

Responses

putRenameForPages

Rename page

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
pageId
required
string (ObjectId)

Object ID

path
string (PagePath)

Page path

newPagePath
string

new path

isRenameRedirect
boolean

whether redirect page

updateMetadata
boolean

whether update meta data

isRecursively
boolean

whether rename page with descendants

Responses

Request samples

Content type
application/json
{
  • "pageId": "5ae5fccfc5577b0004dbd8ab",
  • "path": "/path/to/page",
  • "newPagePath": "/user/alice/new_test",
  • "isRenameRedirect": true,
  • "updateMetadata": true,
  • "isRecursively": true
}

Response samples

Content type
application/json
{
  • "page": {
    }
}

postResumeRenameForPages

Resume rename page operation

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
pageId
required
string (ObjectId)

Object ID

Responses

Request samples

Content type
application/json
{
  • "pageId": "5ae5fccfc5577b0004dbd8ab"
}

Response samples

Content type
application/json
{ }

deleteEmptyTrashForPages

empty trash

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "deletablePages": [
    ]
}

getListForPages

Get list of pages

Authorizations:
(beareraccessTokenInQuery)
query Parameters
path
string

Path to search

limit
number

Limit of acquisitions

page
number

Page number

Responses

Response samples

Content type
application/json
{
  • "totalCount": 3,
  • "offset": 0,
  • "limit": 10,
  • "pages": [
    ]
}

postDuplicateForPages

Duplicate page

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
pageId
required
string (ObjectId)

Object ID

pageNameInput
string (PagePath)

Page path

isRecursively
boolean

whether duplicate page with descendants

onlyDuplicateUserRelatedResources
boolean

whether duplicate only user related resources

Responses

Request samples

Content type
application/json
{
  • "pageId": "5ae5fccfc5577b0004dbd8ab",
  • "pageNameInput": "/path/to/page",
  • "isRecursively": true,
  • "onlyDuplicateUserRelatedResources": true
}

Response samples

Content type
application/json
{
  • "page": {
    }
}

getSubordinatedListForPages

Get subordinated pages

Authorizations:
(beareraccessTokenInQuery)
query Parameters
path
string

Parent path of search

limit
number

Limit of acquisitions

Responses

Response samples

Content type
application/json
{
  • "subordinatedPages": [
    ]
}

postDeleteForPages

Delete pages

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
pageIdToRevisionIdMap
object

Map of page IDs to revision IDs

isCompletely
boolean

Whether to delete pages completely

isRecursively
boolean

Whether to delete pages recursively

isAnyoneWithTheLink
boolean

Whether the page is restricted to anyone with the link

Responses

Request samples

Content type
application/json
{
  • "pageIdToRevisionIdMap": {
    },
  • "isCompletely": true,
  • "isRecursively": true,
  • "isAnyoneWithTheLink": true
}

Response samples

Content type
application/json
{
  • "paths": [
    ],
  • "isRecursively": true,
  • "isCompletely": true
}

postConvertPagesByPathForPages

Convert pages by path

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
convertPath
string

Path to convert

Responses

Request samples

Content type
application/json
{
  • "convertPath": "/user/alice"
}

Response samples

Content type
application/json
{ }

postLegacyPagesMigrationForPages

Migrate legacy pages

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
pageIds
Array of strings

List of page IDs to migrate

isRecursively
boolean

Whether to migrate pages recursively

Responses

Request samples

Content type
application/json
{
  • "pageIds": [
    ],
  • "isRecursively": true
}

Response samples

Content type
application/json
{ }

getV5MigrationStatusForPages

Get V5 migration status

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "isV5Compatible": true,
  • "migratablePagesCount": 0
}

PageListing

/page-listing/root

Get the root page

Authorizations:
beareraccessTokenInQuery

Responses

Response samples

Content type
application/json
{
  • "rootPage": {
    }
}

/page-listing/children

Get the children of a page

Authorizations:
beareraccessTokenInQuery
query Parameters
id
string
path
string

Responses

Response samples

Content type
application/json
{
  • "children": [
    ]
}

/page-listing/info

Get summary information of pages

Authorizations:
beareraccessTokenInQuery
query Parameters
pageIds
Array of strings

Array of page IDs to retrieve information for (One of pageIds or path is required)

path
string

Path of the page to retrieve information for (One of pageIds or path is required)

attachBookmarkCount
boolean
attachShortBody
boolean

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

/page-listing/item

Get a single page item for tree display

Authorizations:
beareraccessTokenInQuery
query Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "item": {
    }
}

Revisions

getListForRevisions

Get revisions by page id

Authorizations:
(beareraccessTokenInQuery)
query Parameters
pageId
string

page id

page
number

selected page number

limit
number

page item limit

Responses

Response samples

Content type
application/json
{
  • "revisions": [
    ],
  • "totalCount": 0,
  • "offset": 0
}

getRevisionsById

Get one revision by id

Authorizations:
(beareraccessTokenInQuery)
path Parameters
id
required
string

revision id

query Parameters
pageId
required
string

page id

Responses

Response samples

Content type
application/json
{
  • "revision": {
    }
}

deleteShareLinksById

delete one share link related one page

Authorizations:
cookieAuth
path Parameters
id
required
string

id of share link

Responses

Users

Request password reset

Authorizations:
cookieAuth
Request Body schema: application/json
required
email
string <email>

Email address of the user requesting password reset

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{ }

Reset password

Authorizations:
cookieAuth
Request Body schema: application/json
required
newPassword
string <password>

New password

Responses

Request samples

Content type
application/json
{
  • "newPassword": "pa$$word"
}

Response samples

Content type
application/json
{
  • "userData": {
    }
}

/invited

Activate invited user

Authorizations:
cookieAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "invitedForm": {
    }
}

Response samples

Content type
application/json
{
  • "redirectTo": "string"
}

Logout user

Logout the currently authenticated user

Authorizations:
cookieAuth

Responses

/complete-registration

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "registerForm": {
    }
}

Response samples

Content type
application/json
{
  • "redirectTo": "string"
}

/users

Select selected columns from users order by asc or desc

Authorizations:
(beareraccessTokenInQuery)
query Parameters
page
number

page number

selectedStatusList
string

status list

searchText
string

For incremental search value from input box

sortOrder
string

asc or desc

sort
string

sorting column

forceIncludeAttributes
string

force include attributes

Responses

Response samples

Content type
application/json
{
  • "paginateResult": {
    }
}

/usersIdReacent

Authorizations:
(beareraccessTokenInQuery)
path Parameters
id
required
string

id of user

Responses

Response samples

Content type
application/json
{
  • "paginateResult": {
    }
}

/users/list

Get list of users

Authorizations:
(beareraccessTokenInQuery)
query Parameters
userIds
string
Example: userIds=5e06fcc7516d64004dbf4da6,5e098d53baa2ac004e7d24ad

user IDs

Responses

Response samples

Content type
application/json
{
  • "users": [
    ]
}

/users/usernames

Get list of usernames

Authorizations:
(beareraccessTokenInQuery)
query Parameters
q
string
Example: q=alice

query string to search usernames

offset
integer
Example: offset=0

offset for pagination

limit
integer
Example: limit=10

limit for pagination

options
string
Example: options={"isIncludeActiveUser": true, "isIncludeInactiveUser": true, "isIncludeActivitySnapshotUser": true, "isIncludeMixedUsernames": true}

options for including different types of users

Responses

Response samples

Content type
application/json
{
  • "activeUser": {
    },
  • "inactiveUser": {
    },
  • "activitySnapshotUser": {
    },
  • "mixedUsernames": [
    ]
}

/login

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "loginForm": {
    }
}

Response samples

Content type
application/json
{
  • "redirectTo": "string"
}

/register

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "registerForm": {
    }
}

Response samples

Content type
application/json
{
  • "redirectTo": "string"
}

UserUISettings

/user-ui-settings

Update the user's UI settings

Authorizations:
cookieAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "user": "string",
  • "__v": 0,
  • "currentSidebarContents": "string",
  • "preferCollapsedModeByUser": true
}

GeneralSetting

/personal-setting

Get personal parameters

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "currentUser": { }
}

/personal-setting

Update personal setting

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
name
string
email
string
lang
string
isEmailPublished
boolean
slackMemberId
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "lang": "string",
  • "isEmailPublished": true,
  • "slackMemberId": "string"
}

Response samples

Content type
application/json
{
  • "updatedUser": { }
}

/personal-setting

Get whether a password has been set

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "isPasswordSet": true,
  • "minPasswordLength": 0
}

/personal-setting/image-type

Update user image type

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
isGravatarEnabled
boolean

Responses

Request samples

Content type
application/json
{
  • "isGravatarEnabled": true
}

Response samples

Content type
application/json
{
  • "userData": { }
}

/personal-setting/external-accounts

Get external accounts that linked current user

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "externalAccounts": { }
}

/personal-setting/password

Update user password

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
oldPassword
string
newPassword
string

Responses

Request samples

Content type
application/json
{
  • "oldPassword": "string",
  • "newPassword": "string"
}

Response samples

Content type
application/json
{
  • "userData": { }
}

/personal-setting/api-token

Update user api token

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "userData": { }
}

/personal-setting/access-token

Get access token

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "accessTokens": { }
}

/personal-setting/access-token

Generate access token

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "token": "string",
  • "expiredAt": "string",
  • "description": "string",
  • "scope": [
    ]
}

/personal-setting/access-token

Delete access token

Authorizations:
(beareraccessTokenInQuery)

Responses

/personal-setting/access-token/all

Delete all access tokens

Authorizations:
(beareraccessTokenInQuery)

Responses

/personal-setting/associate-ldap

associate Ldap account

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
username
string

Responses

Request samples

Content type
application/json
{
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "associateUser": { }
}

/personal-setting/disassociate-ldap

disassociate Ldap account

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
providerType
string
accountId
string

Responses

Request samples

Content type
application/json
{
  • "providerType": "string",
  • "accountId": "string"
}

Response samples

Content type
application/json
{
  • "disassociateUser": { }
}

EditorSetting

/personal-setting/editor-settings

Put editor preferences

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
theme
string
keymapMode
string
styleActiveLine
boolean
autoFormatMarkdownTable
boolean

Responses

Request samples

Content type
application/json
{
  • "theme": "string",
  • "keymapMode": "string",
  • "styleActiveLine": true,
  • "autoFormatMarkdownTable": true
}

Response samples

Content type
application/json
{ }

/personal-setting/editor-settings

Get editor preferences

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{ }

InAppNotificationSettings

/personal-setting/in-app-notification-settings

Put InAppNotificationSettings

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "subscribeRules": [
    ]
}

Response samples

Content type
application/json
{ }

personal-setting/in-app-notification-settings

Get InAppNotificationSettings

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "currentUser": { }
}

Activity

/activity

Authorizations:
(bearercookieAuth) (accessTokenInQuerybearer) accessTokenInQuery
query Parameters
limit
integer
offset
integer
searchFilter
string

Responses

Response samples

Content type
application/json
{
  • "serializedPaginationResult": {
    }
}

AdminHome

/admin-home

Get adminHome parameters

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "adminHomeParams": {
    }
}

AppSettings

/app-settings/file-upload-setting

Update fileUploadSetting

Authorizations:
cookieAuth
Request Body schema: application/json
required
fileUploadType
string

fileUploadType

s3Region
string

region of AWS S3

s3CustomEndpoint
string

custom endpoint of AWS S3

s3Bucket
string

AWS S3 bucket name

s3AccessKeyId
string

accesskey id for authentification of AWS

s3SecretAccessKey
string

secret key for authentification of AWS

s3ReferenceFileWithRelayMode
boolean

is enable internal stream system for s3 file request

gcsApiKeyJsonPath
string

apiKeyJsonPath of gcp

gcsBucket
string

bucket name of gcs

gcsUploadNamespace
string

name space of gcs

gcsReferenceFileWithRelayMode
boolean

is enable internal stream system for gcs file request

azureTenantId
string

tenant id of azure

azureClientId
string

client id of azure

azureClientSecret
string

client secret of azure

azureStorageAccountName
string

storage account name of azure

azureStorageContainerName
string

storage container name of azure

azureReferenceFileWithRelayMode
boolean

is enable internal stream system for azure file request

Responses

Request samples

Content type
application/json
{
  • "fileUploadType": "string",
  • "s3Region": "string",
  • "s3CustomEndpoint": "string",
  • "s3Bucket": "string",
  • "s3AccessKeyId": "string",
  • "s3SecretAccessKey": "string",
  • "s3ReferenceFileWithRelayMode": true,
  • "gcsApiKeyJsonPath": "string",
  • "gcsBucket": "string",
  • "gcsUploadNamespace": "string",
  • "gcsReferenceFileWithRelayMode": true,
  • "azureTenantId": "string",
  • "azureClientId": "string",
  • "azureClientSecret": "string",
  • "azureStorageAccountName": "string",
  • "azureStorageContainerName": "string",
  • "azureReferenceFileWithRelayMode": true
}

Response samples

Content type
application/json
{
  • "responseParams": {
    }
}

/app-settings

get app setting params

Authorizations:
beareraccessTokenInQuery

Responses

Response samples

Content type
application/json
{
  • "appSettingsParams": {
    }
}

/app-settings/app-setting

Update app setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
title
string

title of the site

confidential
string

confidential show on page header

globalLang
string

global language

isEmailPublishedForNewUser
boolean

is email published for new user, or not

fileUpload
boolean

is file upload enabled, or not

Responses

Request samples

Content type
application/json
{
  • "title": "GROWI",
  • "confidential": "GROWI",
  • "globalLang": "ja_JP",
  • "isEmailPublishedForNewUser": true,
  • "fileUpload": true
}

Response samples

Content type
application/json
{
  • "appSettingParams": {
    }
}

/app-settings/site-url-setting

Update site url setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
siteUrl
envSiteUrl
string

environment variable 'APP_SITE_URL'

Responses

Request samples

Content type
application/json
{
  • "siteUrl": "string",
  • "envSiteUrl": "string"
}

Response samples

Content type
application/json
{}

/app-settings/smtp-setting

Update smtp setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
smtpHost
string

host name of client's smtp server

smtpPort
string

port of client's smtp server

smtpUser
string

user name of client's smtp server

smtpPassword
string

password of client's smtp server

fromAddress
string

e-mail address

Responses

Request samples

Content type
application/json
{
  • "smtpHost": "smtp.example.com",
  • "smtpPort": "587",
  • "smtpUser": "USER",
  • "smtpPassword": "PASSWORD",
  • "fromAddress": "info@example.com"
}

Response samples

Content type
application/json
{
  • "mailSettingParams": {
    }
}

/app-settings/smtp-setting

Send test mail for smtp

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{ }

/app-settings/ses-setting

Update ses setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
from
string

e-mail address used as from address of mail which sent from GROWI app

transmissionMethod
string

transmission method

sesAccessKeyId
string

accesskey id for authentification of AWS

sesSecretAccessKey
string

secret key for authentification of AWS

Responses

Request samples

Content type
application/json
{
  • "from": "info@growi.org",
  • "transmissionMethod": "ses",
  • "sesAccessKeyId": "string",
  • "sesSecretAccessKey": "string"
}

Response samples

Content type
application/json
{
  • "isMailerSetup": true,
  • "from": "info@growi.org",
  • "transmissionMethod": "ses",
  • "sesAccessKeyId": "string",
  • "sesSecretAccessKey": "string"
}

AccessToken supported.

Update V5SchemaMigration

Authorizations:
beareraccessTokenInQuery

Responses

Response samples

Content type
application/json
{
  • "isV5Compatible": true
}

AccessToken supported.

Update MaintenanceMode

Authorizations:
beareraccessTokenInQuery
Request Body schema: application/json
flag
boolean

flag for maintenance mode

Responses

Request samples

Content type
application/json
{
  • "flag": true
}

Response samples

Content type
application/json
{
  • "flag": true
}

ExternalUserGroups

/external-user-group-relations

Get user group relations

Authorizations:
cookieAuth
query Parameters
groupIds
Array of strings

The group IDs to get relations for

childGroupIds
Array of strings

The child group IDs to get relations for

Responses

Response samples

Content type
application/json
{
  • "userGroupRelations": [
    ],
  • "relationsOfChildGroups": [
    ]
}

/external-user-groups

Authorizations:
cookieAuth
query Parameters
page
integer

Page number for pagination

limit
integer

Number of items per page

offset
integer

Offset for pagination

pagination
boolean

Whether to enable pagination

Responses

Response samples

Content type
application/json
{
  • "userGroups": [
    ],
  • "totalUserGroups": 0,
  • "pagingLimit": 0
}

/external-user-groups/ancestors

Authorizations:
cookieAuth
query Parameters
groupId
required
string

The ID of the user group to get ancestors for

Responses

Response samples

Content type
application/json
{
  • "ancestorUserGroups": [
    ]
}

/external-user-groups/children

Authorizations:
cookieAuth
query Parameters
parentIds
Array of strings

The IDs of the parent user groups

includeGrandChildren
boolean

Whether to include grandchild user groups

Responses

Response samples

Content type
application/json
{
  • "childUserGroups": [
    ],
  • "grandChildUserGroups": [
    ]
}

/external-user-groups/{id}

Authorizations:
cookieAuth
path Parameters
id
required
string

The ID of the external user group

Responses

Response samples

Content type
application/json
{
  • "userGroup": { }
}

/external-user-groups/{id}

Authorizations:
cookieAuth
path Parameters
id
required
string

The ID of the external user group

query Parameters
actionName
required
string

The action to perform on group delete

transferToUserGroupId
string

The ID of the user group to transfer to

transferToUserGroupType
string

The type of the user group to transfer to

Responses

Response samples

Content type
application/json
{
  • "userGroups": [
    ]
}

/external-user-groups/{id}

Authorizations:
cookieAuth
path Parameters
id
required
string

The ID of the external user group

Request Body schema: application/json
required
description
string

Responses

Request samples

Content type
application/json
{
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "userGroup": { }
}

/external-user-groups/{id}/external-user-group-relations

Authorizations:
cookieAuth
path Parameters
id
required
string

The ID of the external user group

Responses

Response samples

Content type
application/json
{
  • "userGroupRelations": [
    ]
}

Get LDAP sync settings

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "ldapGroupSearchBase": "string",
  • "ldapGroupMembershipAttribute": "string",
  • "ldapGroupMembershipAttributeType": "string",
  • "ldapGroupChildGroupAttribute": "string",
  • "autoGenerateUserOnLdapGroupSync": true,
  • "preserveDeletedLdapGroups": true,
  • "ldapGroupNameAttribute": "string",
  • "ldapGroupDescriptionAttribute": "string"
}

Update LDAP sync settings

Authorizations:
cookieAuth
Request Body schema: application/json
required
ldapGroupSearchBase
string
ldapGroupMembershipAttribute
string
ldapGroupMembershipAttributeType
string
ldapGroupChildGroupAttribute
string
autoGenerateUserOnLdapGroupSync
boolean
preserveDeletedLdapGroups
boolean
ldapGroupNameAttribute
string
ldapGroupDescriptionAttribute
string

Responses

Request samples

Content type
application/json
{
  • "ldapGroupSearchBase": "string",
  • "ldapGroupMembershipAttribute": "string",
  • "ldapGroupMembershipAttributeType": "string",
  • "ldapGroupChildGroupAttribute": "string",
  • "autoGenerateUserOnLdapGroupSync": true,
  • "preserveDeletedLdapGroups": true,
  • "ldapGroupNameAttribute": "string",
  • "ldapGroupDescriptionAttribute": "string"
}

Response samples

Content type
application/json
{ }

Get Keycloak sync settings

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "keycloakHost": "string",
  • "keycloakGroupRealm": "string",
  • "keycloakGroupSyncClientRealm": "string",
  • "keycloakGroupSyncClientID": "string",
  • "keycloakGroupSyncClientSecret": "string",
  • "autoGenerateUserOnKeycloakGroupSync": true,
  • "preserveDeletedKeycloakGroups": true,
  • "keycloakGroupDescriptionAttribute": "string"
}

/external-user-groups/keycloak/sync-settings

Authorizations:
cookieAuth
Request Body schema: application/json
required
keycloakHost
string
keycloakGroupRealm
string
keycloakGroupSyncClientRealm
string
keycloakGroupSyncClientID
string
keycloakGroupSyncClientSecret
string
autoGenerateUserOnKeycloakGroupSync
boolean
preserveDeletedKeycloakGroups
boolean
keycloakGroupDescriptionAttribute
string

Responses

Request samples

Content type
application/json
{
  • "keycloakHost": "string",
  • "keycloakGroupRealm": "string",
  • "keycloakGroupSyncClientRealm": "string",
  • "keycloakGroupSyncClientID": "string",
  • "keycloakGroupSyncClientSecret": "string",
  • "autoGenerateUserOnKeycloakGroupSync": true,
  • "preserveDeletedKeycloakGroups": true,
  • "keycloakGroupDescriptionAttribute": "string"
}

Response samples

Content type
application/json
{ }

Start LDAP sync process

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{ }

/external-user-groups/keycloak/sync

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{ }

/external-user-groups/ldap/sync-status

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "isExecutingSync": true,
  • "totalCount": 0,
  • "count": 0
}

SecuritySetting

getSecuritySetting

Get security paramators

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "securityParams": {
    }
}

putEnabledForSecuritySettingAuthentication

Update authentication isEnabled

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
isEnabled
boolean
authId
string

Responses

Request samples

Content type
application/json
{
  • "isEnabled": true,
  • "authId": "string"
}

Response samples

Content type
application/json
{ }

/security-setting/authentication

Get setup strategies for passport

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "setupStrategies": [
    ]
}

/security-setting/general-setting

Update GeneralSetting

Authorizations:
cookieAuth
Request Body schema: application/json
required
restrictGuestMode
string

type of restrictGuestMode

pageDeletionAuthority
string

type of pageDeletionAuthority

pageRecursiveDeletionAuthority
string

type of pageRecursiveDeletionAuthority

pageRecursiveCompleteDeletionAuthority
string

type of pageRecursiveCompleteDeletionAuthority

isAllGroupMembershipRequiredForPageCompleteDeletion
boolean

enable all group membership required for page complete deletion

pageCompleteDeletionAuthority
string

type of pageDeletionAuthority

hideRestrictedByOwner
boolean

enable hide by owner

hideRestrictedByGroup
boolean

enable hide by group

isUsersHomepageDeletionEnabled
boolean

enable user homepage deletion

isForceDeleteUserHomepageOnUserDeletion
boolean

enable force delete user homepage on user deletion

isRomUserAllowedToComment
boolean

enable rom user allowed to comment

wikiMode
string

type of wikiMode

sessionMaxAge
integer

max age of session

Responses

Request samples

Content type
application/json
{
  • "restrictGuestMode": "string",
  • "pageDeletionAuthority": "string",
  • "pageRecursiveDeletionAuthority": "string",
  • "pageRecursiveCompleteDeletionAuthority": "string",
  • "isAllGroupMembershipRequiredForPageCompleteDeletion": true,
  • "pageCompleteDeletionAuthority": "string",
  • "hideRestrictedByOwner": true,
  • "hideRestrictedByGroup": true,
  • "isUsersHomepageDeletionEnabled": true,
  • "isForceDeleteUserHomepageOnUserDeletion": true,
  • "isRomUserAllowedToComment": true,
  • "wikiMode": "string",
  • "sessionMaxAge": 0
}

Response samples

Content type
application/json
{
  • "restrictGuestMode": "string",
  • "pageDeletionAuthority": "string",
  • "pageRecursiveDeletionAuthority": "string",
  • "pageRecursiveCompleteDeletionAuthority": "string",
  • "isAllGroupMembershipRequiredForPageCompleteDeletion": true,
  • "pageCompleteDeletionAuthority": "string",
  • "hideRestrictedByOwner": true,
  • "hideRestrictedByGroup": true,
  • "isUsersHomepageDeletionEnabled": true,
  • "isForceDeleteUserHomepageOnUserDeletion": true,
  • "isRomUserAllowedToComment": true,
  • "wikiMode": "string",
  • "sessionMaxAge": 0
}

/security-setting/share-link-setting

Update ShareLink Setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
disableLinkSharing
boolean

disable link sharing

Responses

Request samples

Content type
application/json
{
  • "disableLinkSharing": true
}

Response samples

Content type
application/json
{
  • "securitySettingParams": {
    }
}

/security-setting/all-share-links

Get All ShareLinks at Share Link Setting

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "securityParams": { }
}

/security-setting/all-share-links

Delete All ShareLinks at Share Link Setting

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "removeTotal": 0
}

/security-setting/local-setting

Update LocalSetting

Authorizations:
cookieAuth
Request Body schema: application/json
required
useOnlyEnvVarsForSomeOptions
boolean

use only env vars for some options

isPasswordResetEnabled
boolean

enable password reset

isEmailAuthenticationEnabled
boolean

enable email authentication

isLocalEnabled
boolean

local setting mode

registrationMode
string

type of registrationMode

registrationWhitelist
Array of strings

array of regsitrationList

Responses

Request samples

Content type
application/json
{
  • "useOnlyEnvVarsForSomeOptions": true,
  • "isPasswordResetEnabled": true,
  • "isEmailAuthenticationEnabled": true,
  • "isLocalEnabled": true,
  • "registrationMode": "string",
  • "registrationWhitelist": [
    ]
}

Response samples

Content type
application/json
{
  • "localSettingParams": {
    }
}

/security-setting/ldap

Update LDAP setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
serverUrl
string

server url for ldap

isUserBind
boolean

enable user bind

ldapBindDN
string

the query used to bind with the directory service

ldapBindDNPassword
string

the password that is entered in the login page will be used to bind

ldapSearchFilter
string

the query used to locate the authenticated user

ldapAttrMapUsername
string

specification of mappings for username when creating new users

isSameUsernameTreatedAsIdenticalUser
boolean

local account automatically linked the user name matched

ldapAttrMapMail
string

specification of mappings for mail address when creating new users

ldapAttrMapName
string

Specification of mappings for full name address when creating new users

ldapGroupSearchBase
string

the base DN from which to search for groups.

ldapGroupSearchFilter
string

the query used to filter for groups

ldapGroupDnProperty
string

The property of user object to use in dn interpolation of Group Search Filter

Responses

Request samples

Content type
application/json
{
  • "serverUrl": "string",
  • "isUserBind": true,
  • "ldapBindDN": "string",
  • "ldapBindDNPassword": "string",
  • "ldapSearchFilter": "string",
  • "ldapAttrMapUsername": "string",
  • "isSameUsernameTreatedAsIdenticalUser": true,
  • "ldapAttrMapMail": "string",
  • "ldapAttrMapName": "string",
  • "ldapGroupSearchBase": "string",
  • "ldapGroupSearchFilter": "string",
  • "ldapGroupDnProperty": "string"
}

Response samples

Content type
application/json
{
  • "securitySettingParams": {
    }
}

/security-setting/saml

Update SAML setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
missingMandatoryConfigKeys
Array of strings

array of missing mandatory config keys

useOnlyEnvVarsForSomeOptions
boolean

use only env vars for some options

samlEntryPoint
string

entry point for saml

samlIssuer
string

issuer for saml

samlEnvVarIssuer
string

issuer for saml

samlCert
string

certificate for saml

samlEnvVarCert
string

certificate for saml

samlAttrMapId
string

attribute mapping id for saml

samlAttrMapUserName
string

attribute mapping user name for saml

samlAttrMapMail
string

attribute mapping mail for saml

samlEnvVarAttrMapId
string

attribute mapping id for saml

samlEnvVarAttrMapUserName
string

attribute mapping user name for saml

samlEnvVarAttrMapMail
string

attribute mapping mail for saml

samlAttrMapFirstName
string

attribute mapping first name for saml

samlAttrMapLastName
string

attribute mapping last name for saml

samlEnvVarAttrMapFirstName
string

attribute mapping first name for saml

samlEnvVarAttrMapLastName
string

attribute mapping last name for saml

isSameUsernameTreatedAsIdenticalUser
boolean

local account automatically linked the user name matched

isSameEmailTreatedAsIdenticalUser
boolean

local account automatically linked the email matched

samlABLCRule
string

ABLCRule for saml

samlEnvVarABLCRule
string

ABLCRule for saml

Responses

Request samples

Content type
application/json
{
  • "missingMandatoryConfigKeys": [
    ],
  • "useOnlyEnvVarsForSomeOptions": true,
  • "samlEntryPoint": "string",
  • "samlIssuer": "string",
  • "samlEnvVarIssuer": "string",
  • "samlCert": "string",
  • "samlEnvVarCert": "string",
  • "samlAttrMapId": "string",
  • "samlAttrMapUserName": "string",
  • "samlAttrMapMail": "string",
  • "samlEnvVarAttrMapId": "string",
  • "samlEnvVarAttrMapUserName": "string",
  • "samlEnvVarAttrMapMail": "string",
  • "samlAttrMapFirstName": "string",
  • "samlAttrMapLastName": "string",
  • "samlEnvVarAttrMapFirstName": "string",
  • "samlEnvVarAttrMapLastName": "string",
  • "isSameUsernameTreatedAsIdenticalUser": true,
  • "isSameEmailTreatedAsIdenticalUser": true,
  • "samlABLCRule": "string",
  • "samlEnvVarABLCRule": "string"
}

Response samples

Content type
application/json
{
  • "securitySettingParams": {
    }
}

/security-setting/oidc

Update OpenID Connect setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
oidcProviderName
string

provider name for oidc

oidcIssuerHost
string

issuer host for oidc

oidcAuthorizationEndpoint
string

authorization endpoint for oidc

oidcTokenEndpoint
string

token endpoint for oidc

oidcRevocationEndpoint
string

revocation endpoint for oidc

oidcIntrospectionEndpoint
string

introspection endpoint for oidc

oidcUserInfoEndpoint
string

userinfo endpoint for oidc

oidcEndSessionEndpoint
string

end session endpoint for oidc

oidcRegistrationEndpoint
string

registration endpoint for oidc

oidcJWKSUri
string

JSON Web Key Set URI for oidc

oidcClientId
string

client id for oidc

oidcClientSecret
string

client secret for oidc

oidcAttrMapId
string

attr map id for oidc

oidcAttrMapUserName
string

attr map username for oidc

oidcAttrMapName
string

attr map name for oidc

oidcAttrMapMail
string

attr map mail for oidc

isSameUsernameTreatedAsIdenticalUser
boolean

local account automatically linked the user name matched

isSameEmailTreatedAsIdenticalUser
boolean

local account automatically linked the email matched

Responses

Request samples

Content type
application/json
{
  • "oidcProviderName": "string",
  • "oidcIssuerHost": "string",
  • "oidcAuthorizationEndpoint": "string",
  • "oidcTokenEndpoint": "string",
  • "oidcRevocationEndpoint": "string",
  • "oidcIntrospectionEndpoint": "string",
  • "oidcUserInfoEndpoint": "string",
  • "oidcEndSessionEndpoint": "string",
  • "oidcRegistrationEndpoint": "string",
  • "oidcJWKSUri": "string",
  • "oidcClientId": "string",
  • "oidcClientSecret": "string",
  • "oidcAttrMapId": "string",
  • "oidcAttrMapUserName": "string",
  • "oidcAttrMapName": "string",
  • "oidcAttrMapMail": "string",
  • "isSameUsernameTreatedAsIdenticalUser": true,
  • "isSameEmailTreatedAsIdenticalUser": true
}

Response samples

Content type
application/json
{
  • "securitySettingParams": {
    }
}

/security-setting/google-oauth

Update google OAuth

Authorizations:
cookieAuth
Request Body schema: application/json
required
googleClientId
string

key of comsumer

googleClientSecret
string

password of comsumer

isSameUsernameTreatedAsIdenticalUser
boolean

local account automatically linked the email matched

Responses

Request samples

Content type
application/json
{
  • "googleClientId": "string",
  • "googleClientSecret": "string",
  • "isSameUsernameTreatedAsIdenticalUser": true
}

Response samples

Content type
application/json
{
  • "securitySettingParams": {
    }
}

/security-setting/github-oauth

Update github OAuth

Authorizations:
cookieAuth
Request Body schema: application/json
required
githubClientId
string

key of comsumer

githubClientSecret
string

password of comsumer

isSameUsernameTreatedAsIdenticalUser
boolean

local account automatically linked the email matched

Responses

Request samples

Content type
application/json
{
  • "githubClientId": "string",
  • "githubClientSecret": "string",
  • "isSameUsernameTreatedAsIdenticalUser": true
}

Response samples

Content type
application/json
{
  • "securitySettingParams": {
    }
}

MarkDownSetting

Get markdown parameters

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "markdownParams": {
    }
}

Update lineBreak setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
isEnabledLinebreaks
boolean

enable lineBreak

isEnabledLinebreaksInComments
boolean

enable lineBreak in comment

Responses

Request samples

Content type
application/json
{
  • "isEnabledLinebreaks": true,
  • "isEnabledLinebreaksInComments": true
}

Response samples

Content type
application/json
{
  • "lineBreaksParams": {
    }
}

Update indent setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
adminPreferredIndentSize
number

preferred indent size

isIndentSizeForced
boolean

force indent size

Responses

Request samples

Content type
application/json
{
  • "adminPreferredIndentSize": 0,
  • "isIndentSizeForced": true
}

Response samples

Content type
application/json
{
  • "indentParams": {
    }
}

Update XSS setting

Update xss

Authorizations:
cookieAuth
Request Body schema: application/json
required
isEnabledXss
boolean

enable xss

xssOption
number

number of xss option

tagWhitelist
Array of strings

array of tag whitelist

attrWhitelist
string

attr whitelist

Responses

Request samples

Content type
application/json
{
  • "isEnabledXss": true,
  • "xssOption": 0,
  • "tagWhitelist": [
    ],
  • "attrWhitelist": "string"
}

Response samples

Content type
application/json
{
  • "isEnabledXss": true,
  • "xssOption": 0,
  • "tagWhitelist": [
    ],
  • "attrWhitelist": "string"
}

CustomizeSetting

/customize-setting

Get customize parameters

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "customizeParams": {
    }
}

/customize-setting/layout

Get layout

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "isContainerFluid": true
}

/customize-setting/layout

Update layout

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
isContainerFluid
boolean

Responses

Request samples

Content type
application/json
{
  • "isContainerFluid": true
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/theme

Get theme

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "currentTheme": "string",
  • "pluginThemesMetadatas": [
    ]
}

/customize-setting/theme

Update theme

Authorizations:
cookieAuth
Request Body schema: application/json
required
theme
string

Responses

Request samples

Content type
application/json
{
  • "theme": "string"
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/sidebar

Get sidebar

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "isSidebarCollapsedMode": true
}

/customize-setting/sidebar

Update sidebar

Authorizations:
cookieAuth
Request Body schema: application/json
required
isSidebarCollapsedMode
boolean

The flag whether sidebar is collapsed mode or not.

Responses

Request samples

Content type
application/json
{
  • "isSidebarCollapsedMode": true
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/function

Update function

Authorizations:
cookieAuth
Request Body schema: application/json
required
isEnabledTimeline
boolean
isEnabledAttachTitleHeader
boolean
pageLimitationS
number
pageLimitationM
number
isEnabledStaleNotification
boolean
isAllReplyShown
boolean
isSearchScopeChildrenAsDefault
boolean

Responses

Request samples

Content type
application/json
{
  • "isEnabledTimeline": true,
  • "isEnabledAttachTitleHeader": true,
  • "pageLimitationS": 0,
  • "pageLimitationM": 0,
  • "isEnabledStaleNotification": true,
  • "isAllReplyShown": true,
  • "isSearchScopeChildrenAsDefault": true
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/presentation

Update presentation

Authorizations:
cookieAuth
Request Body schema: application/json
required
isEnabledMarp
boolean

The flag whether Marp is enabled or not.

Responses

Request samples

Content type
application/json
{
  • "isEnabledMarp": true
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/highlight

Update highlight

Authorizations:
cookieAuth
Request Body schema: application/json
required
highlightJsStyle
string
highlightJsStyleBorder
boolean

Responses

Request samples

Content type
application/json
{
  • "highlightJsStyle": "string",
  • "highlightJsStyleBorder": true
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/customizeTitle

Update title

Authorizations:
cookieAuth
Request Body schema: application/json
required
customizeTitle
string

Responses

Request samples

Content type
application/json
{
  • "customizeTitle": "string"
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/customize-noscript

Update noscript

Authorizations:
cookieAuth
Request Body schema: application/json
required
customizeNoscript
string

Responses

Request samples

Content type
application/json
{
  • "customizeNoscript": "string"
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/customize-css

Update customize css

Authorizations:
cookieAuth
Request Body schema: application/json
required
customizeCss
string

Responses

Request samples

Content type
application/json
{
  • "customizeCss": "string"
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/customize-script

Update customize script

Authorizations:
cookieAuth
Request Body schema: application/json
required
customizeScript
string

Responses

Request samples

Content type
application/json
{
  • "customizeScript": "string"
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/customize-logo

Update customize logo

Authorizations:
cookieAuth
Request Body schema: application/json
required
isDefaultLogo
boolean

The flag whether the logo is default or not.

Responses

Request samples

Content type
application/json
{
  • "isDefaultLogo": true
}

Response samples

Content type
application/json
{
  • "customizedParams": {
    }
}

/customize-setting/upload-brand-logo

Upload brand logo

Authorizations:
cookieAuth
Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "attachment": {
    }
}

/customize-setting/delete-brand-logo

Delete brand logo

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{ }

Import

/import/status

Get properties of stored zip files for import

Authorizations:
beareraccessTokenInQuery

Responses

Response samples

Content type
application/json
{
  • "status": {
    }
}

/import

import a collection from a zipped json

Authorizations:
beareraccessTokenInQuery
Request Body schema: application/json
required
fileName
string

the file name of zip file

collections
Array of strings

collection names to import

object

the array of importing option that have collection name as the key

Responses

Request samples

Content type
application/json
{
  • "fileName": "string",
  • "collections": [
    ],
  • "options": {
    }
}

/import/upload

upload a zip file

Authorizations:
beareraccessTokenInQuery
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "fileName": "string",
  • "zipFilePath": "string",
  • "fileStat": {
    },
  • "innerFileStats": [
    ]
}

/import/all

Delete all zip files

Authorizations:
beareraccessTokenInQuery

Responses

Export

/export/status

get properties of stored zip files for export

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "ok": true,
  • "status": {
    }
}

/export

generate zipped jsons for collections

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
collections
Array of strings

Responses

Request samples

Content type
application/json
{
  • "collections": [
    ]
}

Response samples

Content type
application/json
{
  • "ok": true
}

/export/{fileName}

delete the file

Authorizations:
(beareraccessTokenInQuery)
path Parameters
fileName
required
string

the file name of zip file

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

GROWI to GROWI Transfer

/g2g-transfer/files

Authorizations:
transferHeaderAuth

Responses

Response samples

Content type
application/json
{
  • "files": [
    ]
}

/g2g-transfer

Authorizations:
transferHeaderAuth
Request Body schema: multipart/form-data
required
file
string <binary>

The zip file of the data to be transferred

collections
Array of strings

The list of MongoDB collections to be transferred

optionsMap
object

The map of options for each collection

operatorUserId
string

The ID of the operator user

uploadConfigs
object

The map of upload configurations

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

/g2g-transfer/attachment

Authorizations:
transferHeaderAuth
Request Body schema: multipart/form-data
required
file
string <binary>

The zip file of the data to be transferred

attachmentMetadata
object

Metadata of the attachment

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

/g2g-transfer/growi-info

Authorizations:
transferHeaderAuth

Responses

Response samples

Content type
application/json
{
  • "growiInfo": {
    }
}

/g2g-transfer/generate-key

Authorizations:
beareraccessTokenInQuery
Request Body schema: application/json
required
appSiteUrl
string

The URL of the GROWI

Responses

Request samples

Content type
application/json
{
  • "appSiteUrl": "string"
}

Response samples

Content type
application/json
{
  • "transferKey": "string"
}

/g2g-transfer/transfer

Authorizations:
beareraccessTokenInQuery
Request Body schema: application/json
required
transferKey
string

The transfer key

collections
Array of strings

The list of MongoDB collections to be transferred

optionsMap
object

The map of options for each collection

Responses

Request samples

Content type
application/json
{
  • "transferKey": "string",
  • "collections": [
    ],
  • "optionsMap": { }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

MongoDB

/mongo/collections

get mongodb collections names

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "ok": true,
  • "collections": [
    ]
}

NotificationSetting

/in-app-notification/list

Get the list of in-app notifications

Authorizations:
beareraccessTokenInQuery
query Parameters
limit
integer

The number of notifications to get

offset
integer

The number of notifications to skip

status
string

The status to categorize. 'UNOPENED' or 'OPENED'.

Responses

Response samples

Content type
application/json
{
  • "docs": [
    ],
  • "totalDocs": 0,
  • "offset": 0,
  • "limit": 0,
  • "totalPages": 0,
  • "page": 0,
  • "hasPrevPage": true,
  • "hasNextPage": true,
  • "prevPage": "string",
  • "nextPage": "string"
}

/in-app-notification/status

Get the status of in-app notifications

Authorizations:
beareraccessTokenInQuery

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

/in-app-notification/open

Open the in-app notification

Authorizations:
beareraccessTokenInQuery
Request Body schema: application/json
id
required
string

Notification ID

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
{ }

/in-app-notification/all-statuses-open

Open all in-app notifications

Authorizations:
beareraccessTokenInQuery

Responses

getNotificationSetting

Get notification paramators

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "notificationParams": {
    }
}

postUserNotificationForNotificationSetting

add user notification setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
pathPattern
string

path name of wiki

channel
string

slack channel name without '#'

Responses

Request samples

Content type
application/json
{
  • "pathPattern": "string",
  • "channel": "string"
}

Response samples

Content type
application/json
{
  • "responseParams": {
    }
}

deleteUserNotificationByIdForNotificationSetting

delete user trigger notification pattern

Authorizations:
cookieAuth
path Parameters
id
required
string

id of user trigger notification

Responses

Response samples

Content type
application/json
{
  • "channel": "string",
  • "pathPattern": "string",
  • "createdAt": "string",
  • "creator": {
    },
  • "patternPrefix": "string",
  • "patternPrefix2": "string",
  • "provider": "string",
  • "updatedAt": "string",
  • "__v": 0,
  • "_id": "string"
}

getGlobalNotificationByIdForNotificationSetting

get global notification setting

Authorizations:
cookieAuth
path Parameters
id
required
string

id of global notification

Responses

Response samples

Content type
application/json
{
  • "globalNotification": {
    }
}

putGlobalNotificationByIdForNotificationSetting

update global notification

Authorizations:
(beareraccessTokenInQuery)
path Parameters
id
required
string

global notification id for updated

Request Body schema: application/json
required
notifyType
string

What is type for notify

toEmail
string

email for notify

slackChannels
string

channels for notify

triggerPath
string

trigger path for notify

triggerEvents
Array of strings

trigger events for notify

Responses

Request samples

Content type
application/json
{
  • "notifyType": "string",
  • "toEmail": "string",
  • "slackChannels": "string",
  • "triggerPath": "string",
  • "triggerEvents": [
    ]
}

Response samples

Content type
application/json
{
  • "createdNotification": {
    }
}

deleteGlobalNotificationByIdForNotificationSetting

delete global notification pattern

Authorizations:
cookieAuth
path Parameters
id
required
string

id of global notification

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "isEnabled": true,
  • "triggerEvents": [
    ],
  • "__t": "string",
  • "slackChannels": "string",
  • "triggerPath": "string",
  • "__v": 0
}

postGlobalNotificationForNotificationSetting

add global notification

Authorizations:
cookieAuth
Request Body schema: application/json
required
notifyType
string

What is type for notify

toEmail
string

email for notify

slackChannels
string

channels for notify

triggerPath
string

trigger path for notify

triggerEvents
Array of strings

trigger events for notify

Responses

Request samples

Content type
application/json
{
  • "notifyType": "string",
  • "toEmail": "string",
  • "slackChannels": "string",
  • "triggerPath": "string",
  • "triggerEvents": [
    ]
}

Response samples

Content type
application/json
{
  • "createdNotification": {
    }
}

putNotifyForPageGrantForNotificationSetting

Update settings for notify for page grant

Authorizations:
cookieAuth
Request Body schema: application/json
required
isNotificationForOwnerPageEnabled
boolean

Whether to notify on owner page

isNotificationForGroupPageEnabled
boolean

Whether to notify on group page

Responses

Request samples

Content type
application/json
{
  • "isNotificationForOwnerPageEnabled": true,
  • "isNotificationForGroupPageEnabled": true
}

Response samples

Content type
application/json
{
  • "isNotificationForOwnerPageEnabled": true,
  • "isNotificationForGroupPageEnabled": true
}

putEnabledByIdForNotificationSettingGlobalNotification

toggle enabled global notification

Authorizations:
cookieAuth
path Parameters
id
required
string

notification id for updated

Request Body schema: application/json
required
isEnabled
boolean

is notification enabled

Responses

Request samples

Content type
application/json
{
  • "isEnabled": true
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Plugins

/plugins

Install a plugin

Authorizations:
cookieAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "pluginInstallerForm": {
    }
}

Response samples

Content type
application/json
{
  • "pluginName": "string"
}

/plugins/{id}/activate

Activate a plugin

Authorizations:
cookieAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "pluginName": "string"
}

/plugins/{id}/remove

Remove a plugin

Authorizations:
cookieAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "pluginName": "string"
}

SlackIntegration

/slack-integration/commands

Handle Slack commands

Authorizations:
cookieAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
"No text."

/slack-integration/proxied/verify

Verify the access token

Authorizations:
cookieAuth
Request Body schema: application/json
required
type
string
challenge
string

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "challenge": "string"
}

Response samples

Content type
application/json
{
  • "challenge": "string"
}

/slack-integration/proxied/commands

Handle Slack commands

Authorizations:
cookieAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
"No text."

/slack-integration/interactions

Handle Slack interactions

Authorizations:
cookieAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

/slack-integration/proxied/interactions

Handle Slack interactions

Authorizations:
cookieAuth
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{ }

/slack-integration/supported-commands

Get supported commands

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "permissionsForBroadcastUseCommands": [
    ],
  • "permissionsForSingleUseCommands": [
    ]
}

/slack-integration/events

Handle Slack events

Authorizations:
cookieAuth
Request Body schema: application/json
required
event
object

Responses

Request samples

Content type
application/json
{
  • "event": { }
}

Response samples

Content type
application/json
{ }

/slack-integration/proxied/events

Handle Slack events

Authorizations:
cookieAuth
Request Body schema: application/json
required
growiBotEvent
object
data
object

Responses

Request samples

Content type
application/json
{
  • "growiBotEvent": { },
  • "data": { }
}

Response samples

Content type
application/json
{ }

SlackIntegrationSettings

/slack-integration-settings

Get current settings and connection statuses.

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "currentBotType": "string",
  • "settings": {
    },
  • "connectionStatuses": { },
  • "errorMsg": "string",
  • "errorCode": "string"
}

/slack-integration/bot-type

Put botType setting.

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
currentBotType
string

Responses

Request samples

Content type
application/json
{
  • "currentBotType": "string"
}

/slack-integration/bot-type

Delete botType setting.

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
currentBotType
string

Responses

Request samples

Content type
application/json
{
  • "currentBotType": "string"
}

SlackIntegrationSettings (with proxy)

/slack-integration-settings/slack-app-integrations

Generate SlackAppIntegrations

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "tokenGtoP": "string",
  • "tokenPtoG": "string",
  • "permissionsForBroadcastUseCommands": { },
  • "permissionsForSingleUseCommands": { },
  • "permissionsForSlackEvents": { },
  • "isPrimary": true
}

/slack-integration-settings/slack-app-integrations/:id

Delete accessTokens

Authorizations:
cookieAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "response": { }
}

/slack-integration-settings/proxy-uri

Update proxy uri

Authorizations:
cookieAuth
Request Body schema: application/json
required
proxyUri
string

Responses

Request samples

Content type
application/json
{
  • "proxyUri": "string"
}

Response samples

Content type
application/json
{ }

/slack-integration-settings/slack-app-integrations/:id/makeprimary

Make SlackAppTokens primary

Authorizations:
cookieAuth
path Parameters
id
required
string

Responses

/slack-integration-settings/slack-app-integrations/:id/regenerate-tokens

Regenerate SlackAppTokens

Authorizations:
cookieAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{ }

/slack-integration-settings/slack-app-integrations/:id/permissions

update supported commands

Authorizations:
cookieAuth
path Parameters
id
required
string
Request Body schema: application/json
required
permissionsForBroadcastUseCommands
object
permissionsForSingleUseCommands
object
permissionsForSlackEventActions
object

Responses

Request samples

Content type
application/json
{
  • "permissionsForBroadcastUseCommands": { },
  • "permissionsForSingleUseCommands": { },
  • "permissionsForSlackEventActions": { }
}

Response samples

Content type
application/json
{ }

/slack-integration-settings/slack-app-integrations/:id/relation-test

Delete botType setting.

Authorizations:
cookieAuth
path Parameters
id
required
string
Request Body schema: application/json
required
channel
string

Responses

Request samples

Content type
application/json
{
  • "channel": "string"
}

SlackIntegrationSettings (without proxy)

/slack-integration-settings/without-proxy/update-settings

Update customBotWithoutProxy setting.

Authorizations:
cookieAuth
Request Body schema: application/json
required
slackSigningSecret
string
slackBotToken
string

Responses

Request samples

Content type
application/json
{
  • "slackSigningSecret": "string",
  • "slackBotToken": "string"
}

/slack-integration-settings/without-proxy/update-permissions

Update customBotWithoutProxy permissions.

Authorizations:
cookieAuth
Request Body schema: application/json
required
commandPermission
object
eventActionsPermission
object

Responses

Request samples

Content type
application/json
{
  • "commandPermission": { },
  • "eventActionsPermission": { }
}

/slack-integration-settings/without-proxy/test

Test the connection with slack work space.

Authorizations:
cookieAuth
Request Body schema: application/json
channel
string

Responses

Request samples

Content type
application/json
{
  • "channel": "string"
}

SlackIntegrationLegacySetting

getSlackIntegrationLegacySetting

Get slack configuration setting

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "slackIntegrationParams": {
    }
}

putSlackIntegrationLegacySetting

Update slack configuration setting

Authorizations:
cookieAuth
Request Body schema: application/json
required
webhookUrl
string

incoming webhooks url

isIncomingWebhookPrioritized
boolean

use incoming webhooks even if Slack App settings are enabled

slackToken
string

OAuth access token

Responses

Request samples

Content type
application/json
{
  • "webhookUrl": "string",
  • "isIncomingWebhookPrioritized": true,
  • "slackToken": "string"
}

Response samples

Content type
application/json
{
  • "responseParams": {
    }
}

Templates

/templates

Get all templates

Authorizations:
cookieAuth
query Parameters
includeInvalidTemplates
boolean

Whether to include invalid templates

Responses

Response samples

Content type
application/json
{
  • "summaries": {
    }
}

/templates/preset-templates/{templateId}/{locale}

Get a preset template

Authorizations:
cookieAuth
path Parameters
templateId
required
string

The template ID

locale
required
string

The locale

Responses

Response samples

Content type
application/json
{
  • "markdown": "string"
}

/templates/plugin-templates/{organizationId}/{reposId}/{templateId}/{locale}

Get a plugin template

Authorizations:
cookieAuth
path Parameters
organizationId
required
string

The organization ID

reposId
required
string

The repository ID

templateId
required
string

The template ID

locale
required
string

The locale

Responses

Response samples

Content type
application/json
{
  • "markdown": "string"
}

UserGroupRelations

/user-group-relations

Gets the user group relations

Authorizations:
cookieAuth

Responses

Response samples

Content type
application/json
{
  • "userGroupRelations": {
    }
}

UserGroups

/user-groups

Get usergroups

Authorizations:
cookieAuth
query Parameters
page
number

page number

limit
number

number of items per page

offset
number

offset

pagination
boolean

whether to paginate

Responses

Response samples

Content type
application/json
{
  • "userGroups": { },
  • "totalUserGroups": 0,
  • "pagingLimit": 0
}

/user-groups

Adds userGroup

Authorizations:
cookieAuth
Request Body schema: application/json
required
name
string

name of the userGroup trying to be added

description
string

description of the userGroup trying to be added

parentId
string

parentId of the userGroup trying to be added

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "parentId": "string"
}

Response samples

Content type
application/json
{
  • "userGroup": { }
}

/user-groups/ancestors

Get ancestor user groups.

Authorizations:
cookieAuth
query Parameters
groupId
required
string

id of userGroup

Responses

Response samples

Content type
application/json
{
  • "ancestorUserGroups": [
    ]
}

/user-groups/children

Get child user groups

Authorizations:
cookieAuth
query Parameters
parentIds
Array of strings

IDs of parent user groups

includeGrandChildren
boolean

Whether to include grandchild user groups

Responses

Response samples

Content type
application/json
{
  • "childUserGroups": [
    ],
  • "grandChildUserGroups": [
    ]
}

/selectable-parent-groups

Get selectable parent UserGroups

Authorizations:
cookieAuth
query Parameters
groupId
required
string

id of userGroup

Responses

Response samples

Content type
application/json
{
  • "selectableParentGroups": [
    ]
}

/selectable-child-groups

Get selectable child UserGroups

Authorizations:
cookieAuth
query Parameters
groupId
required
string

id of userGroup

Responses

Response samples

Content type
application/json
{
  • "selectableChildGroups": [
    ]
}

/user-groups/{id}

Get UserGroup from Group ID

Authorizations:
cookieAuth
path Parameters
id
required
string

id of userGroup

Responses

Response samples

Content type
application/json
{
  • "userGroup": { }
}

/user-groups/{id}

Deletes userGroup

Authorizations:
cookieAuth
path Parameters
id
required
string

id of userGroup

query Parameters
actionName
string

name of action

transferToUserGroupId
string

userGroup id that will be transferred to

transferToUserGroupType
string

userGroup type that will be transferred to

Responses

Response samples

Content type
application/json
{
  • "userGroups": { }
}

/user-groups/{id}

Update userGroup

Authorizations:
cookieAuth
path Parameters
id
required
string

id of userGroup

Request Body schema: application/json
required
name
string

name of the userGroup trying to be updated

description
string

description of the userGroup trying to be updated

parentId
string

parentId of the userGroup trying to be updated

forceUpdateParents
boolean

whether to update parent groups

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "parentId": "string",
  • "forceUpdateParents": true
}

Response samples

Content type
application/json
{
  • "userGroup": { }
}

/user-groups/{id}/users

Get users related to the userGroup

Authorizations:
cookieAuth
path Parameters
id
required
string

id of userGroup

Responses

Response samples

Content type
application/json
{
  • "users": [
    ]
}

/user-groups/{id}/unrelated-users

Get users unrelated to the userGroup

Authorizations:
cookieAuth
path Parameters
id
required
string

id of userGroup

query Parameters
searchWord
string

search word

searchType
string

search type

isAlsoNameSearched
boolean

whether name is also searched

isAlsoMailSearched
boolean

whether mail is also searched

Responses

Response samples

Content type
application/json
{
  • "users": [
    ]
}

/user-groups/{id}/users/{username}

Add a user to the userGroup

Authorizations:
cookieAuth
path Parameters
id
required
string

id of userGroup

username
required
string

username of the user

Responses

Response samples

Content type
application/json
{
  • "user": {
    },
  • "createdRelationCount": 0
}

/user-groups/{id}/users/{username}

remove a user from the userGroup

Authorizations:
cookieAuth
path Parameters
id
required
string

id of userGroup

username
required
string

username of the user

Responses

Response samples

Content type
application/json
{
  • "user": {
    },
  • "deletedGroupsCount": 0
}

/user-groups/{id}/user-group-relations

Get the user group relations for the userGroup

Authorizations:
cookieAuth
path Parameters
id
required
string

id of userGroup

Responses

Response samples

Content type
application/json
{
  • "userGroupRelations": [
    ]
}

/user-groups/{id}/pages

Get closed pages for the userGroup

Authorizations:
cookieAuth
path Parameters
id
required
string

id of userGroup

Responses

Response samples

Content type
application/json
{
  • "pages": [
    ]
}

Users Management

/users/invite

Create new users and send Emails

Authorizations:
cookieAuth
query Parameters
shapedEmailList
object

Invitation emailList

sendEmail
boolean

Whether to send mail

Responses

Response samples

Content type
application/json
{
  • "createdUserList": {
    },
  • "existingEmailList": [
    ],
  • "failedEmailList": {
    }
}

/users/{id}/grant-admin

Grant user admin

Authorizations:
cookieAuth
path Parameters
id
required
string

id of user for admin

Responses

Response samples

Content type
application/json
{
  • "userData": {
    }
}

/users/{id}/revoke-admin

Revoke user admin

Authorizations:
cookieAuth
path Parameters
id
required
string

id of user for revoking admin

Responses

Response samples

Content type
application/json
{
  • "userData": { }
}

/users/{id}/grant-read-only

Grant user read only access

Authorizations:
cookieAuth
path Parameters
id
required
string

id of user for read only access

Responses

Response samples

Content type
application/json
{
  • "userData": {
    }
}

/users/{id}/revoke-read-only

Revoke user read only access

Authorizations:
cookieAuth
path Parameters
id
required
string

id of user for removing read only access

Responses

Response samples

Content type
application/json
{
  • "userData": {
    }
}

/users/{id}/activate

Activate user

Authorizations:
cookieAuth
path Parameters
id
required
string

id of activate user

Responses

Response samples

Content type
application/json
{
  • "userData": {
    }
}

/users/{id}/deactivate

Deactivate user

Authorizations:
cookieAuth
path Parameters
id
required
string

id of deactivate user

Responses

Response samples

Content type
application/json
{
  • "userData": {
    }
}

/users/{id}/remove

Delete user

Authorizations:
cookieAuth
path Parameters
id
required
string

id of delete user

Responses

Response samples

Content type
application/json
{
  • "user": {
    }
}

/users/external-accounts

Get external-account

Authorizations:
cookieAuth
query Parameters
page
number

page number

Responses

Response samples

Content type
application/json
{
  • "paginateResult": {
    }
}

/users/external-accounts/{id}/remove

Delete ExternalAccount

Authorizations:
cookieAuth
path Parameters
id
required
string

id of ExternalAccount

Responses

Response samples

Content type
application/json
{
  • "externalAccount": { }
}

/users/update.imageUrlCache

update imageUrlCache

Authorizations:
cookieAuth
Request Body schema: application/json
userIds
Array of strings

user id list

Responses

Request samples

Content type
application/json
{
  • "userIds": [
    ]
}

Response samples

Content type
application/json
{ }

/users/reset-password

update imageUrlCache

Authorizations:
cookieAuth
Request Body schema: application/json
id
string

user id for reset password

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "newPassword": "string",
  • "user": {
    }
}

/users/reset-password-email

send new password email

Authorizations:
cookieAuth
Request Body schema: application/json
id
string

user id for send new password email

newPassword
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "newPassword": "string"
}

/users/send-invitation-email

send invitation email

Authorizations:
cookieAuth
Request Body schema: application/json
id
string

user id for send invitation email

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "failedToSendEmail": {
    }
}

FullTextSearch Management

/search/indices

Get current status of indices

Authorizations:
(beareraccessTokenInQuery)

Responses

Response samples

Content type
application/json
{
  • "info": {
    }
}

/search/indices

Operate indices

Authorizations:
(beareraccessTokenInQuery)
Request Body schema: application/json
required
operation
string
Enum: "normalize" "rebuild"

Operation type against to indices > * normalize - Normalize indices * rebuild - Rebuild indices

Responses

Request samples

Content type
application/json
{
  • "operation": "normalize"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

/search/connection

Reconnect to Elasticsearch

Authorizations:
(beareraccessTokenInQuery)

Responses

Install

/installer

Install GROWI

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "registerForm": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Installation completed (Logged in as an admin user)"
}

Healthcheck

/healthcheck

Check whether the server is healthy or not

query Parameters
checkServices
Array of strings
Items Enum: "mongo" "search"

The list of services to check health

strictly
boolean

Check services and responds 503 if either of these is unhealthy

Responses

Response samples

Content type
application/json
{
  • "info": {
    }
}

Statistics

/statistics/user

Get statistics for user

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}