admin

29 endpoints
GET/rest/admin/hostnames

List hostnames

Returns a paginated list of all alias hostnames, including their hostname, disabled state, and deletion status.

Parameters
Query Parameters
alias_name
Optional
string

Alias name

alias_name:contains
Optional
string

Alias name. Search for results that contain the specified characters in this parameter.

tenant_id
Optional
integer

Tenant ID

tenant_id:gt
Optional
integer

Tenant ID. Search for results where this parameter value is greater than the specified value.

tenant_id:gte
Optional
integer

Tenant ID. Search for results where this parameter value is greater than or equal to the specified value.

tenant_id:lt
Optional
integer

Tenant ID. Search for results where this parameter value is less than the specified value.

tenant_id:lte
Optional
integer

Tenant ID. Search for results where this parameter value is less than or equal to the specified value.

deleted
Optional
boolean

Filter by whether the hostname is deleted.

disabled
Optional
boolean

Filter by whether the hostname is disabled.

orderBy
Optional
string[]

Sorting options

offset
Optional
integer

Offset

limit
Optional
integer

Limit

with
Optional
string

With parameters

mode
Optional
string

Determines the detail level of the response body.


Responses

List of hostnames retrieved successfully.

id
Required
integer

Hostname unique identifier

hostname
string

Hostname

deleted
boolean

Indicates whether the hostname is deleted

disabled
boolean

Indicates whether the hostname is disabled

links
string[]

HATEOAS links associated with the entity

total
integer

Total number of items available.

limit
integer

Maximum number of items returned per page.

offset
integer

Number of items skipped before the current page.

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/hostnames" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/hostnames"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "data": [ { "id": 1, "hostname": "alias.example.com", "deleted": false, "disabled": false } ], "metadata": { "total": 1, "limit": 50, "offset": 0 } }
// Error - No Body
POST/rest/admin/hostnames

Create an alias hostname

Creates a new alias hostname for the current tenant. The hostname must be a valid subdomain of the configured site domain and must not already exist.

Parameters
Query Parameters
returnEntity
Optional
boolean

If set to true, returns information about the newly created entity.

mode
Optional
string

Determines the detail level of the response body.


Request Body
hostname
Required
string

Hostname

disabled
boolean

Disable hostname

addLinks
boolean

Indicates whether HATEOAS links should be included in the response


Responses

Hostname created successfully.

id
Required
integer

Hostname unique identifier

hostname
string

Hostname

deleted
boolean

Indicates whether the hostname is deleted

disabled
boolean

Indicates whether the hostname is disabled

links
string[]

HATEOAS links associated with the entity

Conflict

Possible error codes: ERR_ENTITY_EXISTS

code
string

Error code

message
string

Error message

Unprocessable Content

Possible error codes: ERR_INPUT_REQUIRED, ERR_INPUT_NOT_BOOLEAN

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X POST \
  "https://{instance}.kiteworks.com/rest/admin/hostnames" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "hostname": "string",
         "disabled": true,
         "addLinks": true
       }'
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/hostnames"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
}
payload = {
  "hostname": "string",
  "disabled": true,
  "addLinks": true
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
Responses
{ "id": 2, "hostname": "newteam.example.com", "deleted": false, "disabled": false }
{ "errors": { "code": "ERR_ENTITY_EXISTS", "message": "Entity exists" } }
{ "errors": { "code": "ERR_INPUT_REQUIRED", "message": "Field is required" } }
{ "errors": { "code": "ERR_INPUT_NOT_BOOLEAN", "message": "Input is not a valid boolean" } }
// Error - No Body
DELETE/rest/admin/hostnames

Deletes list of hostnames

Soft-deletes a list of hostnames in a single request. Supports partial success, meaning valid items are processed even if some fail.

Parameters
Query Parameters
id:in
Required
string

A comma-separated list of unique identifiers for the entities to be processed.. A comma-separated list of unique identifiers for the entities to be processed.

partialSuccess
Optional
boolean

If set to true, the operation will continue for the valid items even if some items result in failure.

mode
Optional
string

Determines the detail level of the response body.


Responses

Hostnames deleted successfully.

Empty response body.

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X DELETE \
  "https://{instance}.kiteworks.com/rest/admin/hostnames?id:in=VALUE" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/hostnames"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
params = {
    "id:in": "VALUE",
}
response = requests.delete(url, params=params, headers=headers)
print(response.json())
Responses
// Request successful - No Body
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
// Error - No Body
GET/rest/admin/hostnames/{id}

Returns the details of hostname of the specified ID.

Returns the hostname record identified by the given ID, including its hostname value, disabled state, and deletion status.

Parameters
Path Parameters
id
Required
integer

ID of the hostname to be retrieved


Responses

Hostname details retrieved successfully.

id
Required
integer

Hostname unique identifier

hostname
string

Hostname

deleted
boolean

Indicates whether the hostname is deleted

disabled
boolean

Indicates whether the hostname is disabled

links
string[]

HATEOAS links associated with the entity

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/hostnames/:id" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # ID of the hostname to be retrieved

url = f"https://{{instance}}.kiteworks.com/rest/admin/hostnames/{id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "id": 1, "hostname": "alias.example.com", "deleted": false, "disabled": false }
// Error - No Body
PUT/rest/admin/hostnames/{id}

Disable / enable alias hostname

Updates the disabled state of the specified hostname, allowing it to be enabled or disabled.

Parameters
Path Parameters
id
Required
integer

ID of the hostname to disable


Request Body
disabled
boolean

Disable hostname

addLinks
boolean

Indicates whether HATEOAS links should be included in the response


Responses

Hostname updated successfully.

id
Required
integer

Hostname unique identifier

hostname
string

Hostname

deleted
boolean

Indicates whether the hostname is deleted

disabled
boolean

Indicates whether the hostname is disabled

links
string[]

HATEOAS links associated with the entity

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X PUT \
  "https://{instance}.kiteworks.com/rest/admin/hostnames/:id" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "disabled": true,
         "addLinks": true
       }'
Python
import requests

id = "VALUE"  # ID of the hostname to disable

url = f"https://{{instance}}.kiteworks.com/rest/admin/hostnames/{id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
}
payload = {
  "disabled": true,
  "addLinks": true
}
response = requests.put(url, headers=headers, json=payload)
print(response.json())
Responses
{ "id": 1, "hostname": "alias.example.com", "deleted": false, "disabled": true }
{ "id": 1, "hostname": "alias.example.com", "deleted": false, "disabled": false }
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
// Error - No Body
DELETE/rest/admin/hostnames/{id}

Mark specified hostname as deleted.

Soft-deletes the specified hostname by marking it as deleted. The record is retained but treated as inactive.

Parameters
Path Parameters
id
Required
integer

ID of the hostname


Responses

Hostname marked as deleted successfully.

Empty response body.

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X DELETE \
  "https://{instance}.kiteworks.com/rest/admin/hostnames/:id" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # ID of the hostname

url = f"https://{{instance}}.kiteworks.com/rest/admin/hostnames/{id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.delete(url, headers=headers)
print(response.json())
Responses
// Request successful - No Body
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
// Error - No Body
GET/rest/admin/mail

List emails

Returns a list of emails for any user in the system. This includes sent emails, received emails, draft emails, and request a file emails. Requires admin privileges.

Parameters
Query Parameters
senderId
Optional
string

Unique identifier of User who sent Email

senderId:in
Optional
string

Unique identifier of User who sent Email. Search for results that match any of the specified values for this parameter.

date
Optional
string

Email creation date

date:gt
Optional
string

Email creation date. Search for results where this parameter value is greater than the specified value.

date:gte
Optional
string

Email creation date. Search for results where this parameter value is greater than or equal to the specified value.

date:lt
Optional
string

Email creation date. Search for results where this parameter value is less than the specified value.

date:lte
Optional
string

Email creation date. Search for results where this parameter value is less than or equal to the specified value.

modified_date
Optional
string

Email modification date

modified_date:gt
Optional
string

Email modification date. Search for results where this parameter value is greater than the specified value.

modified_date:gte
Optional
string

Email modification date. Search for results where this parameter value is greater than or equal to the specified value.

modified_date:lt
Optional
string

Email modification date. Search for results where this parameter value is less than the specified value.

modified_date:lte
Optional
string

Email modification date. Search for results where this parameter value is less than or equal to the specified value.

deleted
Optional
boolean

Filter emails based on whether they have been deleted.

emailPackageId
Optional
string

Email Package unique identifier

emailPackageId:in
Optional
string

Email Package unique identifier. Search for results that match any of the specified values for this parameter.

templateId
Optional
integer

Email Template unique identifier

