Emails
API version
Select a version to change the base URI
in syntax and code examples. Learn about versions:
in syntax and code examples. Learn about versions
Represents a list of emails sent to an applicant.
/api/v9/applicants/ID/emailsGET List emails
Get a list of emails that have been sent to this applicant. Note that this list will only show emails that have been stored. Any emails containing credentials or other secrets (for example password reminders) are delivered immediately without storing them to the database, and are therefore unavailable here as well.
You can also see when the email was delivered and when it was opened (this may not be accurate). If the email is still being delivered, the timestamp contains a null.
GET /api/v9/applicants/123/emails
Host: apply.example.edu
Authorization: DREAM apikey="..."Example request
curl \
-X GET \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v9/applicants/123/emails"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | application/json | Media type of the resource |
Content-Length | 1234 | Size of the response body in bytes |
X-Count | 2 | Number of returned emails |
Response codes
| Response code | Description |
|---|---|
200 OK | The list of emails was successfully returned |
Example response
{
"123": {
"inserted": "2025-06-29T18:11:15+00:00",
"delivered": "2025-06-29T18:11:15+00:00",
"failed": null,
"opened": "2025-06-30T10:15:49+00:00",
"from": {
"email": "sender@uni.edu",
"name": "Admission Office"
},
"subject": "Hello world!",
"message": "Hi there!",
"attachments": "/api/v9/applicants/1/emails/123/attachments"
},
"321": {
"inserted": "2025-07-10T19:21:55+00:00",
"delivered": null,
"failed": null,
"opened": null,
"from": {
"email": "sender@uni.edu",
"name": "Admission Office"
},
"subject": "Hello world!",
"message": "Hi there!",
"attachments": null
}
}POST Send an email
Create and send a new email to the applicant. Note that after the email is created, it may take a few minutes for it to be delivered. The URI for the email created is returned in the Location header and you can poll this URI after a few minutes to see if it was delivered successfully.
POST /api/v9/applicants/123/emails
Host: apply.example.edu
Authorization: DREAM apikey="..."Parameters
| Name | Required/Optional | Description |
|---|---|---|
subject | Required | Email subject line, 2 to 128 characters. |
message | Required | Email message itself in text form, 4 to 4096 characters. Note that you can use the basic Textile syntax here like bold. The HTML version of the email is generated by DreamApply. |
Example request
curl \
-X POST \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v9/applicants/123/emails?subject=Missing%20documents&message=Hello%2C%5Cn%5CnThank%20you%20for%20your%20application!"curl \
-X POST \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v9/applicants/123/emails?subject=Missing%20documents&message=Hello%2C%5Cn%5CnThank%20you%20for%20your%20application!%5Cn%5CnPlease%20upload%20the%20following%20documents%20using%20the%20**Tasks**%20section%20in%20the%20portal%3A%5Cn%5Cn*%20Passport%20copy%5Cn*%20Transcript%20copy"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | application/json | Media type of the resource |
Content-Length | 0 | Size of the response body in bytes |
Location | /api/applicants/123/emails/321 | The URI of the sent email |
Response codes
| Response code | Description |
|---|---|
201 Created | A new email was created (does not yet mean it was delivered) |
400 Bad Request | Some of the email parameters were not correct |
403 Forbidden | This query is not allowed for your API key |