Email Provider
An Object
An Email Provider defines the connectivity to a mail server that you would like your application to interact with as it sends and receives emails. A mail server might be a mail server that you run on-premise or it might be a cloud-hosted offering (such as through Google Mail, GoDaddy or Hotmail).
In this document, we'll assume Google Mail as a mail server and offer configuration samples for it. You can tweak these for your own mail server. Or, if you need assistance, simply let us know and we can help you tweak and configure for your environment.
Note |
Parent
This Email Provider is contained within a Application.
Properties
The following properties are available:
Property | Type | Default | Read-Only | Description |
---|---|---|---|---|
_doc | string | No | The primary ID | |
_system | object | No | Metadata maintained by the system | |
host | string | No | ||
password | string | No | ||
port | number | No | ||
smtp_enabled | boolean | No | ||
smtp_is_secure | boolean | No | ||
smtp_requires_auth | boolean | No | ||
smtp_starttls_enabled | boolean | No | ||
username | string | No |
Methods
The following methods are available:
- Check Permission
- Check Single Authority
- Check multiple Authorities
- Check multiple Permissions
- Create Email Provider
- Delete Email Provider
- Delete Email Provider
- Grant Authority
- Lists Email Provider
- Queries for Email Provider
- Read ACL
- Read ACL for Principal
- Read Authorities Report
- Read Email Provider
- Revoke Authority
- Send
- Starts an export job for this resource
- Starts an import job for this resource
- Test
- Update Email Provider
- Update Email Provider
Check Permission
Checks whether one or more authorities against the specified emailProvider are granted for a given set of users
POST /applications/{applicationId}/emailproviders/{emailProviderId}/permissions/{permissionId}/check
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string | |
permissionId | true | string | |
id | true | string |
Response
{
"$ref": "#/components/schemas/checkPermission"
}
Check Single Authority
Checks whether a single authority is granted against the specified emailProvider for the given user
POST /applications/{applicationId}/emailproviders/{emailProviderId}/authorities/{authorityId}/check
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string | |
authorityId | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Check",
"extends": "status",
"properties": {
"check": {
"type": "boolean"
},
"ok": null
}
}
Check multiple Authorities
Checks whether one or more authorities against the specified emailProvider are granted for a given set of users
POST /applications/{applicationId}/emailproviders/authorities/check
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | The ID of the application |
Response
{
"type": "object",
"description": "Check Multiple Authorities Out",
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"permissionedId": {
"type": "string"
},
"principalId": {
"type": "string"
},
"authorityId": {
"type": "string"
},
"result": {
"type": "boolean"
}
}
}
}
}
}
Check multiple Permissions
Checks whether one or more permissions against the specified emailProvider are granted for a given set of users
POST /applications/{applicationId}/emailproviders/permissions/check
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string |
Response
{
"type": "object",
"description": "Check Multiple Permissions Out",
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"permissionedId": {
"type": "string"
},
"principalId": {
"type": "string"
},
"permissionId": {
"type": "string"
},
"result": {
"type": "boolean"
}
}
}
}
}
}
Create Email Provider
Creates a new Email Provider
POST /applications/{applicationId}/emailproviders
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Delete Email Provider
Deletes an existing Email Provider
DELETE /applications/{applicationId}/emailproviders/{emailProviderId}
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Delete Email Provider
Deletes an existing Email Provider
POST /applications/{applicationId}/emailproviders/{emailProviderId}/delete
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Grant Authority
Grants an authority against the specified emailProvider to a given user
POST /applications/{applicationId}/emailproviders/{emailProviderId}/authorities/{authorityId}/grant
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string | |
authorityId | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Lists Email Provider
Retrieves a list of Email Provider instances
GET /applications/{applicationId}/emailproviders
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
sort | false | object | Defines how to sort fields in the result set |
skip | false | number | Skips the result set cursor ahead the specified number of records |
limit | false | number | Specifies the number of records to be handed back in the result set |
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap_emailProvider"
}
}
}
}
Queries for Email Provider
Queries for instances of type Email Provider
POST /applications/{applicationId}/emailproviders/query
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
sort | false | object | Defines how to sort fields in the result set |
skip | false | number | Skips the result set cursor ahead the specified number of records |
limit | false | number | Specifies the number of records to be handed back in the result set |
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap_emailProvider"
}
}
}
}
Read ACL
Read the Access Control List for the specified emailProvider
GET /applications/{applicationId}/emailproviders/{emailProviderId}/acl/list
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string |
Response
{
"type": "object",
"description": "Result Map of ACL entries",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_doc": {
"type": "string",
"title": "Principal ID"
},
"name": {
"type": "string",
"title": "Principal Name"
},
"type": {
"type": "string",
"title": "Principal Type"
},
"domainId": {
"type": "string"
},
"domainQualifiedId": {
"type": "string"
},
"domainQualifiedName": {
"type": "string"
},
"principalId": {
"type": "string",
"title": "Principal ID"
},
"userEmail": {
"type": "string"
},
"userFirstName": {
"type": "string"
},
"userLastName": {
"type": "string"
},
"authorities": {
"type": "array",
"title": "Authorities",
"items": {
"type": "string",
"title": "Authority Key"
}
}
}
}
}
}
}
Read ACL for Principal
Reads the ACL for an email provider and specific actor
GET /applications/{applicationId}/emailproviders/{emailProviderId}/acl
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Result Map of Authority Keys",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "string",
"description": "Authority Key"
}
}
}
}
Read Authorities Report
Read the Authorities Report for the specified emailProvider
POST /applications/{applicationId}/emailproviders/{emailProviderId}/authorities
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string |
Response
{
"type": "object",
"description": "Authority Report",
"properties": {
"principalId": {
"type": "object",
"properties": {
"id": {
"type": "object",
"properties": {
"role-key": {
"type": "string"
},
"principal": {
"type": "string"
},
"permissioned": {
"type": "string"
},
"inheritsFrom": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"principal": {
"type": "string"
},
"permissioned": {
"type": "string"
}
}
}
}
}
}
}
}
}
Read Email Provider
Reads an instance of a Email Provider
GET /applications/{applicationId}/emailproviders/{emailProviderId}
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string |
Response
{
"type": "object",
"extends": "document",
"container": "application",
"description": "Email Provider",
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"smtp_enabled": {
"type": "boolean"
},
"smtp_requires_auth": {
"type": "boolean"
},
"smtp_is_secure": {
"type": "boolean"
},
"smtp_starttls_enabled": {
"type": "boolean"
},
"_doc": null,
"_system": null
}
}
Revoke Authority
Revokes an authority against the specified emailProvider from a given user
POST /applications/{applicationId}/emailproviders/{emailProviderId}/authorities/{authorityId}/revoke
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string | |
authorityId | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Send
POST /applications/{applicationId}/emailproviders/{emailProviderId}/send
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string | |
true | string |
Response
{}
Starts an export job for this resource
Starts an export job for this resource
POST /applications/{applicationId}/emailproviders/{emailProviderId}/export
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string | |
groupId | false | string | The Group ID to be assigned to the exported archive |
artifactId | false | string | The Artifact ID to be assigned to the exported archive |
versionId | false | string | The Version ID to be assigned to the exported archive |
vaultId | false | string | The ID of the vault where the exported archive should be saved |
schedule | false | string | Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous') |
Response
{
"type": "object",
"description": "Export Configuration",
"properties": {
"startDate": {
"type": "object"
},
"endDate": {
"type": "object"
},
"startChangeset": {
"type": "string"
},
"endChangeset": {
"type": "string"
},
"includeACLs": {
"type": "boolean"
},
"includeTeams": {
"type": "boolean"
},
"includeActivities": {
"type": "boolean"
},
"includeBinaries": {
"type": "boolean"
},
"includeAttachments": {
"type": "boolean"
},
"artifactDependencies": {
"type": "array",
"items": {
"type": "object"
}
},
"artifactIncludes": {
"type": "array",
"items": {
"type": "object"
}
},
"forceIncludes": {
"type": "boolean"
}
}
}
Starts an import job for this resource
Starts an import job for this resource
POST /applications/{applicationId}/emailproviders/{emailProviderId}/import
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string | |
groupId | false | string | The Group ID to be assigned to the exported archive |
artifactId | false | string | The Artifact ID to be assigned to the exported archive |
versionId | false | string | The Version ID to be assigned to the exported archive |
vaultId | false | string | The ID of the vault where the exported archive should be saved |
schedule | false | string | Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous') |
Response
{
"type": "object",
"description": "Import Configuration",
"properties": {
"includeACLs": {
"type": "boolean"
},
"includeTeams": {
"type": "boolean"
},
"includeActivities": {
"type": "boolean"
},
"includeBinaries": {
"type": "boolean"
},
"includeAttachments": {
"type": "boolean"
},
"strategy": {
"type": "array",
"items": {
"type": "string"
}
},
"substitutions": {
"type": "string"
}
}
}
Test
PUT /applications/{applicationId}/emailproviders/{emailProviderId}/test
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string | |
from | true | string | |
to | true | string |
Response
{}
Update Email Provider
Updates an existing Email Provider
POST /applications/{applicationId}/emailproviders/{emailProviderId}/update
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Update Email Provider
Updates an existing Email Provider
PUT /applications/{applicationId}/emailproviders/{emailProviderId}
Parameters
Name | Required | Type | Description |
---|---|---|---|
applicationId | true | string | |
emailProviderId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Schema
{
"type": "object",
"extends": "document",
"container": "application",
"description": "Email Provider",
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"smtp_enabled": {
"type": "boolean"
},
"smtp_requires_auth": {
"type": "boolean"
},
"smtp_is_secure": {
"type": "boolean"
},
"smtp_starttls_enabled": {
"type": "boolean"
},
"_doc": null,
"_system": null
},
"id": "emailProvider"
}