templateId:in
Optional
integer

Email Template unique identifier. Search for results that match any of the specified values for this parameter.

status
Optional
string[]

Filter emails by status. Accepted values: sent, draft, queued, error, self_send, transferring.

isPreview
Optional
boolean

Whether the email is a preview email

isUserSent
Optional
boolean

Whether the email was sent by some user

webFormId
Optional
string

Email web form ID

webFormId:contains
Optional
string

Email web form ID. Search for results that contain the specified characters in this parameter.

orderBy
Optional
string[]

Sorting options

offset
Optional
integer

Offset

limit
Optional
integer

Limit


Responses

Returns a paginated list of emails matching the specified filters.

id
Required
string

Email unique identifier

senderId
Required
string

Unique identifier of User who sent Email

templateId
integer

Email template unique identifier

status
Required
string

Email status. Accepted values: sent, draft, queued, transferring, error, self_send

type
Required
string

Email type. Accepted values: original, resend, forward, reply

date
Required
string

Date and time the email was created

deleted
boolean

Indicates whether the email is deleted

emailPackageId
Required
string

Email Package unique identifier

isPreview
boolean

Indicates whether the email is a preview email

isUserSent
boolean

Indicates whether the email was sent by a user

watermark
string

The watermark on the preview email

id
string

Unique identifier of the email package.

selfCopy
boolean

Indicates whether the package includes a copy for the sender.

includeFingerprint
boolean

Indicates whether a fingerprint (hash) of the package should be included for verification.

expire
integer

Expiration time of the package in seconds from creation.

fileCount
any

Count of the files attached to the package.

deleted
boolean

Indicates whether the package has been marked as deleted.

acl
string

Access control list (ACL) associated with the package, specifying who can access it.

emailPackageId
string

Unique identifier for the email package containing the attachment.

attachmentId
string

Unique identifier for the attachment.

withdrawn
boolean

Indicates whether the attachment has been withdrawn.

drmFile
object

Details of the DRM-protected file associated with the attachment.

accessType
integer

Access type for the attachment (e.g., read-only, editable).

tags
Tag[]

List of tags associated with the attachment.

permissions
Permission[]

List of permissions associated with the attachment.

objectId
string

Unique identifier for the file associated with the attachment.

name
string

Name of the attachment file.

size
integer

Size of the attachment file in bytes.

mime
string

The MIME type of the attachment file.

created
string

Date when the attachment file was created.

deleted
boolean

Indicates if the attachment has been deleted.

fingerprint
string

A unique hash identifying the file version.

fingerprintAlgo
string

The algorithm used for generating the file version fingerprint. (e.g., sha3-256, md5).

fingerprints
Fingerprint[]

List of alternative fingerprints for the attachment file.

adminQuarantineStatus
string

Status of the attachment in the admin quarantine system.

avStatus
string

Antivirus (AV) scan status of the attachment.

dlpStatus
string

Data Loss Prevention (DLP) status of the attachment.

downloadLink
string

Link for accessing the email.

expirationDate
string

Email package expiration date

attachmentCount
integer

Number of attachments in the email package

id
Required
string

The unique identifier of the user

name
Required
string

The name of the user

email
Required
string

The user's email

profileIcon
string

URL to the user's profile icon image

userId
string

Unique identifier of the user associated with the recipient.

type
integer

Recipient type.
0 – To.
1 – CC.
2 – BCC.

email
string

Email address of the recipient.

isDistributionList
boolean

Indicates if the recipient is a distribution list rather than an individual user.

id
string

Unique identifier (UUID) for the user.

email
string

Email address associated with the user.

name
string

Full name of the user.

profileIcon
string

URL or identifier for the user's profile icon.

variables
string[]
secureBody
boolean

Indicates whether the email body is secured

modifiedDate
Required
string

Date and time the email was last modified

parentEmailId
Required
string

Unique identifier of the original email this email was forwarded or replied from

mailId
Required
integer

Email unique identifier for return receipt

id
Required
string

The unique identifier of the user

name
Required
string

The name of the user

email
Required
string

The user's email

profileIcon
string

URL to the user's profile icon image

userId
Required
string

User ID for Return Receipt

error
string

Error message when the email status is error

subject
Required
string

Subject line of the email as shown to recipients

body
string

(Explicit field. May be retrieved only if mentioned in "with" parameter)

rawBody
string

(Explicit field. May be retrieved only if mentioned in "with" parameter)

headline
string

(Explicit field. May be retrieved only if mentioned in "with" parameter)

notice
string

(Explicit field. May be retrieved only if mentioned in "with" parameter)

htmlBody
string

(Explicit field. May be retrieved only if mentioned in "with" parameter)

fullHtmlBody
string

(Explicit field. May be retrieved only if mentioned in "with" parameter)

emailFrom
string

(Explicit field. May be retrieved only if mentioned in "with" parameter)

isRead
boolean

Indicates whether the email has been read by the current user

bucket
string

Mailbox bucket the email belongs to. Accepted values: inbox, sent, draft, outgoing, trash

templateBody
string

(Explicit field. May be retrieved only if mentioned in "with" parameter)

webFormId
string

(Explicit field. May be retrieved only if mentioned in "with" parameter)

webFormFields
string[]

(Explicit field. May be retrieved only if mentioned in "with" parameter)

links
string[]

HATEOAS links associated with the entity

total
integer

Total number of items available.

limit
integer

Maximum number of items returned per page.

offset
integer

Number of items skipped before the current page.

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/mail" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/mail"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
[ { "id": "eml12345abc67890de", "senderId": "usr98765cba43210fe", "templateId": 1, "status": "sent", "type": "sendfile", "date": "2024-06-15", "deleted": false, "emailPackageId": "pkg12345abc67890de", "isRead": true, "bucket": "inbox", "subject": "Q2 Reports" } ]
// Error - No Body
DELETE/rest/admin/mail/actions/withdrawFiles/users/{userId}

Withdraw all files from the emails of deleted or demoted users

Withdraws all files from the emails of users who have been deleted or demoted.

Parameters
Path Parameters
userId
Required
string

The unique identifier of the user from whom to withdraw files.

Query Parameters
emailId:in
Optional
string

A list of email IDs to be processed.

partialSuccess
Optional
boolean

If set to true, the operation will continue for the valid items even if some items result in failure.

mode
Optional
string

Determines the detail level of the response body.


Responses

The files were successfully withdrawn from the specified emails. No content is returned.

Empty response body.

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X DELETE \
  "https://{instance}.kiteworks.com/rest/admin/mail/actions/withdrawFiles/users/:userId" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

userId = "VALUE"  # The unique identifier of the user from whom to withdraw files.

url = f"https://{{instance}}.kiteworks.com/rest/admin/mail/actions/withdrawFiles/users/{userId}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.delete(url, headers=headers)
print(response.json())
Responses
// Request successful - No Body
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
// Error - No Body
GET/rest/admin/profiles

List user types (profiles)

Returns a paginated list of user type profiles configured in the system (e.g., Standard and Restricted), including each profile's name, built-in status, and cloneability.

Parameters
Query Parameters
name
Optional
string

Profile name

name:contains
Optional
string

Profile name. Search for results that contain the specified characters in this parameter.

orderBy
Optional
string[]

Sorting options

offset
Optional
integer

Offset

limit
Optional
integer

Limit

with
Optional
string

With parameters

mode
Optional
string

Determines the detail level of the response body.


Responses

List of user type profiles retrieved successfully.

id
Required
integer

Unique Profile identifier

name
Required
string

Display name of the profile

prototype
Required
integer

Prototype Profile identifier

builtIn
Required
integer

Indicates whether the profile is a built-in profile

cloneable
Required
integer

Indicates whether the profile can be used as a prototype for new custom profiles

allowSftp
boolean

Indicates whether SFTP access is allowed

maxStorage
integer

Max storage in bytes

linkExpiration
integer

Link expiration date in days

maxLinkExpiration
integer

Max time period of link expiration in hours

setExpirationLower
boolean

Enable user to set expiration date of the file they are sending

sendExternal
boolean

Allow user to send files to external users

acNoAuth
boolean

Allow user to send file to a user without their having to authenticate

folderCreate
Required
integer

Indicates whether the user is permitted to create top-level folders

allowedFolderRoles
Required
string[]

Role options allowed for user profile

sysFolderCreate
Required
integer

Indicates whether the user is permitted to create system quota folders

sysFolderMaxQuota
Required
integer

Max quota for a system quota folder

sysFolderMaxCount
Required
integer

Maximum number of system quota folder

sysFolderDefaultQuota
Required
integer

Default quota for a system quota folder

storageQuota
Required
integer

