Note
If you need an API which has not yet been implemented, feel free to contact us.
iRedAdmin-Pro RESTful API will return message in JSON format.
{'success': true}
.{'success': false, 'msg': '<error_reason>'}
.requests
. For more details,
please read its official documentation./login
, POST)Note
We need the cookies for further operations.
import sys
import requests
# Base URL to iRedAdmin-Pro API interface
url = 'https://<server>/iredadmin/api'
# Admin username (email) and password.
admin = 'my_admin@domain.com'
pw = 'my_password'
#
# Login
#
r = requests.post(url + '/login', data={'username': admin, 'password': pw})
# Get returned JSON data (Python dict)
data = r.json()
if not data['success']:
sys.exit('Login failed')
# Get cookies
cookies = r.cookies
/domain/<domain>
)Create domain test.com
.
requests.post(url + '/domain/test.com',
cookies=cookies,
data={'defaultQuota': '1024'})
Optional POST data:
cn
: the short description of this domain name. e.g. company name.quota
: a integer number for mailbox quota (for whole domain)preferredLanguage
: default preferred language for new user. e.g. en_US
for English, de_DE
for Deutsch.defaultQuota
: default mailbox quota for new user.maxUserQuota
: Max mailbox quota of a single mail usernumberOfUsers
: Max number of mail user accountsnumberOfAliases
: Max number of mail alias accountsrequests.delete(url + '/domain/test.com', cookies=cookies)
/user/<mail>
)Create mail user zhb@test.com
.
requests.post(url + '/user/zhb@test.com',
cookies=cookies,
data={'cn': 'Zhang Huangbin',
'password': 'password_for_zhb',
'preferredLanguage': 'en_US',
'mailQuota': 2048})
Required POST data:
password
: password for this userOptional POST data:
cn
: display namepreferredLanguage
: default preferred language for new user. e.g. en_US
for English, de_DE
for Deutsch.mailQuota
: mailbox quota for this user (in MB). Defaults to per-domain quota setting or unlimited.requests.delete(url + '/user/zhb@test.com', cookies=cookies)
/alias/<mail>
)Create mail alias account alias@test.com
.
requests.post(url + '/alias/alias@test.com',
cookies=cookies,
data={'cn': 'My Alias'})
Optional POST data:
cn
: display namerequests.delete(url + '/alias/alias@test.com', cookies=cookies)
/maillist/<mail>
, OpenLDAP backend only)requests.post(url + '/maillist/list@test.com',
cookies=cookies,
data={'cn': 'My Mailing List'})
Optional POST data:
cn
: display namerequests.delete(url + '/maillist/list@test.com', cookies=cookies)
All documents are available in BitBucket repository, and published under Creative Commons license. If you found something wrong, please do contact us to fix it.