Cloud-Plugins Rest APIs (1.9.1)

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 /oxaas/v1/admin/contexts/{contextid}/users/{userid}/custom
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/custom
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/custom

get custom name of user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

200

Success

401

Authorization error

404

User does not exist or custom id not found in user

Response samples

application/json
Copy
Expand all Collapse all
{
  • "custom":
    [
    ]
}

change custom id(s)

put /oxaas/v1/admin/contexts/{contextid}/users/{userid}/custom
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/custom
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/custom

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json
custom
string

Responses

200

Settings successfully updated

400

Generic error, e.g. wrong parameters

401

Authorization error

404

User does not exist

Request samples

application/json
Copy
Expand all Collapse all
{
  • "custom": "string"
}

Response samples

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

delete custom id(s)

delete /oxaas/v1/admin/contexts/{contextid}/users/{userid}/custom
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/custom
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/custom

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

200

Settings successfully updated

401

Authorization error

404

User does not exist

Response samples

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

get msisdn of user

get /oxaas/v1/admin/contexts/{contextid}/users/{userid}/msisdn
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/msisdn
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/msisdn

get msisdn of user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

200

Success

401

Authorization error

404

User does not exist or msisdn not set for user

Response samples

application/json
Copy
Expand all Collapse all
{
  • "msisdn": "+49.12345.6789"
}

change msisdn

put /oxaas/v1/admin/contexts/{contextid}/users/{userid}/msisdn
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/msisdn
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/msisdn

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json
msisdn
string

Responses

200

Settings successfully updated

400

Generic error, e.g. wrong parameters

401

Authorization error

404

User does not exist

Request samples

application/json
Copy
Expand all Collapse all
{
  • "msisdn": "string"
}

Response samples

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

delete msisdn

delete /oxaas/v1/admin/contexts/{contextid}/users/{userid}/msisdn
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/msisdn
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/msisdn

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

200

Settings successfully updated

401

Authorization error

404

User does not exist

Response samples

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

search for users using given query parameters

get /oxaas/v1/admin/oxuser
http://example.com/oxaas/v1/admin/oxuser
https://example.com/oxaas/v1/admin/oxuser

get uidname of user

Authorizations:
query Parameters
search
required
string

string to search for

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

field to search into

Responses

200

Success

400

Generic error, e.g. wrong parameters

401

Authorization error

404

User not found

Response samples

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

get uidname of user

get /oxaas/v1/admin/contexts/{contextid}/users/{userid}/uidname
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/uidname
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/uidname

get uidname of user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

200

Success

401

Authorization error

404

User does not exist

Response samples

application/json
Copy
Expand all Collapse all
{
  • "uidname": "johndoe@example.com"
}

change uidname

put /oxaas/v1/admin/contexts/{contextid}/users/{userid}/uidname
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/uidname
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/uidname

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json
uidname
string

Responses

200

Settings successfully updated

400

Generic error, e.g. wrong parameters

401

Authorization error

404

User does not exist

409

User does already exist

Request samples

application/json
Copy
Expand all Collapse all
{
  • "uidname": "string"
}

Response samples

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

change or remove msisdn or custom id(s)

post /oxaas/v1/admin/contexts/{contextid}/users/{userid}/uids
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/uids
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/uids

change user data

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Request Body schema: application/json
msisdn
string
custom
Array of string

Responses

200

Settings successfully updated

201

At least one setting has been created

400

Generic error, e.g. wrong parameters

401

Authorization error

404

User does not exist

Request samples

application/json
Copy
Expand all Collapse all
{
  • "msisdn": "+49.12345.6789",
  • "custom":
    [
    ]
}

Response samples

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

get whole config of the user

get /oxaas/v1/admin/contexts/{contextid}/users/{userid}/userconfig
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/userconfig
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/userconfig

get whole config of the user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

Responses

200

Success

401

Authorization error

404

User does not exist

Response samples

application/json
Copy
Expand all Collapse all
{
  • "userconfig":
    [
    ]
}

get whole config of the user

get /oxaas/v1/admin/contexts/{contextid}/users/{userid}/userconfig/searchpattern/{searchpattern}
http://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/userconfig/searchpattern/{searchpattern}
https://example.com/oxaas/v1/admin/contexts/{contextid}/users/{userid}/userconfig/searchpattern/{searchpattern}

get whole config of the user

Authorizations:
path Parameters
contextid
required
number

context id

userid
required
number

user id

searchpattern
required
string

Search Pattern to filter the list of returned configurations

Responses

200

Success

401

Authorization error

404

User does not exist

