Cloud-Plugins Rest APIs (8)

Download OpenAPI specification:Download

Documentation of the Open-Xchange Cloud-Plugins Rest APIs.

Authentication

basicAuth

HTTP Basic Authentication.

Security Scheme Type HTTP
HTTP Authorization Scheme basic

contextAdminAuth

The API can be accessed via HTTP Basic Auth with context administrator credentials or reseller/master administrator credentials if MASTER_ACCOUNT_OVERRIDE is enabled.

Security Scheme Type HTTP
HTTP Authorization Scheme basic

contextAdminOnlyAuth

The API can be accessed via HTTP Basic Auth with context administrator credentials or reseller administrator.

Security Scheme Type HTTP
HTTP Authorization Scheme basic

resellerAdminAuth

The API can be accessed via HTTP Basic Auth with reseller/master administrator credentials if MASTER_ACCOUNT_OVERRIDE is enabled. Context administrator access is not possible.

Security Scheme Type HTTP
HTTP Authorization Scheme basic

tennantAuth

Basic auth, that must be configured per tenant in the middleware

Security Scheme Type HTTP
HTTP Authorization Scheme basic

Admin

Cloud-Plugins Admin Rest API

get custom name of user

get custom name of user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

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

change custom id(s)

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

custom
string 1 items

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789",
  • "oxdeliverystatus": "OXAAS"
}

delete custom id(s)

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789"
}

get msisdn of user

get msisdn of user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "msisdn": "+49.12345.6789"
}

change msisdn

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

msisdn
string 1 items

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789"
}

delete msisdn

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789"
}

get class of service of user

get class of service of user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

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

change class of service

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

classofservice
Array of strings non-empty

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "classofservice": "cloud_pim"
}

delete class of service

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com"
}

search for users using given query parameters

get uidname of user

Authorizations:
query Parameters
search
required
string

string to search for

field
string
Enum: "UIDNAME" "MSISDN" "OXDELIVERYSTATUS" "CUSTOM" "ANY"

field to search into

Responses

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789",
  • "oxdeliverystatus": "OXAAS"
}

get the oxdeliverystatus

get the oxdeliverystatus of user to determine migration status

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "oxdeliverystatus": "OXAAS"
}

change oxdeliverystatus

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

oxdeliverystatus
string 1 items

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789",
  • "oxdeliverystatus": "OXAAS"
}

delete oxdeliverystatus

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789"
}

get the oxlegacyref

get the oxlegacyref of user to determine migration status

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "oxlegacyref": "LEG_1"
}

change oxlegacyref

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

oxlegacyref
string 1 items

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "oxlegacyref": "LEG_1"
}

delete oxlegacyref

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com"
}

get the oxantiphishing

get the oxantiphishing flag of user to determine MTA level antiphishing support

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "oxantiphishing": "replace-urls"
}

change oxantiphishing

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

oxantiphishing
string 1 items

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789",
  • "oxantiphishing": "replace-urls"
}

delete oxantiphishing

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789"
}

get uidname of user

get uidname of user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "uidname": "johndoe@example.com"
}

change uidname

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

uidname
string 1 items

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789",
  • "oxdeliverystatus": "OXAAS"
}

change or remove msisdn or custom id(s)

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

post parameters

msisdn
string >= 0 items
oxdeliverystatus
string >= 0 items
custom
Array of strings >= 0 items

Responses

Request samples

Content type
application/json
{
  • "msisdn": "+49.12345.6789",
  • "oxdeliverystatus": "OXAAS",
  • "custom": [
    ]
}

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789",
  • "oxdeliverystatus": "OXAAS"
}

get the antivirus state

get the antivirus state

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

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

Change antivirus state

change the users' antivirus state

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

antivirus
boolean

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789",
  • "oxdeliverystatus": "OXAAS"
}

get the spamlevel

get the spamlevel

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "spamlevel": "medium"
}

Change spamlevel

change the users' spamlevel

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

spamlevel
string

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789",
  • "oxdeliverystatus": "OXAAS"
}

get the quota mode

get the quota mode

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "quotamode": "unified"
}

list users within a context

list users within a context

Authorizations:
path Parameters
contextid
required
number

context id

query Parameters
uids
string

comma separated list of uids of the users to return or all users if omitted

Responses

Response samples

Content type
application/json
{
  • "oxadmin": {
    },
  • "testuser": {
    }
}

Close user sessions

Close all user sessions or all sessions within a single context or of a specific user within a context. When no further user selection criterion is specified, then all the sessions of all the users within the context will be removed.

Authorizations:
query Parameters
contextId
string

Id of the context to choose

contextName
string

Name of the context to choose

userId
string

The numeric and internal oxUserId reference

userName
string

The unique name of the user

userMail
string

