Emails

Represents a list of emails sent to an applicant.

URI
/api/v10/applicants/ID/emails

GET List emails

List all emails sent to an applicant.

This API request returns only the emails that have been stored. Emails that contain credentials or other secret information (such as password reminders) are delivered immediately and are not stored in the database, so they do not appear in the list of emails.

You can see when the email was delivered and when it was opened (although the times may not be accurate). If the email is still being delivered, the corresponding timestamp contains null.

Syntax
GET /api/v10/applicants/123/emails
Host: apply.example.edu
Authorization: DREAM apikey="..."

Example request

Request
curl
curl \
  -X GET \
  -H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
  "https://apply.example.edu/api/v10/applicants/123/emails"

Response headers

HeaderValueDescription
Content-Typeapplication/jsonThe media type of the resource
Content-Length1234The size of the response body in bytes
X-Count2The number of returned emails

Response codes

Response codeDescription
200 OKThe list of emails was successfully returned

Example response

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/v10/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 an applicant.

After the email is created, its delivery may take a few minutes. The response returns the URI of the created email in the Location header. You can poll this URI after a few minutes to check if the email was delivered successfully.

Syntax
POST /api/v10/applicants/123/emails
Host: apply.example.edu
Authorization: DREAM apikey="..."

Parameters

NameRequired/OptionalDescription
subjectRequiredThe email subject line, the allowed length is 2 to 128 characters.
messageRequiredThe email message in text form, the allowed length is 4 to 4096 characters. To format text, you can use the basic Textile syntax like *bold*. The HTML version of the email is generated by DreamApply.

Example request

Request
curl
curl \
  -X POST \
  -H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
  "https://apply.example.edu/api/v10/applicants/123/emails?subject=Missing%20documents&message=Hello%2C%5Cn%5CnThank%20you%20for%20your%20application!"
Request
curl
curl \
  -X POST \
  -H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
  "https://apply.example.edu/api/v10/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

HeaderValueDescription
Content-Typeapplication/jsonThe media type of the resource
Content-Length0The size of the response body in bytes
Location/api/applicants/123/emails/321The URI of the sent email

Response codes

Response codeDescription
201 CreatedA new email was created (it does not yet mean it was delivered)
400 Bad RequestSome of the email parameters were not correct
403 ForbiddenThis query is not allowed for your API key