Response samples

application/json
Copy
Expand all Collapse all
{
  • "userconfig":
    [
    ]
}

Forwards

Cloud-Plugins Admin Forwards Rest API

get the forwarding Alias

get /api/oxaas/v1/admin/forwards/{contextId}/{alias}
http://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}
https://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}

get the forwarding Alias

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Responses

200

Success

403

Authorization error

404

Forwarding alias does not exist or context not found

Response samples

application/json
Copy
Expand all Collapse all
[
  • "recipient1@example.com"
]

create the forwarding Alias

post /api/oxaas/v1/admin/forwards/{contextId}/{alias}
http://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}
https://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}

create the forwarding Alias

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Request Body schema: application/json
recipient
string

Responses

201

Success

204

if already exists (without making any changes to the recipients)

403

Authorization error

404

Context not found

Request samples

application/json
Copy
Expand all Collapse all
{
  • "recipient": "recipient@example.com"
}

Response samples

application/json
Copy
Expand all Collapse all
null

update the forwarding Alias

put /api/oxaas/v1/admin/forwards/{contextId}/{alias}
http://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}
https://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}

update the forwarding Alias

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Request Body schema: application/json
recipient
string

Responses

201

Success

204

if already exists (without making any changes to the recipients)

400

if there is a value present for the forwarding recipient

403

Authorization error

404

Forwarding alias does not exist or context not found

Request samples

application/json
Copy
Expand all Collapse all
{
  • "recipient": "recipient@example.com"
}

Response samples

application/json
Copy
Expand all Collapse all
null

delete the forwarding Alias

delete /api/oxaas/v1/admin/forwards/{contextId}/{alias}
http://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}
https://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}

delete the forwarding Alias

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Responses

204

Success

403

Authorization error

404

Forwarding alias does not exist or context not found

Response samples

application/json
Copy
Expand all Collapse all
null

check if the alias exists

head /api/oxaas/v1/admin/forwards/{contextId}/{alias}
http://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}
https://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}

check if the alias exists

Authorizations:
path Parameters
contextId
required
string

context id or context name

alias
required
string

alias mail address

Responses

200

Alias exists

403

Authorization error

404

Forwarding alias does not exist or context not found

Response samples

application/json
Copy
Expand all Collapse all
null

get the forwarding Aliases in a Context

get /api/oxaas/v1/admin/forwards/{contextId}
http://example.com/api/oxaas/v1/admin/forwards/{contextId}
https://example.com/api/oxaas/v1/admin/forwards/{contextId}

get the forwarding Aliases in a Context

Authorizations:
path Parameters
contextId
required
string

context id or context name

Responses

200

Success

403

Authorization error

404

Context not found

Response samples

application/json
Copy
Expand all Collapse all
{
  • "alias@example.com":
    [
    ],
  • "alias2@example.com":
    [
    ]
}

delete all forwarding Aliases in a context

delete /api/oxaas/v1/admin/forwards/{contextId}
http://example.com/api/oxaas/v1/admin/forwards/{contextId}
https://example.com/api/oxaas/v1/admin/forwards/{contextId}

delete all forwarding Aliases in a context

Authorizations:
path Parameters
contextId
required
string

context id or context name

Responses

204

Success

403

Authorization error

404

Context not found

Response samples

application/json
Copy
Expand all Collapse all
null

check if a recipient for an alias exists

head /api/oxaas/v1/admin/forwards/{contextId}/{alias}/{recipient}
http://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}/{recipient}
https://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}/{recipient}

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

200

Alias exists

403

Authorization error

404

Forwarding alias does not exist or context not found

Response samples

application/json
Copy
Expand all Collapse all
null

delete the recipient of an alias

delete /api/oxaas/v1/admin/forwards/{contextId}/{alias}/{recipient}
http://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}/{recipient}
https://example.com/api/oxaas/v1/admin/forwards/{contextId}/{alias}/{recipient}

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

204

Success

403

Authorization error

404

Forwarding alias does not exist or context not found

Response samples

application/json
Copy
Expand all Collapse all
null

Mail

Cloud-Plugins Mail Rest API

get all data in one request

get /api/oxaas/mail/{uid}
http://example.com/api/oxaas/mail/{uid}
https://example.com/api/oxaas/mail/{uid}

get all data in one request

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

200

Success

401

Authorization error

500

General Error

Response samples

application/json
Copy
Expand all Collapse all
{
  • "recentmails":
    [
    ],
  • "quota":
    {
    },
  • "newmessages":
    {
    },
  • "recentmessages":
    {
    }
}