Maximum storage space allocated to the user, in bytes

ldapMapping
string

LDAP Mapping value to determine the user profile type

acVerifyRecipient
boolean

Who can download file via the secure link

acl
string[]

List of access control levels permitted for this user profile

defaultAcl
string

Default access control level applied when sending files for this user profile

mobileSyncItemsLimit
integer

Maximum files amount allowed to keep in mobile sync list

personalFolder
boolean

User can have personal folder

requireScanZipContentDefault
boolean

Indicates whether scanning compressed file content is required by default

blockNewFileTypesDefault
boolean

Indicates whether new or unspecified file types are blocked by default

excludedFileExtensions
string[]

Get list of excluded file extensions

fileFilterExclusionGroups
string[]

Get list of excluded file groups

fileFilterCustomFileTypes
string[]

Get list of custom file types

secureMessageBody
string
secureMessageBodyDefault
boolean
secureContainerRequired
boolean
returnReceipt
string
returnReceiptDefault
boolean
selfCopy
string
selfCopyDefault
boolean
includeFingerprint
string
includeFingerprintDefault
boolean
requestFile
boolean
requestFileAllowViewableFile
boolean
requestFileUploadAuth
string
requestFileAuthDefault
string
requestFileExpiration
integer
requestFileExpirationUserDecide
boolean
requestFileExpirationMax
integer
requestFileUploadLimit
integer
requestFileUploadLimitUserDecide
boolean
requestFileUploadsMax
integer
twoFactorAuth
string
inactiveExpiration
integer
userCanReactivate
string
cleanupInactiveAccount
boolean
withdrawInactiveAccountFileLinks
boolean
allowCollaboration
boolean

Indicates whether Collaboration and Shared Folders are allowed

allowLeavingSharedFolder
boolean

Indicates whether Collaboration and Shared Folders are allowed

sendFileLimit
integer

Upper limit allowed for number of attachments per mail.

remoteWipe
boolean
deleteUnsharedData
boolean
retainData
boolean
retainPermissionToSharedData
boolean
folderExpirationLimit
integer

Get profile max folder expiration

fileLifetime
integer

Get profile max file lifetime

total
integer

Total number of items available.

limit
integer

Maximum number of items returned per page.

offset
integer

Number of items skipped before the current page.

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/profiles" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/profiles"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "data": [ { "id": 1, "name": "Standard", "builtIn": 1, "cloneable": 1 } ], "metadata": { "total": 2, "limit": 50, "offset": 0 } }
// Error - No Body
GET/rest/admin/profiles/mappingOrder

Get profile mapping order

Returns the current ordering of user type profiles used to determine which profile is applied to a user on login when multiple mapping rules match.

This endpoint requires no parameters.

Responses

Profile mapping order retrieved successfully.

order
Required
integer[]

Get the User Profile mapping order

impact
Required
string[]

Get the User Profile mapping order

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/profiles/mappingOrder" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/profiles/mappingOrder"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "order": [ 1, 3, 2 ] }
// Error - No Body
PUT/rest/admin/profiles/mappingOrder

Update profile mapping order

Updates the ordering of user type profiles used to determine which profile is applied to a user on login when multiple mapping rules match. When the peek parameter is set, returns the projected impact without applying changes.

Parameters
Query Parameters
with
Optional
string

With parameters

mode
Optional
string

Determines the detail level of the response body.


Request Body
peek
boolean

Set if we are peeking into the impact

order
Required
integer[]

Set the User Profile mapping order


Responses

Profile mapping order updated successfully.

order
Required
integer[]

Get the User Profile mapping order

impact
Required
string[]

Get the User Profile mapping order

Unprocessable Content

Possible error codes: ERR_INPUT_NOT_BOOLEAN, ERR_INPUT_NOT_ARRAY_OF_INTEGERS, ERR_INPUT_REQUIRED

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X PUT \
  "https://{instance}.kiteworks.com/rest/admin/profiles/mappingOrder" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "peek": true,
         "order": [
         1
       ]
       }'
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/profiles/mappingOrder"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
}
payload = {
  "peek": true,
  "order": [
  1
]
}
response = requests.put(url, headers=headers, json=payload)
print(response.json())
Responses
{ "order": [ 3, 1, 2 ] }
{ "errors": { "code": "ERR_INPUT_NOT_BOOLEAN", "message": "Input is not a valid boolean" } }
{ "errors": { "code": "ERR_INPUT_REQUIRED", "message": "Field is required" } }
// Error - No Body
GET/rest/admin/profiles/mappings

Get profile mapping results for user

Simulates profile mapping evaluation for the specified user and returns which profile mapping rules would match, without applying any changes.

Parameters
Query Parameters
user
Required
string

Username or email of the user to test mappings for


Responses

Profile mapping test results retrieved successfully.

impact
Required
string[]

Get the User Profile mapping order

id
string

Get the id of the target authentication source

name
string

Get the name of the target authentication source

filter
string

Get the filter of the target authentication source

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/profiles/mappings?user=VALUE" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/profiles/mappings"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
params = {
    "user": "VALUE",
}
response = requests.get(url, params=params, headers=headers)
print(response.json())
Responses
{ "result": [ { "id": "ldap1", "name": "Engineering LDAP", "filter": "(memberOf=cn=Engineering)" } ] }
// Error - No Body
GET/rest/admin/profiles/{id}

Return a user type

Returns the details of the specified user type profile, including its name, built-in status, and cloneability.

Parameters
Path Parameters
id
Required
integer

ID of the user type (profile) to be retrieved


Responses

User type profile details retrieved successfully.

id
Required
integer

Unique Profile identifier

name
Required
string

Display name of the profile

prototype
Required
integer

Prototype Profile identifier

builtIn
Required
integer

Indicates whether the profile is a built-in profile

cloneable
Required
integer

Indicates whether the profile can be used as a prototype for new custom profiles

allowSftp
boolean

Indicates whether SFTP access is allowed

maxStorage
integer

Max storage in bytes

linkExpiration
integer

Link expiration date in days

maxLinkExpiration
integer

Max time period of link expiration in hours

setExpirationLower
boolean

Enable user to set expiration date of the file they are sending

sendExternal
boolean

Allow user to send files to external users

acNoAuth
boolean

Allow user to send file to a user without their having to authenticate

folderCreate
Required
integer

Indicates whether the user is permitted to create top-level folders

allowedFolderRoles
Required
string[]

Role options allowed for user profile

sysFolderCreate
Required
integer

Indicates whether the user is permitted to create system quota folders

sysFolderMaxQuota
Required
integer

Max quota for a system quota folder

sysFolderMaxCount
Required
integer

Maximum number of system quota folder

sysFolderDefaultQuota
Required
integer

Default quota for a system quota folder

storageQuota
Required
integer

Maximum storage space allocated to the user, in bytes

ldapMapping
string

LDAP Mapping value to determine the user profile type

acVerifyRecipient
boolean

Who can download file via the secure link

acl
string[]

List of access control levels permitted for this user profile

defaultAcl
string

Default access control level applied when sending files for this user profile

mobileSyncItemsLimit
integer

Maximum files amount allowed to keep in mobile sync list

personalFolder
boolean

User can have personal folder

requireScanZipContentDefault
boolean

Indicates whether scanning compressed file content is required by default

blockNewFileTypesDefault
boolean

Indicates whether new or unspecified file types are blocked by default

excludedFileExtensions
string[]

Get list of excluded file extensions

fileFilterExclusionGroups
string[]

Get list of excluded file groups

fileFilterCustomFileTypes
string[]

Get list of custom file types

secureMessageBody
string
secureMessageBodyDefault
boolean
secureContainerRequired
boolean
returnReceipt
string
returnReceiptDefault
boolean
selfCopy
string
selfCopyDefault
boolean
includeFingerprint
string
includeFingerprintDefault
boolean
requestFile
boolean
requestFileAllowViewableFile
boolean
requestFileUploadAuth
string
requestFileAuthDefault
string
requestFileExpiration
integer
requestFileExpirationUserDecide
boolean
requestFileExpirationMax
integer
requestFileUploadLimit
integer
requestFileUploadLimitUserDecide
boolean
requestFileUploadsMax
integer
twoFactorAuth
string
inactiveExpiration
integer
userCanReactivate
string
cleanupInactiveAccount
boolean
withdrawInactiveAccountFileLinks
boolean
allowCollaboration
boolean

Indicates whether Collaboration and Shared Folders are allowed

allowLeavingSharedFolder
boolean

Indicates whether Collaboration and Shared Folders are allowed

sendFileLimit
integer

Upper limit allowed for number of attachments per mail.

