Accounts-account-email-domain-usernames-mailboxName-mailbox:PUT
(Difference between revisions)
(→Status Code) |
Mike.robski (Talk | contribs) m (1 revision: Release 100) |
(One intermediate revision by one user not shown) |
Revision as of 23:10, 18 November 2014
PUT accounts/{account}/email/{domain}/usernames/{mailboxName}/mailbox
Creates or updates a mailbox for specified account and domain. The mailbox quota is determined by the E-mail domain product specification.
Request
PUT accounts/{account}/email/{domain}/usernames/{mailboxName}/mailbox
URI Parameters
- account - string
- domain - string
- mailboxName - string
- The mailbox. String should meet the regexp [a-zA-Z0-9._-]+
Request Headers
- Authorization - HTTP Authorization header [1]
- The Authentication credentials of the client application.
- Content-Type
- Required. Set this header to
application/json; charset=UTF-8
Request Body
{ "password": "{password}", "master": {master}, "quota": {quota}, "type": {type}, "username": {username} }
Parameters
- password - string (Required)
- The password. The password should be at least 8 characters long, a mix of numbers, symbols and mixed-case letters. It should not begin with "pass", "123", "abc", should not contain the second-level domain name of the service, should not contain the username of the mailbox or start with its first 3 characters. There is a restriction using the same password more than once.
- Password validation rules:
- Password must not be used more than once
- Minimum length 8
- Maximum length 128
- Should have at least one digit
- Should have at least one capital letter
- Should have at least one lower case letter
- Should contain at least one special character (any character other than lower or uppercase letters, digits and underscore "_" is considered special character)
- Should not start with the phrase 'pass' case-insensitively
- Should not start with 'abc' case-insensitively
- Should not start with 123
- Must not contain second-level domain, username or start with the first 3 letters from the username
- master - boolean
- Describes if this is a master account.
- quota - int
- Quota value in MB. If not provided default quota for OpenXchange type is set
- type - string - one of "standard", "activesync" or "premium"
- OpenXchange account type. Valid values are standard, activesync, premium. If not provided - standard is default.
- If current mailbox qty is more than allowed for specific OpenXchange account type the response is 400 Bad Request
- username - string
- The mailbox. String should meet the regexp [a-zA-Z0-9._-]+
- Should be used when updating mailbox only
Response
Status Code
- 201 Created
- Success
- 204 No Content
- Success
- 400 Bad Request
- The format of the request body is invalid or the username does not meet the requirements.
- 401 Unauthorized
- The supplied credentials are invalid or do not provide permissions for this operation.
- 404 Not Found
- The domain name does not exist.
- 409 Conflict
- Mailbox already exists.
Examples
Trying to create mailbox without a password
Request
PUT /accounts/test-account123/email/test.com/usernames/john.smith/mailbox {"master": false}
Response
400 Bad Request {"password":"Required"}
Trying to create mailbox with a not valid password
Request
PUT /accounts/test-account123/email/test.com/usernames/john.smith/mailbox {"password": "abc1234", "master": true}
Response
400 Bad Request {"password":"Required"}
Trying to create mailbox with invalid quota value(less or equal to 0)
Request
PUT /accounts/test-account123/email/test.com/usernames/john.smith/mailbox {"password: "test_password1", "quota": 0}
Response
400 Bad Request {"computeFault":"Quota must be greater than 0"}
Trying to create mailbox when mailbox qty for OX type is exceeded
Request
PUT /accounts/test-account123/email/test.com/usernames/john.smith/mailbox {"password: "test_password1", "type": "activesync"}
Response
400 Bad Request {"computeFault":"Number of mailboxes exceeded"}
Create mailbox
Request
PUT /accounts/test-account123/email/test.com/usernames/john.smith/mailbox {"password": "pWord123$", "master": true}
Response
201 Created
Update mailbox password
Request
PUT /accounts/test-account123/email/test.com/usernames/john.smith/mailbox {"password": "!q2w3e4R"}
Response
204 No Content
Trying to update mailbox password with already used one
Request
PUT /accounts/test-account123/email/test.com/usernames/john.smith2/mailbox {"password": "pWord123$"}
Response
400 Bad Request
Create mailbox with specified quota
Request
PUT /accounts/test-account123/email/test.com/usernames/john.smith2/mailbox {"password": "pword1234", "quota": 70}
Response
201 Created
Update existing mailbox quota
Request
PUT /accounts/test-account123/email/test.com/usernames/john.smith2/mailbox {"quota": 85}
Response
204 No Content
See also