One of the email addresses of the user. Since it is generally strongly recommended to not use the internal reference numbers, use the userName or userMail options unless the userId has already been resolved through other means.

Responses

Response samples

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

retrieve brand name(s) of the given contextid

retrieve brand name(s) of the given contextid; if brand is a sub-brand, toplevel brand is returned as well

Authorizations:
path Parameters
contextid
required
number

context id

Responses

Response samples

Content type
application/json
{
  • "brandname": "a.sub.brand",
  • "toplevel-brand": "a.toplevel.brand"
}

query whether the user is a context provisioning admin

get the is-user-admin flag of a user to determine whether that user is allowed to perform provisioning operations on their context

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

Response samples

Content type
application/json
{
  • "is-user-admin": true
}

modify the context provisioning admin flag of a user

change the context provisiong admin flag os a user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json

put parameters

is-user-admin
boolean 1 items

Responses

Request samples

Content type
application/json
{
  • "is-user-admin": true
}

Response samples

Content type
application/json
{
  • "context-id": 24,
  • "user-id": 42,
  • "uidname": "johndoe@example.com",
  • "msisdn": "+49.12345.6789",
  • "oxantiphishing": "replace-urls",
  • "is-user-admin": false
}

Forwards

Cloud-Plugins Admin Forwards Rest API

get the forwarding Alias

get the forwarding Alias

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Responses

Response samples

Content type
application/json
[
  • "recipient1@example.com"
]

create a forwarding alias or completely replace it

create a forwarding alias or completely replace it with the given value

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Request Body schema: application/json
recipient
string 1 items

Responses

Request samples

Content type
application/json
Example
{
  • "recipient": "recipient1@example.com"
}

Response samples

Content type
application/json
null

add the given recipient(s) to the existing ones

add the given recipient(s) to the existing ones

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Request Body schema: application/json
recipient
string 1 items

Responses

Request samples

Content type
application/json
Example
{
  • "recipient": "recipient1@example.com"
}

Response samples

Content type
application/json
null

delete the forwarding Alias

delete the forwarding Alias

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Responses

Response samples

Content type
application/json
null

check if the alias exists

check if the alias exists

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Responses

Response samples

Content type
application/json
null

get the forwarding Aliases in a Context

get the forwarding Aliases in a Context

Authorizations:
path Parameters
contextId
required
string

context id or context name

Responses

Response samples

Content type
application/json
{
  • "alias@example.com": [
    ],
  • "alias2@example.com": [
    ]
}

delete all forwarding Aliases in a context

delete all forwarding Aliases in a context

Authorizations:
path Parameters
contextId
required
string

context id or context name

Responses

Response samples

Content type
application/json
null

check if a recipient for an alias exists

check if a recipient for an alias exists

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

recipient
required
string

recipient mail address

Responses

Response samples

Content type
application/json
null

delete the recipient of an alias

delete the recipient of an alias

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

recipient
required
string

recipient mail address

Responses

Response samples

Content type
application/json
null

Mail

Cloud-Plugins Mail Rest API

get all data in one request

get all data in one request

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

Response samples

Content type
application/json
{
  • "recentmails": [
    ],
  • "quota": {
    },
  • "newmessages": {
    },
  • "recentmessages": {
    }
}

get the number of new messages since last login in

get the number of new messages since last login in INBOX

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

Response samples

Content type
{
  • "newmessages": 0
}

get the current user quota

get the current user quota

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

Response samples

Content type
{
  • "mailQuota": {
    }
}

get 5 recent mails from user in INBOX

get 5 recent mails from user in INBOX

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

Response samples

Content type
[
  • {
    }
]

get the number of unread mails in all folders

get the number of unread mails in all folders

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

Response samples

Content type
{
  • "newmessages": 0
}

get the unread message count from INBOX for user

get the unread message count from INBOX for user

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

Response samples

Content type
{
  • "newmessages": 0
}

Explicit Domains

Cloud-Plugins Explicit Domain management

Check whether given domain exists in context

Check whether given domain exists in context

Authorizations:
path Parameters
contextid
required
number

Id of context

domain
required
string

Name of explicit domain

Responses

Response samples

Content type
application/json
{
  • "error": "Error message"
}

Create given domain in context

Create given domain in context

Authorizations:
path Parameters
contextid
required
number

Id of context

domain
required
string

Name of explicit domain

Responses

Response samples

Content type
application/json
{
  • "domain": "example.com"
}

Remove given domain from context

Remove given domain from context

Authorizations:
path Parameters
contextid
required
number

Id of context

domain
required
string

Name of explicit domain

Responses

Response samples

Content type
application/json
{
  • "error": "Error message"
}

List all explicit mail domains within given contex

List all explicit mail domains within given context

Authorizations:
path Parameters
contextid
required
number

Id of context

Responses

Response samples

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

Check whether given domain exists in brand

Check whether given domain exists in brand