get the number of new messages since last login

get /api/oxaas/mail/{uid}/newmessages
http://example.com/api/oxaas/mail/{uid}/newmessages
https://example.com/api/oxaas/mail/{uid}/newmessages

get the number of new messages since last login

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

200

Success

401

Authorization error

500

General Error

Response samples

Copy
Expand all Collapse all
{
  • "newmessages": 0
}

get the current user quota

get /api/oxaas/mail/{uid}/quota
http://example.com/api/oxaas/mail/{uid}/quota
https://example.com/api/oxaas/mail/{uid}/quota

get the current user quota

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

200

Success

401

Authorization error

500

General Error

Response samples

Copy
Expand all Collapse all
{
  • "mailQuota":
    {
    }
}

get 5 recent mails from user

get /api/oxaas/mail/{uid}/recentmails
http://example.com/api/oxaas/mail/{uid}/recentmails
https://example.com/api/oxaas/mail/{uid}/recentmails

get 5 recent mails from user

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

200

Success

401

Authorization error

500

General Error

Response samples

Copy
Expand all Collapse all
[
  • {
    }
]

get the number of unread mails in all folders

get /api/oxaas/mail/{uid}/recentmessages
http://example.com/api/oxaas/mail/{uid}/recentmessages
https://example.com/api/oxaas/mail/{uid}/recentmessages

get the number of unread mails in all folders

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

200

Success

401

Authorization error

500

General Error

Response samples

Copy
Expand all Collapse all
{
  • "newmessages": 0
}

get the unread message count from INBOX for user

get /api/oxaas/mail/unread/{uid}
http://example.com/api/oxaas/mail/unread/{uid}
https://example.com/api/oxaas/mail/unread/{uid}

get the unread message count from INBOX for user

Authorizations:
path Parameters
uid
required
string

user identifier

Responses

200

Success

401

Authorization error

500

General Error

Response samples

Copy
Expand all Collapse all
{
  • "newmessages": 0
}

Explicit Domains

Cloud-Plugins Explicit Domain management

Check whether given domain exists in context

head /api/oxaas/v1/admin/explicitmaildomains/{contextid}/{domain}
http://example.com/api/oxaas/v1/admin/explicitmaildomains/{contextid}/{domain}
https://example.com/api/oxaas/v1/admin/explicitmaildomains/{contextid}/{domain}

Check whether given domain exists in context

Authorizations:
path Parameters
contextid
required
number

Id of context

domain
required
string

Name of explicit domain

Responses

200

Domain exists

400

Generic error, e.g. wrong parameters

401

Authorization error

404

Domain does not exist

Response samples

application/json
Copy
Expand all Collapse all
{
  • "error": "Error message"
}

Create given domain in context

post /api/oxaas/v1/admin/explicitmaildomains/{contextid}/{domain}
http://example.com/api/oxaas/v1/admin/explicitmaildomains/{contextid}/{domain}
https://example.com/api/oxaas/v1/admin/explicitmaildomains/{contextid}/{domain}

Create given domain in context

Authorizations:
path Parameters
contextid
required
number

Id of context

domain
required
string

Name of explicit domain

Responses

200

Success

400

Generic error, e.g. wrong parameters

401

Authorization error

409

Domain could not be added

Response samples

application/json
Copy
Expand all Collapse all
{
  • "domain": "example.com"
}

Remove given domain from context

delete /api/oxaas/v1/admin/explicitmaildomains/{contextid}/{domain}
http://example.com/api/oxaas/v1/admin/explicitmaildomains/{contextid}/{domain}
https://example.com/api/oxaas/v1/admin/explicitmaildomains/{contextid}/{domain}

Remove given domain from context

Authorizations:
path Parameters
contextid
required
number

Id of context

domain
required
string

Name of explicit domain

Responses

200

Success

400

Generic error, e.g. wrong parameters

401

Authorization error

409

Domain could not be removed

Response samples

application/json
Copy
Expand all Collapse all
{
  • "error": "Error message"
}

List all explicit mail domains within given contex

get /api/oxaas/v1/admin/explicitmaildomains/{contextid}
http://example.com/api/oxaas/v1/admin/explicitmaildomains/{contextid}
https://example.com/api/oxaas/v1/admin/explicitmaildomains/{contextid}

List all explicit mail domains within given context

Authorizations:
path Parameters
contextid
required
number

Id of context

Responses

200

Success

400

Generic error, e.g. wrong parameters

401

Authorization error

Response samples

application/json
Copy
Expand all Collapse all
{
  • "domains":
    [
    ]
}