remoteWipe
boolean
deleteUnsharedData
boolean
retainData
boolean
retainPermissionToSharedData
boolean
folderExpirationLimit
integer

Get profile max folder expiration

fileLifetime
integer

Get profile max file lifetime

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/profiles/:id" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # ID of the user type (profile) to be retrieved

url = f"https://{{instance}}.kiteworks.com/rest/admin/profiles/{id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "id": 1, "name": "Standard", "builtIn": 1, "cloneable": 1 }
// Error - No Body
GET/rest/admin/profiles/{id}/mappings

Get profile mapping details

Returns the identity provider mapping rules configured for the specified profile, including LDAP, SSO, and kiteworks-based filter policies.

Parameters
Path Parameters
id
Required
integer

ID of the profile to get mapping details for


Responses

Profile mapping details retrieved successfully.

impact
Required
string[]

Get the User Profile mapping order

id
string

Get the id of the target authentication source

name
string

Get the name of the target authentication source

filter
string

Get the filter of the target authentication source

impact
Required
string[]

Get the User Profile mapping order

id
string

Get the id of the target authentication source

name
string

Get the name of the target authentication source

filter
string

Get the filter of the target authentication source

impact
Required
string[]

Get the User Profile mapping order

id
string

Get the id of the target authentication source

name
string

Get the name of the target authentication source

filter
string

Get the filter of the target authentication source

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/profiles/:id/mappings" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # ID of the profile to get mapping details for

url = f"https://{{instance}}.kiteworks.com/rest/admin/profiles/{id}/mappings"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "ldap": [ { "id": "ldap1", "name": "Corp LDAP", "filter": "(memberOf=cn=Engineering)" } ], "sso": [], "kiteworks": [ { "id": "kiteworks", "filter": "example.com" } ] }
// Error - No Body
PUT/rest/admin/profiles/{id}/mappings

Update profile mapping details

Updates the identity provider mapping rules for the specified profile. When the peek parameter is set, returns the projected impact of the changes without applying them.

Parameters
Path Parameters
id
Required
integer

ID of the profile to update mapping details for

Query Parameters
with
Optional
string

With parameters

mode
Optional
string

Determines the detail level of the response body.


Request Body
peek
boolean

Set if we are peeking into the impact

changes
ProfileMapping[]

policy changes to be tested/applied


Responses

Profile mapping details updated successfully.

impact
Required
string[]

Get the User Profile mapping order

Unprocessable Content

Possible error codes: ERR_INPUT_NOT_BOOLEAN

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X PUT \
  "https://{instance}.kiteworks.com/rest/admin/profiles/:id/mappings" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "peek": true,
         "changes": [
         {
         "impact": [
         "..."
       ],
         "id": "string",
         "name": "string",
         "filter": "string"
       }
       ]
       }'
Python
import requests

id = "VALUE"  # ID of the profile to update mapping details for

url = f"https://{{instance}}.kiteworks.com/rest/admin/profiles/{id}/mappings"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
}
payload = {
  "peek": true,
  "changes": [
  {
  "impact": [
  "..."
],
  "id": "string",
  "name": "string",
  "filter": "string"
}
]
}
response = requests.put(url, headers=headers, json=payload)
print(response.json())
Responses
{ "impact": [] }
{ "errors": { "code": "ERR_INPUT_NOT_BOOLEAN", "message": "Input is not a valid boolean" } }
// Error - No Body
GET/rest/admin/profiles/{id}/users

Return list of users with the specified types

Returns a paginated list of users assigned to the specified user type profile (e.g., all Restricted users), including their names and email addresses.

Parameters
Path Parameters
id
Required
integer

ID of the user type (profile) to retrieve users for

Query Parameters
email
Optional
string

Filter users based on their email address.

email:contains
Optional
string

Filter users based on their email address.. Search for results that contain the specified characters in this parameter.

name
Optional
string

Filter users based on their full name.

name:contains
Optional
string

Filter users based on their full name.. Search for results that contain the specified characters in this parameter.

metadata
Optional
string

Filter users based on their metadata information.

metadataContains
Optional
string

Filter users whose metadata contains the specified characters.

deleted
Optional
boolean

Filter users based on whether they have been deleted.

active
Optional
boolean

Filter users based on whether they are active in the system.

verified
Optional
boolean

Filter users based on their verification status.

suspended
Optional
boolean

Filter users based on whether they are suspended.

isRecipient
Optional
boolean

Filter users who are recipients of specific items.

allowsCollaboration
Optional
boolean

Filter users whose profiles allow collaboration access.

created
Optional
string

Filter users based on the creation date of their account.

created:gt
Optional
string

Filter users based on the creation date of their account.. Search for results where this parameter value is greater than the specified value.

created:gte
Optional
string

Filter users based on the creation date of their account.. Search for results where this parameter value is greater than or equal to the specified value.

created:lt
Optional
string

Filter users based on the creation date of their account.. Search for results where this parameter value is less than the specified value.

created:lte
Optional
string

Filter users based on the creation date of their account.. Search for results where this parameter value is less than or equal to the specified value.

orderBy
Optional
string[]

Sorting options

offset
Optional
integer

Offset

limit
Optional
integer

Limit

locate_id
Optional
integer

If specified, "offset" parameter will be ignored
and the page containing entity with this Id will be returned.

with
Optional
string

With parameters

mode
Optional
string

Determines the detail level of the response body.


Responses

List of users with the specified profile retrieved successfully.

id
Required
string

The unique identifier of the user

basedirId
Required
string

The unique identifier of the user's root Kiteworks directory.

created
string

Date and time the user account was created

email
Required
string

The user's email

mydirId
Required
string

The unique identifier of the user's mydir system directory.

name
Required
string

The name of the user

syncdirId
Required
string

The unique identifier of the user's 'My Folder'.

userTypeId
integer

The unique identifier of the user type (profile).

internal
boolean

Indicates whether the user is an internal user

profileIcon
string

URL to the user's profile icon image

extDL
boolean

Indicates whether the user is an External Distribution List

name
string

Key name of the custom metadata attribute associated with the user

value
string

Value assigned to the custom metadata attribute for the user

adminRoleId
integer

The ID of the admin role assigned to the user.

links
string[]

HATEOAS links associated with the entity

active
boolean

Indicates whether the user is an actual kitework user

suspended
boolean

Indicates whether the user is suspended

deleted
boolean

Indicates whether the user has been deleted

flags
integer

Authentication type.

  • 0: No authentication,
  • 1: Authentication by kiteworks,
  • 2: Authentication by LDAP,
  • 4: Authentication by SSO

verified
boolean

Indicates whether the user is verified

deactivated
boolean

Indicates whether the user has been deactivated

lastActivityDateTime
string

User's last activity datetime

passwordExpirationDateTime
string

The exact timestamp when the user's password will expire

total
integer

Total number of items available.

limit
integer

Maximum number of items returned per page.

offset
integer

Number of items skipped before the current page.

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/profiles/:id/users" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # ID of the user type (profile) to retrieve users for

url = f"https://{{instance}}.kiteworks.com/rest/admin/profiles/{id}/users"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "data": [ { "id": 42, "name": "Jane Doe", "email": "jane.doe@example.com" } ], "metadata": { "total": 1, "limit": 50, "offset": 0 } }
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
// Error - No Body
PUT/rest/admin/profiles/{id}/users

Bulk update user types (profiles)

Reassigns multiple users to the specified user type profile. When demoting users to a Restricted or Recipient profile, optional demotion settings control how existing data is handled (retained, deleted, or transferred to another user).

Parameters
Path Parameters
id
Required
integer

ID of the user type (profile).

Query Parameters
id:in
Required
string

A comma-separated list of unique identifiers for the entities to be processed.. A comma-separated list of user IDs to be assigned to the user type (profile).

mode
Optional
string

Determines the detail level of the response body.


Request Body
remoteWipe
boolean

Indicates whether to remotely wipe data from both desktop and mobile devices.

deleteUnsharedData
boolean

Indicates whether data owned by the user should be deleted. This is required and must be set to True if retainData is False, and vice versa.

retainData
boolean

Indicates whether data should be retained and transferred to another user. This is required and must be True if deleteUnsharedData is False, and vice versa.

retainToUser
string

The ID of the new owner to whom the data will be transferred, applicable when retainData and/or retainPermissionToSharedData are set to true.

retainToAdvancedFormUser
string

The ID of the user to whom the advanced form data will be transferred, similar to retainToUser but specifically for advanced form components.

retainPermissionToSharedData
boolean

Indicates whether permissions to shared folder should be retained.

withdrawRequestFiles
boolean

Indicates whether request files should be withdrawn.