Authorizations:
path Parameters
domain
required
string

Name of explicit domain

Responses

Response samples

Content type
application/json
{
  • "error": "Error message"
}

List all explicit mail domains owned by brand

List all explicit mail domains owned by brand

Authorizations:

Responses

Response samples

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

Retrieve all users with aliases using the given do

Retrieve all users with aliases using the given domain

Authorizations:
path Parameters
domain
required
string

Domain name

Responses

Response samples

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

Shared Domains

Cloud-Plugins Shared Domain management

Check if shared domain exists

Check if shared domain exists

Authorizations:

Responses

Response samples

Content type
null

Create given shared domain

Create given shared domain

Authorizations:
path Parameters
domain
required
string

Name of shared domain

Responses

Response samples

Content type
application/json
{
  • "domain": "example.com"
}

Remove given shared domain

Remove given shared domain

Authorizations:
path Parameters
domain
required
string

Name of shared domain

Responses

Response samples

Content type
application/json
null

List all shared shared domains owned by brand

List all shared shared domains owned by brand

Authorizations:

Responses

Response samples

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

Black And White Lists

Cloud-Plugins Black and White Lists management

Get the blacklist for user

Get the blacklist for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

Responses

Response samples

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

Delete the blacklist for user

Delete the blacklist for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

Responses

Get the filtered blacklist for user

Get the filtered blacklist for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

filter
required
string

the blacklist filter which can contain wildcard *

Responses

Response samples

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

Add blacklist entry for user

Add blacklist entry for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

value
required
string

entry to add

Responses

Delete blacklist entry for user

Delete blacklist entry for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

value
required
string

entry to delete

Responses

Get the whitelist for user

Get the whitelist for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

Responses

Response samples

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

Delete the whitelist for user

Delete the whitelist for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

Responses

Get the filtered whitelist for user

Get the filtered whitelist for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

filter
required
string

the whitelist filter which can contain wildcard *

Responses

Response samples

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

Add whitelist entry for user

Add whitelist entry for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

value
required
string

entry to add

Responses

Delete whitelist entry for user

Delete whitelist entry for user

Authorizations:
path Parameters
contextId
required
number

context id

userid
required
number

user id

value
required
string

entry to delete

Responses

Notification

Cloud-Plugins Notification Rest API

Send an "over quota" mail to user

Send an "over quota" mail to user

Authorizations:
path Parameters
usercontext
required
string

the user context and user id in the form "userid@contextid"

Request Body schema: application/json

the user quota threshold

quota_threshold
number

Responses

Request samples

Content type
application/json
{
  • "quota_threshold": 1000
}

Response samples

Content type
{
  • "mail": "the message content"
}

Send an "over quota" mail to user

Send an "over quota" mail to user

Authorizations:
path Parameters
usercontext
required
string

the user context and user id in the form "userid@contextid"

Request Body schema: application/json

the user quota threshold

quota_threshold
number

Responses

Request samples

Content type
application/json
{
  • "quota_threshold": 1000
}

Response samples

Content type
{
  • "mail": "the message content"
}

Send a "disabled send from sending spam" mail to u

Send a "disabled send from sending spam" mail to user

Authorizations:
path Parameters
usercontext
required
string

the user context and user id in the form "userid@contextid"

Responses

Response samples

Content type
text/plain
3@4 has no primary mail address

Send a "welcome" mail to user

Send a "welcome" mail to user

Authorizations:
path Parameters
usercontext
required
string

the user context and user id in the form "userid@contextid"

Responses

Response samples

Content type
{
  • "mail": "the message content"
}

Announcements

Rest API to manage announcements shown to users

Create new announcement

Create new announcement

Authorizations:
Request Body schema: application/json
id
integer
version
integer
name
string
msgJsonObject
object
startDatetime
string <date-time>
endDatetime
string <date-time>
timezone
string;
discardable
boolean
enabled
boolean
ownerBrand
string
brands
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "error": "Error message"
}

List all announcements

List all announcements

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete an existing announcement

Delete an existing announcement

Authorizations:
path Parameters
id
required
number

Announcement id

Responses

Response samples

Content type
No sample

Update an existing announcement

Update an existing announcement

Authorizations:
path Parameters
id
required
number

Announcement id

Request Body schema: application/json
id
integer
version
integer
name
string
msgJsonObject
object
startDatetime
string <date-time>
endDatetime
string <date-time>
timezone
string;
discardable
boolean
enabled
boolean
ownerBrand
string
brands
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "error": "Error message"
}

Enable an existing announcement

Enable an existing announcement

Authorizations:
path Parameters
id
required
number

Announcement id

Responses

Response samples

Content type
No sample

Disable an existing announcement

Disable an existing announcement

Authorizations:
path Parameters
id
required
number

Announcement id

Responses

Response samples

Content type
No sample