Get all accounts
Retrieve all accounts (including the authenticated user)
- HTTP Method:
GET
- URL:
https://example.domain.tld/api/v1/accounts/
- Require authentication:
Yes
- Permission level required:
MasterAdmin / DomainAdmin / MailUser
Query parameters
| Parameter |
Type |
Description |
Required |
| limit |
int |
Number of records (max 50) |
Optional |
| start |
int |
Record offset |
Optional |
| search |
str |
Search term |
Optional |
| perm_level |
str |
Permission level |
Optional |
| enabled |
int |
Status: 0 or 1 |
Optional |
| api_access |
int |
Status: 0 or 1 |
Optional |
Response parameters for MasterAdmin
| Parameter |
Type |
Description |
| accounts |
list |
List of accounts |
| username |
str |
Account username |
| perm_level |
str |
Account permission level |
| api_access |
int |
Enabled (1) or disabled (0) API access |
| enabled |
int |
Enabled (1) or disabled (0) account |
| recovery_email |
str |
Email used for password reset |
| language |
str |
ISO 639-1 or ISO 639-2 language code |
| last_login |
int |
Previous login as UNIX timestamp (seconds) |
| password_hash |
str |
SHA512-Crypt hash of password |
Response parameters for DomainAdmin
| Parameter |
Type |
Description |
| accounts |
list |
List of accounts |
| username |
str |
Account username |
| perm_level |
str |
Account permission level |
| api_access |
int |
Enabled (1) or disabled (0) API access |
| enabled |
int |
Enabled (1) or disabled (0) account |
| recovery_email |
str |
Email used for password reset |
| language |
str |
ISO 639-1 or ISO 639-2 language code |
| last_login |
int |
Previous login as UNIX timestamp (seconds) |
| password_hash |
str |
SHA512-Crypt hash of password |
| domains |
str |
Comma separated list of administered domains |
| quota_aliases |
int |
Aliases quota |
| quota_aliases_used |
int |
Aliases quota used |
| quota_domainaliases |
int |
Domain aliases quota |
| quota_domainaliases_used |
int |
Domain aliases quota used |
| quota_domains |
int |
Domains quota |
| quota_domains_used |
int |
Domains quota used |
| quota_mailboxes |
int |
Mailboxes quota |
| quota_mailboxes_used |
int |
Mailboxes quota used |
| storagequota_total |
int |
Storage quota in MB |
| storagequota_used |
int |
Storage quota used in MB |
Response parameters for MailUser
| Parameter |
Type |
Description |
| accounts |
list |
List of accounts |
| username |
str |
Account username |
| perm_level |
str |
Account permission level |
| api_access |
int |
Enabled (1) or disabled (0) API access |
| enabled |
int |
Enabled (1) or disabled (0) account |
| recovery_email |
str |
Email used for password reset |
| language |
str |
ISO 639-1 or ISO 639-2 language code |
| last_login |
int |
Previous login as UNIX timestamp (seconds) |
| password_hash |
str |
SHA512-Crypt hash of password |
| domain |
str |
Domain of email account |
| storagequota_total |
int |
Storage quota in MB |
| storagequota_used |
int |
Storage quota used in MB |
Example request (Python)
import requests
import json
from pprint import pprint
url = "https://example.domain.tld/api/v1/accounts/"
#url = "https://example.domain.tld/api/v1/accounts/?limit=10&start=0" # example using query parameters to fetch first 10 accounts
r = requests.get(url, auth=("admin","long-auth_token-here"))
try:
pprint(r.json())
except:
print(r.text)
Example response (JSON)
{'accounts': [{'api_access': 1,
'enabled': 1,
'language': 'en',
'last_login': 1583116949,
'password_hash': '{SHA512-CRYPT}$6$rounds=70000$vUk5SWTc2srgRya8$RQOljAPVjnjr3apPOmHbcZKsK9I2lrjA82u0ud4CaJl0wO.tyqqEWyqMwi57Z1wURYwHU8uDPQST0NdrJdbZI0',
'perm_level': 'MasterAdmin',
'recovery_email': 'recovery@mydomain.tld',
'username': 'admin'},
{'api_access': 1,
'domains': 'mydomain.com',
'enabled': 1,
'language': 'en',
'last_login': 1582561785,
'password_hash': '{SHA512-CRYPT}$6$rounds=70000$/oRqKJRjL8qazidW$emfUhHeRzZ4d1y7s.UI6iJF8kJ.ZjLJB9hxXFSW9FyZ8/dfwNMLEmrVdFGyKBZfpAx6gAXOVnMNZmX0Ll9LmT/',
'perm_level': 'DomainAdmin',
'quota_aliases': 9999,
'quota_aliases_used': 1,
'quota_domainaliases': 9999,
'quota_domainaliases_used': 0,
'quota_domains': 9999,
'quota_domains_used': 1,
'quota_mailboxes': 9999,
'quota_mailboxes_used': 1,
'recovery_email': 'recovery@mydomain.tld',
'storagequota_total': 10000,
'storagequota_used': 500,
'username': 'domainadm'},
{'api_access': 1,
'domain': 'mydomain.com',
'enabled': 1,
'language': 'en',
'last_login': 1582561631,
'password_hash': '{SHA512-CRYPT}$6$rounds=70000$a6twk7EltgxYbby5$rmaSWGyDQTR0uz.KRN.pmFs35DKhMMREHFZL14pRtAsFTSNSiOxt/1i9sSoYzzFVzjzF9tqkoE00xsTCjUwOU.',
'perm_level': 'MailUser',
'recovery_email': 'recovery@mydomain.tld',
'storagequota_total': 500,
'storagequota_used': 2,
'username': 'user1@mydomain.com'}]}