withdrawFileLinks
boolean

Indicates whether sent files should be withdrawn.


Responses

User profiles updated successfully.

id
Required
string

The unique identifier of the user

basedirId
Required
string

The unique identifier of the user's root Kiteworks directory.

created
string

Date and time the user account was created

email
Required
string

The user's email

mydirId
Required
string

The unique identifier of the user's mydir system directory.

name
Required
string

The name of the user

syncdirId
Required
string

The unique identifier of the user's 'My Folder'.

userTypeId
integer

The unique identifier of the user type (profile).

internal
boolean

Indicates whether the user is an internal user

profileIcon
string

URL to the user's profile icon image

extDL
boolean

Indicates whether the user is an External Distribution List

name
string

Key name of the custom metadata attribute associated with the user

value
string

Value assigned to the custom metadata attribute for the user

adminRoleId
integer

The ID of the admin role assigned to the user.

links
string[]

HATEOAS links associated with the entity

active
boolean

Indicates whether the user is an actual kitework user

suspended
boolean

Indicates whether the user is suspended

deleted
boolean

Indicates whether the user has been deleted

flags
integer

Authentication type.

  • 0: No authentication,
  • 1: Authentication by kiteworks,
  • 2: Authentication by LDAP,
  • 4: Authentication by SSO

verified
boolean

Indicates whether the user is verified

deactivated
boolean

Indicates whether the user has been deactivated

lastActivityDateTime
string

User's last activity datetime

passwordExpirationDateTime
string

The exact timestamp when the user's password will expire

total
integer

Total number of items available.

limit
integer

Maximum number of items returned per page.

offset
integer

Number of items skipped before the current page.

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Unprocessable Content

Possible error codes: ERR_INPUT_NOT_BOOLEAN, ERR_INPUT_ATTRIBUTE_FORBIDDEN, ERR_INPUT_REQUIRED, ERR_INPUT_NOT_STRING

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X PUT \
  "https://{instance}.kiteworks.com/rest/admin/profiles/:id/users?id:in=VALUE" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "remoteWipe": true,
         "deleteUnsharedData": true,
         "retainData": true,
         "retainToUser": "string",
         "retainToAdvancedFormUser": "string",
         "retainPermissionToSharedData": true
       }'
Python
import requests

id = "VALUE"  # ID of the user type (profile).

url = f"https://{{instance}}.kiteworks.com/rest/admin/profiles/{id}/users"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
}
params = {
    "id:in": "VALUE",
}
payload = {
  "remoteWipe": true,
  "deleteUnsharedData": true,
  "retainData": true,
  "retainToUser": "string",
  "retainToAdvancedFormUser": "string",
  "retainPermissionToSharedData": true
}
response = requests.put(url, params=params, headers=headers, json=payload)
print(response.json())
Responses
{ "data": [ { "id": 42, "name": "Jane Doe", "email": "jane.doe@example.com" } ], "metadata": { "total": 1, "limit": 50, "offset": 0 } }
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
{ "errors": { "code": "ERR_INPUT_NOT_BOOLEAN", "message": "Input is not a valid boolean" } }
{ "errors": { "code": "ERR_INPUT_REQUIRED", "message": "Field is required" } }
// Error - No Body
GET/rest/admin/users

Get a list of Users

Returns a list of Users in the system. The user must be an administrator with access to User Management.

Parameters
Query Parameters
email
Optional
string

Filter users based on their email address.

email:contains
Optional
string

Filter users based on their email address.. Search for results that contain the specified characters in this parameter.

name
Optional
string

Filter users based on their full name.

name:contains
Optional
string

Filter users based on their full name.. Search for results that contain the specified characters in this parameter.

metadata
Optional
string

Filter users based on their metadata information.

metadataContains
Optional
string

Filter users whose metadata contains the specified characters.

deleted
Optional
boolean

Filter users based on whether they have been deleted.

active
Optional
boolean

Filter users based on whether they are active in the system.

verified
Optional
boolean

Filter users based on their verification status.

suspended
Optional
boolean

Filter users based on whether they are suspended.

isRecipient
Optional
boolean

Filter users who are recipients of specific items.

allowsCollaboration
Optional
boolean

Filter users whose profiles allow collaboration access.

created
Optional
string

Filter users based on the creation date of their account.

created:gt
Optional
string

Filter users based on the creation date of their account.. Search for results where this parameter value is greater than the specified value.

created:gte
Optional
string

Filter users based on the creation date of their account.. Search for results where this parameter value is greater than or equal to the specified value.

created:lt
Optional
string

Filter users based on the creation date of their account.. Search for results where this parameter value is less than the specified value.

created:lte
Optional
string

Filter users based on the creation date of their account.. Search for results where this parameter value is less than or equal to the specified value.

orderBy
Optional
string[]

Sorting options

offset
Optional
integer

Offset

limit
Optional
integer

Limit

locate_id
Optional
integer

If specified, "offset" parameter will be ignored
and the page containing entity with this Id will be returned.

with
Optional
string

With parameters

mode
Optional
string

Determines the detail level of the response body.


Responses

Returns a paginated list of users.

id
Required
string

The unique identifier of the user

basedirId
Required
string

The unique identifier of the user's root Kiteworks directory.

created
string

Date and time the user account was created

email
Required
string

The user's email

mydirId
Required
string

The unique identifier of the user's mydir system directory.

name
Required
string

The name of the user

syncdirId
Required
string

The unique identifier of the user's 'My Folder'.

userTypeId
integer

The unique identifier of the user type (profile).

internal
boolean

Indicates whether the user is an internal user

profileIcon
string

URL to the user's profile icon image

extDL
boolean

Indicates whether the user is an External Distribution List

name
string

Key name of the custom metadata attribute associated with the user

value
string

Value assigned to the custom metadata attribute for the user

adminRoleId
integer

The ID of the admin role assigned to the user.

links
string[]

HATEOAS links associated with the entity

active
boolean

Indicates whether the user is an actual kitework user

suspended
boolean

Indicates whether the user is suspended

deleted
boolean

Indicates whether the user has been deleted

flags
integer

Authentication type.

  • 0: No authentication,
  • 1: Authentication by kiteworks,
  • 2: Authentication by LDAP,
  • 4: Authentication by SSO

verified
boolean

Indicates whether the user is verified

deactivated
boolean

Indicates whether the user has been deactivated

lastActivityDateTime
string

User's last activity datetime

passwordExpirationDateTime
string

The exact timestamp when the user's password will expire

total
integer

Total number of items available.

limit
integer

Maximum number of items returned per page.

offset
integer

Number of items skipped before the current page.

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/users" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/users"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
[ { "id": "abc12345def67890ab", "name": "Jane Doe", "email": "jane.doe@example.com", "active": true, "verified": true, "suspended": false, "deleted": false, "deactivated": false, "flags": 1, "userTypeId": 5, "created": "2024-01-15T10:30:00+0000" } ]
// Error - No Body
POST/rest/admin/users

Create a User

Creates a new User in the system by specifying an email address and name.

Parameters
Query Parameters
returnEntity
Optional
boolean

If set to true, returns information about the newly created entity.

mode
Optional
string

Determines the detail level of the response body.


Request Body
email
Required
string

The user's email

name
string

The name of the user

password
string

The user's password

userTypeId
integer

The unique identifier of the user type

verified
boolean

Indicates whether the user is verified

sendNotification
boolean

Indicates whether a notification is sent to the user

addLinks
boolean

Indicates whether HATEOAS links should be included in the response


Responses

User created successfully. Returns the newly created user object.

id
Required
string

The unique identifier of the user

basedirId
Required
string

The unique identifier of the user's root Kiteworks directory.

created
string

Date and time the user account was created

email
Required
string

The user's email

mydirId
Required
string

The unique identifier of the user's mydir system directory.

name
Required
string

The name of the user

syncdirId
Required
string

The unique identifier of the user's 'My Folder'.

userTypeId
integer

The unique identifier of the user type (profile).

internal
boolean

Indicates whether the user is an internal user

profileIcon
string

URL to the user's profile icon image

extDL
boolean

Indicates whether the user is an External Distribution List

name
string

Key name of the custom metadata attribute associated with the user

value
string

Value assigned to the custom metadata attribute for the user

adminRoleId
integer

The ID of the admin role assigned to the user.

links
string[]

HATEOAS links associated with the entity

active
boolean

Indicates whether the user is an actual kitework user

suspended
boolean

Indicates whether the user is suspended

deleted
boolean

Indicates whether the user has been deleted

flags
integer

Authentication type.

  • 0: No authentication,
  • 1: Authentication by kiteworks,
  • 2: Authentication by LDAP,
  • 4: Authentication by SSO

