stoney mail: Mail Resource - REST API
Jump to navigation
Jump to search
stoney mail
https://api.example.com/v1/services/mail https://api.example.com/v1/services/mail/domains https://api.example.com/v1/services/mail/domains/5000000 https://api.example.com/v1/services/mail/domains/5000000/accounts https://api.example.com/v1/services/mail/domains/5000000/accounts/5000001 https://api.example.com/v1/services/mail/domains/5000000/aliases/5000002 https://api.example.com/v1/services/mail/domainaliases https://api.example.com/v1/services/mail/domainaliases/5000003 https://api.example.com/v1/services/mail/accounts https://api.example.com/v1/services/mail/accounts/5000001 https://api.example.com/v1/services/mail/aliases https://api.example.com/v1/services/mail/aliases/5000002
Permission & Ownership object
We need a generic permission & ownership object which can be added to all service creation and modification requests. The following points needs to be clarified:
- Is this object always mandatory, or can the roles be defined via some clever inherited default values if missing.
- Which roles are available and can be set on which level
- Which informations apart from the user (people) and the role name are necessary?
- Do we want to reference the location URI or the UID of a role
- Does anyone have a better name for the
rolesobject? :)
"roles":
{
[
{
"location": "https://api.example.com/v1/users/3000000",
"role": "Admin"
},
{
"location": "https://api.example.com/v1/users/3000001",
"role": "Admin"
},
{
"location": "https://api.example.com/v1/users/3000002",
"role": "User"
},
{
/* ... */
}
]
}
The opposite while querying a users resource, for example https://api.example.com/v1/users/3000000
{
[
{
/* MailAccountAdmin role for the mail account 5000001 */
"location": "https://api.example.com/v1/services/mail/domains/5000000/accounts/5000001",
"role": "Admin"
},
{
/* BackupAdmin role for all backup products of the customer 1000001 */
"location": "https://api.example.com/v1/services/backups/accounts/?customerUid=1000001",
"role": "Admin"
},
{
/* VirtualizationUser role for the VM 6000001 */
"location": "https://api.example.com/v1/services/virtualization/vms/6000001",
"role": "User"
},
{
/* ... */
}
]
}