---
title: "Email"
description: "Cloud CMS enables applications to create, send, and track emails through various providers, supporting custom queries and backend integration. (Gitana 4.0)"
product: "Gitana"
version: "4.0"
url: "/documentation/gitana/4.0/reference/types/email"
---

# <a id="top"></a>Email

An Object

1.  [Platform](/documentation/gitana/4.0/reference/types/platform.md)
2.  [Application](/documentation/gitana/4.0/reference/types/application.md)
3.  [Email](/documentation/gitana/4.0/reference/types/email.md)

##### Table of Contents

- [Overview](#top "Overview")
- [Parent](#parent "Parent")
- [Properties](#properties "Properties")
- [Methods](#methods "Methods")
- [Schema](#schema "Schema")

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](/documentation/gitana/4.0/developers/cookbooks/overview.md) to help you get started!
> 
> - [C#](/documentation/gitana/4.0/developers/cookbooks/csharp.md)
> - [Go](/documentation/gitana/4.0/developers/cookbooks/go.md)
> - [Java](/documentation/gitana/4.0/developers/cookbooks/java.md)
> - [JavaScript](/documentation/gitana/4.0/developers/cookbooks/javascript2.md)
> - [PHP](/documentation/gitana/4.0/developers/cookbooks/php.md)
> - [Python](/documentation/gitana/4.0/developers/cookbooks/python.md)
> - [Ruby](/documentation/gitana/4.0/developers/cookbooks/ruby.md)

## <a id="parent"></a>Parent

This Email is contained within a [Application](/documentation/gitana/4.0/reference/types/application.md).

## <a id="properties"></a>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 | The email addresses to be blind carbon-copied (BCC) (comma-delimited) |
| body | string |  | No | The body of the email. |
| bodyAttachmentId | string |  | No | The name of the attachment (example: default) |
| bodyBranchId | string |  | No | The \_doc ID of the branch. |
| bodyNodeId | string |  | No | The \_doc ID of the node. |
| bodyRepositoryId | string |  | No | The \_doc ID of the repository. |
| cc | string |  | No | The email addresses to be carbon-copied (CC) (comma-delimited) |
| from | string |  | No | The email address of the sender. |
| replyTo | string |  | No | The reply-to email address. |
| sent | boolean |  | No | Whether the email was sent. |
| sentBy | string |  | No | Who sent the email. |
| sentOn | object |  | No | When the email was sent. |
| subject | string |  | No | The subject of the email. |
| to | string |  | No | The email addresses of the recipients (comma-delimited) |
| toDomainId | string |  | No | If you wish to send this email to a specific domain principal, this points to the principal's domain. |
| toPrincipalId | string |  | No | If you wish to send this email to a specific domain principal, this points to the principal. |

## <a id="methods"></a>Methods

The following methods are available:

- [Check Permission](#post-applications-applicationid-emails-emailid-permissions-permissionid-check "Check Permission")
- [Check Single Authority](#post-applications-applicationid-emails-emailid-authorities-authorityid-check "Check Single Authority")
- [Check multiple Authorities](#post-applications-applicationid-emails-authorities-check "Check multiple Authorities")
- [Check multiple Permissions](#post-applications-applicationid-emails-permissions-check "Check multiple Permissions")
- [Create Email](#post-applications-applicationid-emails "Create Email")
- [Delete Email](#post-applications-applicationid-emails-emailid-delete "Delete Email")
- [Delete Email](#delete-applications-applicationid-emails-emailid "Delete Email")
- [Export Email](#post-applications-applicationid-emails-emailid-export "Export Email")
- [Grant Authority](#post-applications-applicationid-emails-emailid-authorities-authorityid-grant "Grant Authority")
- [Import Email](#post-applications-applicationid-emails-emailid-import "Import Email")
- [Lists Email](#get-applications-applicationid-emails "Lists Email")
- [Queries for Email](#post-applications-applicationid-emails-query "Queries for Email")
- [Read ACL](#get-applications-applicationid-emails-emailid-acl-list "Read ACL")
- [Read ACL for Principal](#get-applications-applicationid-emails-emailid-acl "Read ACL for Principal")
- [Read Authorities Report](#post-applications-applicationid-emails-emailid-authorities "Read Authorities Report")
- [Read Email](#get-applications-applicationid-emails-emailid "Read Email")
- [Revoke Authority](#post-applications-applicationid-emails-emailid-authorities-authorityid-revoke "Revoke Authority")
- [Update Email](#put-applications-applicationid-emails-emailid "Update Email")
- [Update Email](#post-applications-applicationid-emails-emailid-update "Update Email")

### <a id="post-applications-applicationid-emails-emailid-permissions-permissionid-check"></a>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 | The ID of the application |
| emailId | true | string |  |
| permissionId | true | string | The ID of the permission |
| id | true | string |  |

#### Response

```json
{
  "$ref": "#/components/schemas/checkPermission"
}
```

### <a id="post-applications-applicationid-emails-emailid-authorities-authorityid-check"></a>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 | The ID of the application |
| emailId | true | string |  |
| authorityId | true | string | The ID or authority key for the authority |
| id | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Check",
  "extends": "status",
  "properties": {
    "check": {
      "type": "boolean"
    },
    "ok": null
  }
}
```

### <a id="post-applications-applicationid-emails-authorities-check"></a>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

```json
{
  "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"
          }
        }
      }
    }
  }
}
```

### <a id="post-applications-applicationid-emails-permissions-check"></a>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 | The ID of the application |

#### Response

```json
{
  "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"
          }
        }
      }
    }
  }
}
```

### <a id="post-applications-applicationid-emails"></a>Create Email

Creates a new Email

POST /applications/{applicationId}/emails

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |

#### Response

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

### <a id="post-applications-applicationid-emails-emailid-delete"></a>Delete Email

Deletes an existing Email

POST /applications/{applicationId}/emails/{emailId}/delete

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |
| emailId | true | string |  |

#### Response

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

### <a id="delete-applications-applicationid-emails-emailid"></a>Delete Email

Deletes an existing Email

DELETE /applications/{applicationId}/emails/{emailId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |
| emailId | true | string |  |

#### Response

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

### <a id="post-applications-applicationid-emails-emailid-export"></a>Export Email

Starts an export job for this resource

POST /applications/{applicationId}/emails/{emailId}/export

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |
| 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

```json
{
  "type": "object",
  "description": "Export Configuration",
  "properties": {
    "startDate": {
      "type": "object",
      "description": "Only include objects whose modification date is after this time (epoch millis). This is used for partial or rolling exports."
    },
    "endDate": {
      "type": "object",
      "description": "Only include objects whose modification date is before this time (epoch millis). This is used for partial or rolling exports."
    },
    "startChangeset": {
      "type": "string",
      "description": "Only include data that is relevant to changesets at or beyond the specified changeset."
    },
    "endChangeset": {
      "type": "string",
      "description": "Only include data that is relevant to changesets at or before the specified changeset."
    },
    "includeACLs": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include ACLs during export."
    },
    "includeTeams": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Teams during export."
    },
    "includeActivities": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Activities during export."
    },
    "includeBinaries": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Binaries for data stores during export."
    },
    "includeAttachments": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Attachments for Attachables during export."
    },
    "artifactDependencies": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "artifactIncludes": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "forceIncludes": {
      "type": "boolean"
    }
  }
}
```

### <a id="post-applications-applicationid-emails-emailid-authorities-authorityid-grant"></a>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 | The ID of the application |
| emailId | true | string |  |
| authorityId | true | string | The ID or authority key for the authority |
| id | true | string |  |

#### Response

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

### <a id="post-applications-applicationid-emails-emailid-import"></a>Import Email

Starts an import job for this resource

POST /applications/{applicationId}/emails/{emailId}/import

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |
| 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

```json
{
  "type": "object",
  "description": "Import Configuration",
  "properties": {
    "includeACLs": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include ACLs during import."
    },
    "includeTeams": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Teams during import."
    },
    "includeActivities": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Activities during import."
    },
    "includeBinaries": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Binaries for data stores during import."
    },
    "includeAttachments": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Attachments for Attachables during import."
    },
    "strategy": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": "CLONE",
      "description": "Either CLONE or COPY_EVERYTHING. Use CLONE to keep the same IDs on import. Use COPY_EVERYTHING to generate all new IDs for all entries on every import."
    },
    "substitutions": {
      "type": "string"
    }
  }
}
```

### <a id="get-applications-applicationid-emails"></a>Lists Email

Retrieves a list of Email instances

GET /applications/{applicationId}/emails

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |
| 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 |

This method supports pagination.

#### Response

```json
{
  "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"
      }
    }
  }
}
```

### <a id="post-applications-applicationid-emails-query"></a>Queries for Email

Queries for instances of type Email

POST /applications/{applicationId}/emails/query

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |
| 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 |

This method supports pagination.

#### Response

```json
{
  "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"
      }
    }
  }
}
```

### <a id="get-applications-applicationid-emails-emailid-acl-list"></a>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 | The ID of the application |
| emailId | true | string |  |

#### Response

```json
{
  "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"
            }
          }
        }
      }
    }
  }
}
```

### <a id="get-applications-applicationid-emails-emailid-acl"></a>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 | The ID of the application |
| emailId | true | string |  |
| id | true | string |  |

#### Response

```json
{
  "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"
      }
    }
  }
}
```

### <a id="post-applications-applicationid-emails-emailid-authorities"></a>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 | The ID of the application |
| emailId | true | string |  |

#### Response

```json
{
  "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"
                }
              }
            }
          }
        }
      }
    }
  }
}
```

### <a id="get-applications-applicationid-emails-emailid"></a>Read Email

Reads an instance of a Email

GET /applications/{applicationId}/emails/{emailId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |
| emailId | true | string |  |

#### Response

```json
{
  "type": "object",
  "extends": "document",
  "container": "application",
  "description": "Email",
  "properties": {
    "to": {
      "type": "string",
      "description": "The email addresses of the recipients (comma-delimited)"
    },
    "body": {
      "type": "string",
      "description": "The body of the email."
    },
    "from": {
      "type": "string",
      "description": "The email address of the sender."
    },
    "subject": {
      "type": "string",
      "description": "The subject of the email."
    },
    "cc": {
      "type": "string",
      "description": "The email addresses to be carbon-copied (CC) (comma-delimited)"
    },
    "bcc": {
      "type": "string",
      "description": "The email addresses to be blind carbon-copied (BCC) (comma-delimited)"
    },
    "replyTo": {
      "type": "string",
      "description": "The reply-to email address."
    },
    "sent": {
      "type": "boolean",
      "description": "Whether the email was sent."
    },
    "sentOn": {
      "type": "object",
      "description": "When the email was sent."
    },
    "sentBy": {
      "type": "string",
      "description": "Who sent the email."
    },
    "toDomainId": {
      "type": "string",
      "description": "If you wish to send this email to a specific domain principal, this points to the principal's domain."
    },
    "toPrincipalId": {
      "type": "string",
      "description": "If you wish to send this email to a specific domain principal, this points to the principal."
    },
    "bodyRepositoryId": {
      "type": "string",
      "description": "The _doc ID of the repository."
    },
    "bodyBranchId": {
      "type": "string",
      "description": "The _doc ID of the branch."
    },
    "bodyNodeId": {
      "type": "string",
      "description": "The _doc ID of the node."
    },
    "bodyAttachmentId": {
      "type": "string",
      "description": "The name of the attachment (example: default)"
    },
    "_doc": null,
    "_system": null
  }
}
```

### <a id="post-applications-applicationid-emails-emailid-authorities-authorityid-revoke"></a>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 | The ID of the application |
| emailId | true | string |  |
| authorityId | true | string | The ID or authority key for the authority |
| id | true | string |  |

#### Response

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

### <a id="put-applications-applicationid-emails-emailid"></a>Update Email

Updates an existing Email

PUT /applications/{applicationId}/emails/{emailId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |
| emailId | true | string |  |

#### Response

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

### <a id="post-applications-applicationid-emails-emailid-update"></a>Update Email

Updates an existing Email

POST /applications/{applicationId}/emails/{emailId}/update

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| applicationId | true | string | The ID of the application |
| emailId | true | string |  |

#### Response

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

## <a id="schema"></a>Schema

```json