verified
boolean

Indicates whether the user is verified

deactivated
boolean

Indicates whether the user has been deactivated

lastActivityDateTime
string

User's last activity datetime

passwordExpirationDateTime
string

The exact timestamp when the user's password will expire

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Unprocessable Content

Possible error codes: ERR_INPUT_INVALID_EMAIL, ERR_INPUT_REQUIRED, ERR_INPUT_PASSWORD_COMPLEXITY_ERROR, ERR_INPUT_NOT_NUMERIC, ERR_INPUT_MIN_VALUE

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X POST \
  "https://{instance}.kiteworks.com/rest/admin/users" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "email": "string",
         "name": "string",
         "password": "string",
         "userTypeId": 1,
         "verified": true,
         "sendNotification": true
       }'
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/users"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
}
payload = {
  "email": "string",
  "name": "string",
  "password": "string",
  "userTypeId": 1,
  "verified": true,
  "sendNotification": true
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
Responses
{ "id": "abc12345def67890ab", "name": "Jane Doe", "email": "jane.doe@example.com", "active": true, "verified": false, "suspended": false, "deleted": false, "deactivated": false, "flags": 1, "userTypeId": 5, "created": "2024-01-15T10:30:00+0000" }
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
{ "errors": { "code": "ERR_INPUT_INVALID_EMAIL", "message": "Input is not a valid email" } }
{ "errors": { "code": "ERR_INPUT_REQUIRED", "message": "Field is required" } }
{ "errors": { "code": "ERR_INPUT_PASSWORD_COMPLEXITY_ERROR", "message": "Password does not meet complexity requirements" } }
{ "errors": { "code": "ERR_INPUT_MIN_VALUE", "message": "The specified input below the minimum allowed value." } }
// Error - No Body
POST/rest/admin/users/migrateEmails

Bulk update user emails

Bulk update user emails by migrating old email addresses to new ones. Accepts an array of objects containing old and new email pairs.

Parameters
Query Parameters
returnEntity
Optional
boolean

If set to true, returns information about the newly created entity.

mode
Optional
string

Determines the detail level of the response body.


Request Body
users
UserEmail.Post[]

Array of user objects, each containing old and new email values.

deleteIfExists
boolean

Indicates whether to delete users whose emails match any in the newEmail field.


Responses

Email migration completed successfully. Returns the list of updated user objects.

id
Required
string

The unique identifier of the user

basedirId
Required
string

The unique identifier of the user's root Kiteworks directory.

created
string

Date and time the user account was created

email
Required
string

The user's email

mydirId
Required
string

The unique identifier of the user's mydir system directory.

name
Required
string

The name of the user

syncdirId
Required
string

The unique identifier of the user's 'My Folder'.

userTypeId
integer

The unique identifier of the user type (profile).

internal
boolean

Indicates whether the user is an internal user

profileIcon
string

URL to the user's profile icon image

extDL
boolean

Indicates whether the user is an External Distribution List

name
string

Key name of the custom metadata attribute associated with the user

value
string

Value assigned to the custom metadata attribute for the user

adminRoleId
integer

The ID of the admin role assigned to the user.

links
string[]

HATEOAS links associated with the entity

active
boolean

Indicates whether the user is an actual kitework user

suspended
boolean

Indicates whether the user is suspended

deleted
boolean

Indicates whether the user has been deleted

flags
integer

Authentication type.

  • 0: No authentication,
  • 1: Authentication by kiteworks,
  • 2: Authentication by LDAP,
  • 4: Authentication by SSO

verified
boolean

Indicates whether the user is verified

deactivated
boolean

Indicates whether the user has been deactivated

lastActivityDateTime
string

User's last activity datetime

passwordExpirationDateTime
string

The exact timestamp when the user's password will expire

total
integer

Total number of items available.

limit
integer

Maximum number of items returned per page.

offset
integer

Number of items skipped before the current page.

Unprocessable Content

Possible error codes: ERR_INPUT_INVALID_EMAIL, ERR_INPUT_REQUIRED, ERR_INPUT_PASSWORD_COMPLEXITY_ERROR

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X POST \
  "https://{instance}.kiteworks.com/rest/admin/users/migrateEmails" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "users": [
         {
         "oldEmail": "string",
         "newEmail": "string"
       }
       ],
         "deleteIfExists": true
       }'
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/users/migrateEmails"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
}
payload = {
  "users": [
  {
  "oldEmail": "string",
  "newEmail": "string"
}
],
  "deleteIfExists": true
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
Responses
[ { "id": "abc12345def67890ab", "name": "Jane Doe", "email": "jane.new@example.com", "active": true, "verified": true, "suspended": false, "deleted": false, "deactivated": false, "flags": 1, "userTypeId": 5, "created": "2024-01-15T10:30:00+0000" } ]
{ "errors": { "code": "ERR_INPUT_INVALID_EMAIL", "message": "Input is not a valid email" } }
{ "errors": { "code": "ERR_INPUT_REQUIRED", "message": "Field is required" } }
{ "errors": { "code": "ERR_INPUT_PASSWORD_COMPLEXITY_ERROR", "message": "Password does not meet complexity requirements" } }
// Error - No Body
POST/rest/admin/users/migrateEmailsCsv

Bulk update user emails via CSV file

Bulk update user emails by migrating old email addresses to new ones using a CSV file.

Parameters
Query Parameters
returnEntity
Optional
boolean

If set to true, returns information about the newly created entity.

mode
Optional
string

Determines the detail level of the response body.


Request Body
body
Required
string

CSV file containing old and new email pairs.

deleteIfExists
boolean

Indicates whether to delete users whose emails match any in the newEmail field.


Responses

Email migration completed successfully. Returns the list of updated user objects.

id
Required
string

The unique identifier of the user

basedirId
Required
string

The unique identifier of the user's root Kiteworks directory.

created
string

Date and time the user account was created

email
Required
string

The user's email

mydirId
Required
string

The unique identifier of the user's mydir system directory.

name
Required
string

The name of the user

syncdirId
Required
string

The unique identifier of the user's 'My Folder'.

userTypeId
integer

The unique identifier of the user type (profile).

internal
boolean

Indicates whether the user is an internal user

profileIcon
string

URL to the user's profile icon image

extDL
boolean

Indicates whether the user is an External Distribution List

name
string

Key name of the custom metadata attribute associated with the user

value
string

Value assigned to the custom metadata attribute for the user

adminRoleId
integer

The ID of the admin role assigned to the user.

links
string[]

HATEOAS links associated with the entity

active
boolean

Indicates whether the user is an actual kitework user

suspended
boolean

Indicates whether the user is suspended

deleted
boolean

Indicates whether the user has been deleted

flags
integer

Authentication type.

  • 0: No authentication,
  • 1: Authentication by kiteworks,
  • 2: Authentication by LDAP,
  • 4: Authentication by SSO

verified
boolean

Indicates whether the user is verified

deactivated
boolean

Indicates whether the user has been deactivated

lastActivityDateTime
string

User's last activity datetime

passwordExpirationDateTime
string

The exact timestamp when the user's password will expire

total
integer

Total number of items available.

limit
integer

Maximum number of items returned per page.

offset
integer

Number of items skipped before the current page.

Unprocessable Content

Possible error codes: ERR_INPUT_NOT_BOOLEAN

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X POST \
  "https://{instance}.kiteworks.com/rest/admin/users/migrateEmailsCsv" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "body": "string",
         "deleteIfExists": true
       }'
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/users/migrateEmailsCsv"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
}
payload = {
  "body": "string",
  "deleteIfExists": true
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
Responses
[ { "id": "abc12345def67890ab", "name": "Jane Doe", "email": "jane.new@example.com", "active": true, "verified": true, "suspended": false, "deleted": false, "deactivated": false, "flags": 1, "userTypeId": 5, "created": "2024-01-15T10:30:00+0000" } ]
{ "errors": { "code": "ERR_INPUT_NOT_BOOLEAN", "message": "Input is not a valid boolean" } }
// Error - No Body
GET/rest/admin/users/{id}

Get User

Returns the details of the specified user, including their name, email address, and account status.

Parameters
Path Parameters
id
Required
string

ID of the user to retrieve


Responses

Returns the requested user's details.

id
Required
string

The unique identifier of the user

basedirId
Required
string

The unique identifier of the user's root Kiteworks directory.

created
string

Date and time the user account was created

email
Required
string

The user's email

mydirId
Required
string

The unique identifier of the user's mydir system directory.

name
Required
string

The name of the user

syncdirId
Required
string

The unique identifier of the user's 'My Folder'.

userTypeId
integer

The unique identifier of the user type (profile).

internal
boolean

Indicates whether the user is an internal user

profileIcon
string

URL to the user's profile icon image

extDL
boolean

Indicates whether the user is an External Distribution List

name
string

Key name of the custom metadata attribute associated with the user

value
string

Value assigned to the custom metadata attribute for the user

adminRoleId
integer

The ID of the admin role assigned to the user.

links
string[]

HATEOAS links associated with the entity

active
boolean

Indicates whether the user is an actual kitework user

suspended
boolean

Indicates whether the user is suspended

deleted
boolean

Indicates whether the user has been deleted

flags
integer

Authentication type.

  • 0: No authentication,
  • 1: Authentication by kiteworks,
  • 2: Authentication by LDAP,
  • 4: Authentication by SSO

verified
boolean

Indicates whether the user is verified

deactivated
boolean

Indicates whether the user has been deactivated

lastActivityDateTime
string

User's last activity datetime

passwordExpirationDateTime
string

The exact timestamp when the user's password will expire

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/users/:id" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # ID of the user to retrieve

url = f"https://{{instance}}.kiteworks.com/rest/admin/users/{id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "id": "abc12345def67890ab", "name": "Jane Doe", "email": "jane.doe@example.com", "active": true, "verified": true, "suspended": false, "deleted": false, "deactivated": false, "flags": 1, "userTypeId": 5, "created": "2024-01-15T10:30:00+0000" }
// Error - No Body
PUT/rest/admin/users/{id}

Update User

Updates the details of a user, such as changing their name, setting them as deleted, or updating their active/inactive status.

Parameters
Path Parameters
id
Required
string

ID of the user to be updated


Request Body
suspended
boolean

Indicates whether the user is suspended. Set to true to suspend the user.

name
string

The name of the user

password
string

The user's password

verified
boolean

Indicates whether the user is verified

deactivated
boolean

Indicates whether the user is deactivated. Set to true to deactivate the user.

addLinks
boolean

Indicates whether HATEOAS links should be included in the response


Responses

User updated successfully. Returns the updated user object.

id
Required
string

The unique identifier of the user

basedirId
Required
string

The unique identifier of the user's root Kiteworks directory.

created
string

Date and time the user account was created

email
Required
string

The user's email

mydirId
Required
string

The unique identifier of the user's mydir system directory.

name
Required
string

The name of the user

syncdirId
Required
string

The unique identifier of the user's 'My Folder'.

userTypeId
integer

The unique identifier of the user type (profile).

internal
boolean

Indicates whether the user is an internal user

profileIcon
string

URL to the user's profile icon image

extDL
boolean

Indicates whether the user is an External Distribution List

name
string

Key name of the custom metadata attribute associated with the user

value
string

Value assigned to the custom metadata attribute for the user

adminRoleId
integer

The ID of the admin role assigned to the user.

links
string[]

HATEOAS links associated with the entity

active
boolean

Indicates whether the user is an actual kitework user

suspended
boolean

Indicates whether the user is suspended

deleted
boolean

Indicates whether the user has been deleted

flags
integer

Authentication type.

  • 0: No authentication,
  • 1: Authentication by kiteworks,
  • 2: Authentication by LDAP,
  • 4: Authentication by SSO

verified
boolean

Indicates whether the user is verified

deactivated
boolean

Indicates whether the user has been deactivated

lastActivityDateTime
string

User's last activity datetime

passwordExpirationDateTime
string

The exact timestamp when the user's password will expire

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X PUT \
  "https://{instance}.kiteworks.com/rest/admin/users/:id" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "suspended": true,
         "name": "string",
         "password": "string",
         "verified": true,
         "deactivated": true,
         "addLinks": true
       }'
