Applicants
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 applicants or leads registered in DreamApply.
/api/v10/applicantsView all API requests
| API request | Return Type | Verb | Description |
|---|---|---|---|
/api/v10/applicants | C | GET HEAD | List all applicants that match the specified filters |
/api/v10/applicants | C | POST | Create a new applicant/lead and send a welcome email |
/api/v10/applicants/ID | R | GET HEAD | Get information about an applicant |
/api/v10/applicants/ID/photo | R | GET HEAD | Get the applicant photo |
/api/v10/applicants/ID/reference | R | GET HEAD | Get the applicant reference code |
/api/v10/applicants/ID/reference | R | PUT | Set the applicant reference code |
/api/v10/applicants/ID/ | R | GET HEAD | Get the applicant matriculation number |
/api/v10/applicants/ID/ | R | PUT | Set the applicant matriculation number |
/api/v10/applicants/ID/ | C | GET HEAD | List all applications for an applicant |
/api/v10/applicants/ID/ | C | POST | Create an application with minimal initial data for an applicant |
/api/v10/applicants/ID/applications/ | R | GET HEAD | Get an application for an applicant |
/api/v10/applicants/ID/consents | C | GET HEAD | List all consents associated with an applicant |
/api/v10/applicants/ID/consents/ID | A | GET HEAD | Get a consent associated with an applicant |
/api/v10/applicants/ID/invoices | C | GET HEAD | List all invoices issued for an applicant |
/api/v10/applicants/ID/invoices/ID | R | GET HEAD | Get an invoice issued for an applicant |
/api/v10/applicants/ID/trackers | C | GET HEAD | List all trackers assigned to an applicant |
/api/v10/applicants/ID/trackers/ID | A | GET HEAD | Get a tracker assigned to an applicant |
/api/v10/applicants/ID/trackers/ID | A | PUT | Assign a tracker to an applicant |
/api/v10/applicants/ID/trackers/ID | A | DELETE | Remove a tracker from an applicant |
/api/v10/applicants/ID/notes | R | GET HEAD | List all notes for an applicant |
/api/v10/applicants/ID/notes | R | POST | Create a new note for an applicant |
/api/v10/applicants/ID/notes/ID | R | GET HEAD | Get a note for an applicant |
/api/v10/applicants/ID/notes/ID | R | PUT | Update a note for an applicant |
/api/v10/applicants/ID/emails | C | GET HEAD | List all emails sent to an applicant |
/api/v10/applicants/ID/emails/ID | A | GET HEAD | Get an email sent to an applicant |
/api/v10/applicants/ID/emails/ID/ | C | GET HEAD | List all attachments to an email sent to an applicant |
/api/v10/applicants/ID/emails/ID/ | A | GET HEAD | Download an email attachment (binary data) |
/api/v10/applicants/ID/wishes | C | GET HEAD | Get the wishlist for an applicant |
/api/v10/applicants/ID/wishes/ID | R | GET HEAD | Get a wishlist item for an applicant |
/api/v10/applicants/consents | C | GET HEAD | List all consents configured in DreamApply |
/api/v10/applicants/consents/ID | R | GET HEAD | Get a consent configured in DreamApply |
/api/v10/applicants/trackers | C | GET HEAD | List all trackers configured in DreamApply |
/api/v10/applicants/trackers | C | POST | Create a new tracker in DreamApply |
/api/v10/applicants/trackers/ID | R | GET HEAD | Get a tracker configured in DreamApply |
/api/v10/applicants/trackers/ID | R | DELETE | Delete a tracker and remove it from all applicants |
GET List applicants
List applicants or leads that match the specified filter parameters. The number of applicants or leads is returned in the X-Count header.
DreamApply returns a maximum of 32768 items in a single response. If the expand parameter is used, the limit is capped to 16384.
GET /api/v10/applicants
Host: apply.example.edu
Authorization: DREAM apikey="..."Parameters
| Name | Required/Optional | Description | Notes |
|---|---|---|---|
bySince | Optional | An ISO datetime or applicant ID from which to start retrieving results (inclusive). | [4] |
byUntil | Optional | An ISO datetime or applicant ID at which to stop retrieving results (inclusive). | [4] |
byCitizenships | Optional | A list of ISO 3166-1 alpha-2 country codes. | [1] |
byEmails | Optional | A list of email addresses to which applicant accounts are registered. | [1] |
byTrackerIDs | Optional | A list of tracker IDs assigned to applicants. | [1], [2] |
byTrackerCodes | Optional | A list of tracker codes assigned to applicants. | [1], [2] |
limit | Optional | The maximum number of applicants to return. The allowed range is 1 to 32768. The default is 32768. When the expand parameter is used, the maximum is 16384. Values above the limit are capped without error. | |
expand | Optional | One or more related entities to include in the response, for example, trackers,documents. | [3] |
Notes
- Note [1]: Lists can be either comma or space separated. All list items are combined with logical
ORoperators, meaning an applicant is included if it matches any value in the list. - Note [2]: You can use either tracker IDs or codes to reference trackers. However, IDs are guaranteed not to change while the tracker codes may change over time.
- Note [3]: Some elements in the returned objects are links to other API requests. Using the
expandparameter, you can expand this data to the actual records, saving additional API requests. The full list of possible expansions istrackers,documents,consents,invoices,wishes. To request multiple expansions, combine them as a comma-separated list in theexpandparameter. Using this parameter caps tolimitto 16384 for performance reasons. - Note [4]: An ISO 8601 compatible datetime or the applicant ID to start from (inclusive). The date is applied to the registration time of the applicant, so you can only fetch applicants registered in the last N days, weeks or months. The applicant IDs are sequential integers, so you can save the last applicant ID you processed and issue the next request with
bySince=$lastID+1.
Example request
curl \
-X GET \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v10/applicants?bySince=2025-10-01T00:00:00Z&byCitizenships=US,GB&expand=trackers&limit=5"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | application/json | The media type of the resource |
Content-Length | 1456 | The size of the response body in bytes |
X-Count | 15 | The number of matching applicants |
Response codes
| Response code | Description |
|---|---|
200 OK | The list of applicants was successfully returned |
400 Bad Request | One of query parameters is invalid, see the error description |
Example response
{
"123": {
"id": 123,
"type": "Child",
"registered": "2025-10-15T10:33:16+00:00",
"name": {
"full": "Emily Williams",
"given": "Emily",
"middle": null,
"family": "Williams",
"parent": "Jane Williams"
},
"email": "e.williams@email.com",
"phone": "+1234567890",
"reference": "1234567",
"matriculation": "ABC123",
"citizenship": "GB",
"notes": "Strong candidate",
"applications": "/api/v10/applicants/123/applications",
"trackers": {
"10": {
"assigned": "2026-04-08T12:58:25+00:00",
"tracker": "/api/v10/applicants/trackers/10"
}
},
"photo": "/api/v10/applicants/123/photo",
"consents": "/api/v10/applicants/123/consents",
"invoices": "/api/v10/applicants/123/invoices",
"wishes": "/api/v10/applicants/123/wishes"
},
"124": {
"id": 124,
"type": "Natural",
"registered": "2025-11-24T10:56:34+00:00",
"name": {
"full": "John Smith",
"given": "John",
"middle": "A",
"family": "Smith"
},
"email": "john.smith@email.com",
"phone": "",
"reference": "1234568",
"matriculation": "ABC124",
"citizenship": "GB",
"notes": "Needs review",
"applications": "/api/v10/applicants/124/applications",
"trackers": {
"11": {
"assigned": "2026-04-08T12:58:25+00:00",
"tracker": "/api/v10/applicants/trackers/11"
}
},
"photo": "/api/v10/applicants/124/photo",
"consents": "/api/v10/applicants/124/consents",
"invoices": "/api/v10/applicants/124/invoices",
"wishes": "/api/v10/applicants/124/wishes"
}
}POST Create an applicant
Create a new applicant or lead in DreamApply.
When a new applicant or lead is registered, DreamApply sends a welcome email to the account owner using the applicant-welcome-api template. The email contains the account credentials that the applicant needs to log in to DreamApply. If necessary, you can edit this template using the Settings > Templates view in the DreamApply portal to include additional instructions.
Since this API request sends a welcome email before returning a response, it takes slightly longer to complete than other requests. This behavior is intentional to avoid storing sensitive email data in intermediate queues and to guarantee that the upstream server accepts the email before the request succeeds.
If an applicant or lead with the specified email address already exists, the request returns the 409 Conflict error and includes the URI of the existing applicant in the Location header.
POST /api/v10/applicants
Host: apply.example.edu
Authorization: DREAM apikey="..."Parameters
| Name | Required/Optional | Description |
|---|---|---|
email | Required | A valid email address. The address must be unique (see above). |
citizenship | Optional | The applicant’s citizenship as a ISO 3166-1 alpha-2 country code. This field is highly recommended because the citizenship affects the deadlines and fees displayed for the applicant. If not provided, the applicant is asked to define it upon login. |
name | Required | The full name of the applicant or lead. The allowed length is 1 to 50 characters. Provide either name or both name_given and name_family. |
name_given | Required | The given name of the applicant or lead. The allowed length is 1 to 50 characters. Provide either name or both name_given and name_family. |
name_family | Required | The family name of the applicant or lead. The allowed length is 1 to 50 characters. Provide either name or both name_given and name_family. |
phone | Optional | The phone number of the applicant or lead, for example +372 123456789. Maximum of 30 characters. |
notes | Optional | Any notes accompanying the applicant or lead. The allowed length is up to 2048 characters. |
reference | Optional | A reference code, such as an external ID. The rerefence code can also be managed individually using the reference code resource. |
matriculation | Optional | A matriculation number. The matriculation number can also be managed individually using the matriculation number resource. |
tracker_ID | Optional | The ID of a tracker object to associate with the applicant. |
Example request
curl \
-X POST \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v10/applicants?email=john.smith@email.com&citizenship=GB&name=John%20Smith"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | application/json | The media type of the resource |
Content-Length | 0 | The size of the response body in bytes |
Location | /api/applicants/12345 | The URI of the created applicant |
Response codes
| Response code | Description |
|---|---|
201 Created | A new applicant/lead was successfully created |
409 Conflict | This email address is already assigned to another applicant |