{
  "type": "object",
  "extends": "document",
  "container": "application",
  "description": "Email",
  "properties": {
    "to": {
      "type": "string",
      "description": "The email addresses of the recipients (comma-delimited)"
    },
    "body": {
      "type": "string",
      "description": "The body of the email."
    },
    "from": {
      "type": "string",
      "description": "The email address of the sender."
    },
    "subject": {
      "type": "string",
      "description": "The subject of the email."
    },
    "cc": {
      "type": "string",
      "description": "The email addresses to be carbon-copied (CC) (comma-delimited)"
    },
    "bcc": {
      "type": "string",
      "description": "The email addresses to be blind carbon-copied (BCC) (comma-delimited)"
    },
    "replyTo": {
      "type": "string",
      "description": "The reply-to email address."
    },
    "sent": {
      "type": "boolean",
      "description": "Whether the email was sent."
    },
    "sentOn": {
      "type": "object",
      "description": "When the email was sent."
    },
    "sentBy": {
      "type": "string",
      "description": "Who sent the email."
    },
    "toDomainId": {
      "type": "string",
      "description": "If you wish to send this email to a specific domain principal, this points to the principal's domain."
    },
    "toPrincipalId": {
      "type": "string",
      "description": "If you wish to send this email to a specific domain principal, this points to the principal."
    },
    "bodyRepositoryId": {
      "type": "string",
      "description": "The _doc ID of the repository."
    },
    "bodyBranchId": {
      "type": "string",
      "description": "The _doc ID of the branch."
    },
    "bodyNodeId": {
      "type": "string",
      "description": "The _doc ID of the node."
    },
    "bodyAttachmentId": {
      "type": "string",
      "description": "The name of the attachment (example: default)"
    },
    "_doc": null,
    "_system": null
  },
  "id": "email"
}
```