Python
import requests

id = "VALUE"  # ID of the user to be updated

url = f"https://{{instance}}.kiteworks.com/rest/admin/users/{id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
}
payload = {
  "suspended": true,
  "name": "string",
  "password": "string",
  "verified": true,
  "deactivated": true,
  "addLinks": true
}
response = requests.put(url, headers=headers, json=payload)
print(response.json())
Responses
{ "id": "abc12345def67890ab", "name": "Jane Doe", "email": "jane.doe@example.com", "active": true, "verified": true, "suspended": false, "deleted": false, "deactivated": false, "flags": 1, "userTypeId": 5, "created": "2024-01-15T10:30:00+0000" }
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
// Error - No Body
DELETE/rest/admin/users/{id}

Deletes a User

Mark the specified user as deleted. This user will still be returned in the GET Users query.

Parameters
Path Parameters
id
Required
string

ID of the user to delete

Query Parameters
retainToUser
Optional
string

The ID of the new owner to whom the data will be transferred, applicable when retainData and/or retainPermissionToSharedData are set to true.

retainToAdvancedFormUser
Optional
string

The ID of the user to whom the advanced form data will be transferred, similar to retainToUser but specifically for advanced form components.

remoteWipe
Optional
boolean

Indicates whether to remotely wipe data from both desktop and mobile devices.

deleteUnsharedData
Optional
boolean

Indicates whether data owned by the user should be deleted. This is required and must be set to True if retainData is False, and vice versa.

retainData
Optional
boolean

Indicates whether data should be retained and transferred to another user. This is required and must be True if deleteUnsharedData is False, and vice versa.

retainPermissionToSharedData
Optional
boolean

Indicates whether permissions to shared folders should be retained.

withdrawFileLinks
Optional
boolean

Indicates whether files sent by deleted or demoted users should be withdrawn.

withdrawRequestFiles
Optional
boolean

Indicates whether request files sent by deleted or demoted users should be withdrawn.

partialSuccess
Optional
boolean

If set to true, the operation will continue for the valid items even if some items result in failure.

mode
Optional
string

Determines the detail level of the response body.


Responses

User marked as deleted successfully.

Empty response body.

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Unprocessable Content

Possible error codes: ERR_INPUT_NOT_BOOLEAN, ERR_INPUT_ATTRIBUTE_FORBIDDEN, ERR_INPUT_REQUIRED, ERR_INPUT_NOT_STRING

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X DELETE \
  "https://{instance}.kiteworks.com/rest/admin/users/:id" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # ID of the user to delete

url = f"https://{{instance}}.kiteworks.com/rest/admin/users/{id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.delete(url, headers=headers)
print(response.json())
Responses
// Request successful - No Body
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
{ "errors": { "code": "ERR_INPUT_NOT_BOOLEAN", "message": "Input is not a valid boolean" } }
{ "errors": { "code": "ERR_INPUT_REQUIRED", "message": "Field is required" } }
// Error - No Body
GET/rest/admin/users/{id}/adminRoles

Return admin roles of the specified user id.

Returns all admin roles assigned to the specified user. The user may be active or deleted.

Parameters
Path Parameters
id
Required
string

ID of the user to retrieve admin role

Query Parameters
orderBy
Optional
string[]

Sorting options

with
Optional
string

With parameters

mode
Optional
string

Determines the detail level of the response body.


Responses

Returns the list of admin roles assigned to the specified user.

id
Required
integer

Admin role unique identifier

name
Required
string

Display name of the admin role

guid
string

Admin role globally unique identifier

links
string[]

HATEOAS links associated with the entity

Forbidden

Possible error codes: ERR_ACCESS_USER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/users/:id/adminRoles" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # ID of the user to retrieve admin role

url = f"https://{{instance}}.kiteworks.com/rest/admin/users/{id}/adminRoles"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
[ { "id": 2, "name": "Site Admin", "guid": "abc12345def67890ab" } ]
{ "errors": { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } }
// Error - No Body
GET/rest/admin/users/{id}/devices

List devices for a user

Returns a list of devices registered to the specified user.

Parameters
Path Parameters
id
Required
string

ID of the user whose devices to be retrieved

Query Parameters
installTagId
Optional
string

Unique identifier of install tag for this Device

installTagId:contains
Optional
string

Unique identifier of install tag for this Device. Search for results that contain the specified characters in this parameter.

userId
Optional
string

Unique identifier of user for this Device

userId:in
Optional
string

Unique identifier of user for this Device. Search for results that match any of the specified values for this parameter.

clientId
Optional
string

Unique identifier of client for this Device

clientId:contains
Optional
string

Unique identifier of client for this Device. Search for results that contain the specified characters in this parameter.

orderBy
Optional
string[]

Sorting options

offset
Optional
integer

Offset

limit
Optional
integer

Limit

with
Optional
string

With parameters

mode
Optional
string

Determines the detail level of the response body.


Responses

Returns a paginated list of device records for the specified user.

id
Required
integer

Unique identifier of Device

