Email

An Object

Cloud CMS lets your application code create and send emails using online email providers (such as Google Mail or your own personal email server).

You can create as many emails as you'd like. Email objects can be queried and retrieved for inspection. Emails automatically track opens and clicks on links embedded in the body of the email.

Note

Drop in one of our language drivers to accelerate your development.
Here are links to some of our popular Cookbooks to help you get started!

Parent

This Email 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
bcc string No
body string No
bodyAttachmentId string No
bodyBranchId string No
bodyNodeId string No
bodyRepositoryId string No
cc string No
from string No
replyTo string No
sent boolean No
sentBy string No
sentOn object No
subject string No
to string No
toDomainId string No
toPrincipalId string No

Methods

The following methods are available:

Check Permission

Checks whether one or more authorities against the specified email are granted for a given set of users
POST /applications/{applicationId}/emails/{emailId}/permissions/{permissionId}/check

Parameters

Name Required Type Description
applicationId true string
emailId 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 email for the given user
POST /applications/{applicationId}/emails/{emailId}/authorities/{authorityId}/check

Parameters

Name Required Type Description
applicationId true string
emailId 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 email are granted for a given set of users
POST /applications/{applicationId}/emails/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 email are granted for a given set of users
POST /applications/{applicationId}/emails/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

Creates a new Email
POST /applications/{applicationId}/emails

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

Deletes an existing Email
POST /applications/{applicationId}/emails/{emailId}/delete

Parameters

Name Required Type Description
applicationId true string
emailId true string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Delete Email

Deletes an existing Email
DELETE /applications/{applicationId}/emails/{emailId}

Parameters

Name Required Type Description
applicationId true string
emailId 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 email to a given user
POST /applications/{applicationId}/emails/{emailId}/authorities/{authorityId}/grant

Parameters

Name Required Type Description
applicationId true string
emailId 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

Retrieves a list of Email instances
GET /applications/{applicationId}/emails

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_email"
      }
    }
  }
}

Queries for Email

Queries for instances of type Email
POST /applications/{applicationId}/emails/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_email"
      }
    }
  }
}

Read ACL

Read the Access Control List for the specified email
GET /applications/{applicationId}/emails/{emailId}/acl/list

Parameters

Name Required Type Description
applicationId true string
emailId 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 and specific actor
GET /applications/{applicationId}/emails/{emailId}/acl

Parameters

Name Required Type Description
applicationId true string
emailId 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 email
POST /applications/{applicationId}/emails/{emailId}/authorities

Parameters

Name Required Type Description
applicationId true string
emailId 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

Reads an instance of a Email
GET /applications/{applicationId}/emails/{emailId}

Parameters

Name Required Type Description
applicationId true string
emailId true string

Response

{
  "type": "object",
  "extends": "document",
  "container": "application",
  "description": "Email",
  "properties": {
    "to": {
      "type": "string"
    },
    "body": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "subject": {
      "type": "string"
    },
    "cc": {
      "type": "string"
    },
    "bcc": {
      "type": "string"
    },
    "replyTo": {
      "type": "string"
    },
    "sent": {
      "type": "boolean"
    },
    "sentOn": {
      "type": "object"
    },
    "sentBy": {
      "type": "string"
    },
    "toDomainId": {
      "type": "string"
    },
    "toPrincipalId": {
      "type": "string"
    },
    "bodyRepositoryId": {
      "type": "string"
    },
    "bodyBranchId": {
      "type": "string"
    },
    "bodyNodeId": {
      "type": "string"
    },
    "bodyAttachmentId": {
      "type": "string"
    },
    "_doc": null,
    "_system": null
  }
}

Revoke Authority

Revokes an authority against the specified email from a given user
POST /applications/{applicationId}/emails/{emailId}/authorities/{authorityId}/revoke

Parameters

Name Required Type Description
applicationId true string
emailId 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"
    }
  }
}

Starts an export job for this resource

Starts an export job for this resource
POST /applications/{applicationId}/emails/{emailId}/export

Parameters

Name Required Type Description
applicationId true string
emailId 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}/emails/{emailId}/import

Parameters

Name Required Type Description
applicationId true string
emailId 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"
    }
  }
}

Update Email

Updates an existing Email
PUT /applications/{applicationId}/emails/{emailId}

Parameters

Name Required Type Description
applicationId true string
emailId true string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Update Email

Updates an existing Email
POST /applications/{applicationId}/emails/{emailId}/update

Parameters

Name Required Type Description
applicationId true string
emailId 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",
  "properties": {
    "to": {
      "type": "string"
    },
    "body": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "subject": {
      "type": "string"
    },
    "cc": {
      "type": "string"
    },
    "bcc": {
      "type": "string"
    },
    "replyTo": {
      "type": "string"
    },
    "sent": {
      "type": "boolean"
    },
    "sentOn": {
      "type": "object"
    },
    "sentBy": {
      "type": "string"
    },
    "toDomainId": {
      "type": "string"
    },
    "toPrincipalId": {
      "type": "string"
    },
    "bodyRepositoryId": {
      "type": "string"
    },
    "bodyBranchId": {
      "type": "string"
    },
    "bodyNodeId": {
      "type": "string"
    },
    "bodyAttachmentId": {
      "type": "string"
    },
    "_doc": null,
    "_system": null
  },
  "id": "email"
}