clientId
Required
string

Unique identifier of client for this Device

userId
Required
string

Unique identifier of user for this Device

installTagId
string

Unique identifier of the install tag for this device. Usually the serial number of the device

installName
Required
string

Install Tag name for this Device. e.g. Someone's IPhone

wipeFlag
string

Flag that tells the device to remote wipe itself.

  • 0 = not set, 1 = set, 2 = device has been notified, 3 = wipe is completed

mobileKeyStore
string

Key to encrypt files on this device

links
string[]

HATEOAS links associated with the entity

total
integer

Total number of items available.

limit
integer

Maximum number of items returned per page.

offset
integer

Number of items skipped before the current page.

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/users/:id/devices" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # ID of the user whose devices to be retrieved

url = f"https://{{instance}}.kiteworks.com/rest/admin/users/{id}/devices"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "data": [ { "id": 101, "client_id": "mobile_app_ios", "user_id": 5, "install_tag_id": "ABC123DEF456", "install_name": "Work iPhone", "wipe_flag": 0, "mobile_key_store": null } ], "total": 1, "page": 1, "pageSize": 20 }
// Error - No Body
GET/rest/admin/activities

Get admin activities list

Description:

Retrieves the list of admin activities.

Precondition:

The user must be an administrator with access to `Activity Log`.

Response:

Returns the list of activities performed by the admin.

Sorting:

Sort string syntax `FIELD_NAME:ORDER`.

ORDER can be asc or desc.

Sorting options:


FIELD_NAMEDescription
createdThe creation date and time of the activity
clientThe client name
usernameThe username associated with the activity
ip_addressThe client IP address

Parameters
Query Parameters
startDateTime
Required
string

The start date and time for the activity range.

endDateTime
Required
string

The end date and time for the activity range.

eventFilters:in
Optional
string[]

Comma-separated list of event filters to filter the activities.

objectIds:in
Optional
string[]

Comma-separated list of object IDs to filter the activities.

userId
Optional
string

User ID to filter activities by a specific user.

maxPages
Optional
integer

Maximum number of pages to retrieve.

orderBy
Optional
string

Sort order for the results. Default is created:desc.
Allowed values: created:asc, created:desc, client:asc, client:desc, username:asc, username:desc, ip_address:asc, ip_address:desc.

compact
Optional
boolean

If true, returns a more compact response.

limit
Optional
integer

Maximum number of items to return.

offset
Optional
integer

Number of items to skip before returning results, for pagination.


Responses

The admin activities list is successfully returned.

id
integer

Unique identifier of the activity event.

created
string

Date and time when the activity event was recorded.

event
string

Name of the activity event.

message
string

Human-readable summary of the activity event.

type
string

Type category of the activity event.

successful
boolean

Indicates whether the activity completed successfully.

userId
string
name
string

Full name of the user.

email
string

Email address associated with the user.

profileIcon
string

URL or identifier for the user's profile icon.

permissions
string[]

List of permissions required for the activity.

data
any

Additional event-specific data associated with the activity.

Unauthorized

Possible error codes: ERR_ACCESS_USER, ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED

code
string

Error code

message
string

Error message

Unprocessable Content

Possible error codes: ERR_INVALID_PARAMETER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/activities?startDateTime=VALUE&endDateTime=VALUE" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/activities"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
params = {
    "startDateTime": "VALUE",
    "endDateTime": "VALUE",
}
response = requests.get(url, params=params, headers=headers)
print(response.json())
Responses
{ "data": [ { "id": 1, "created": "2024-01-15", "event": "string", "message": "string", "type": "string", "successful": true } ] }
{ "errors": [ { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } ] }
{ "errors": [ { "code": "ERR_AUTH_INVALID_CSRF", "message": "Invalid CSRF Authentication" } ] }
{ "errors": [ { "code": "ERR_AUTH_UNAUTHORIZED", "message": "Unauthorized" } ] }
{ "errors": [ { "code": "ERR_INVALID_PARAMETER", "message": "Invalid Parameter Exception" } ] }
// Error - No Body
GET/rest/admin/activities/{id}

Get admin activity detail

Description:

Retrieves detailed information about a specific activity.

Precondition:

The user must be an administrator with access to `Activity Log`.

Response:

Returns the full details of the specified activity.
Parameters
Path Parameters
id
Required
string

The unique identifier (UUID) of the entity.


Responses

Successfully retrieved the activity details.

id
integer

Unique identifier of the activity event.

created
string

Date and time when the activity event was recorded.

event
string

Name of the activity event.

message
string

Human-readable summary of the activity event.

type
string

Type category of the activity event.

successful
boolean

Indicates whether the activity completed successfully.

userId
string
name
string

Full name of the user.

email
string

Email address associated with the user.

profileIcon
string

URL or identifier for the user's profile icon.

permissions
string[]

List of permissions required for the activity.

data
any

Additional event-specific data associated with the activity.

Unauthorized

Possible error codes: ERR_ACCESS_USER, ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED

code
string

Error code

message
string

Error message

Unprocessable Content

Possible error codes: ERR_INVALID_PARAMETER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/activities/:id" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

id = "VALUE"  # The unique identifier (UUID) of the entity.

url = f"https://{{instance}}.kiteworks.com/rest/admin/activities/{id}"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
response = requests.get(url, headers=headers)
print(response.json())
Responses
{ "data": [ { "id": 1, "created": "2024-01-15", "event": "string", "message": "string", "type": "string", "successful": true } ] }
{ "errors": [ { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } ] }
{ "errors": [ { "code": "ERR_AUTH_INVALID_CSRF", "message": "Invalid CSRF Authentication" } ] }
{ "errors": [ { "code": "ERR_AUTH_UNAUTHORIZED", "message": "Unauthorized" } ] }
{ "errors": [ { "code": "ERR_INVALID_PARAMETER", "message": "Invalid Parameter Exception" } ] }
// Error - No Body
GET/rest/admin/activities/actions/exportCSV

Export admin activities list

Description:

Exports the list of admin activities based on the provided filters.

Precondition:

The user must be an administrator with access to `Activity Log`.

Response:

The admin activities list is generated and sent via email to the requesting user.

Sorting:

Sort string syntax `FIELD_NAME:ORDER`.

ORDER can be asc or desc.

Sorting options:


FIELD_NAMEDescription
createdThe creation date and time of the activity
clientThe client name
usernameThe username associated with the activity
ip_addressThe client IP address

Parameters
Query Parameters
startDateTime
Required
string

The start date and time for the activity range.

endDateTime
Required
string

The end date and time for the activity range.

eventFilters:in
Optional
string[]

Comma-separated list of event filters to filter the activities.

objectIds:in
Optional
string[]

Comma-separated list of object IDs to filter the activities.

userId
Optional
string

User ID to filter activities by a specific user.

maxPages
Optional
integer

Maximum number of pages to retrieve.

orderBy
Optional
string

Sort order for the results. Default is created:desc.
Allowed values: created:asc, created:desc, client:asc, client:desc, username:asc, username:desc, ip_address:asc, ip_address:desc.

compact
Optional
boolean

If true, returns a more compact response.

limit
Optional
integer

Maximum number of items to return.

offset
Optional
integer

Number of items to skip before returning results, for pagination.


Responses

The admin activities list is being processed and will be sent via email.

Empty response body.

Unauthorized

Possible error codes: ERR_ACCESS_USER, ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED

code
string

Error code

message
string

Error message

Unprocessable Content

Possible error codes: ERR_INVALID_PARAMETER

code
string

Error code

message
string

Error message

Request blocked by WAF

Empty response body.
Shell
curl -X GET \
  "https://{instance}.kiteworks.com/rest/admin/activities/actions/exportCSV?startDateTime=VALUE&endDateTime=VALUE" \
  -H "Authorization: Bearer YOUR_TOKEN"
Python
import requests

url = "https://{instance}.kiteworks.com/rest/admin/activities/actions/exportCSV"
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
}
params = {
    "startDateTime": "VALUE",
    "endDateTime": "VALUE",
}
response = requests.get(url, params=params, headers=headers)
print(response.json())
Responses
// Request successful - No Body
{ "errors": [ { "code": "ERR_ACCESS_USER", "message": "Insufficient access permissions" } ] }
{ "errors": [ { "code": "ERR_AUTH_INVALID_CSRF", "message": "Invalid CSRF Authentication" } ] }
{ "errors": [ { "code": "ERR_AUTH_UNAUTHORIZED", "message": "Unauthorized" } ] }
{ "errors": [ { "code": "ERR_INVALID_PARAMETER", "message": "Invalid Parameter Exception" } ] }
// Error - No Body