API reference

This list gives a broad overview of the available API requests. Click the links below to get detailed information about each API request.

Journal

API requestReturn TypeVerbDescription
/api/v10/journalRGET HEADList journal events that match the specified filters. Starting point for many integrations.

Applicants

API requestReturn TypeVerbDescription
/api/v10/applicantsCGET HEADList all applicants that match the specified filters
/api/v10/applicantsCPOSTCreate a new applicant/lead and send a welcome email
/api/v10/applicants/IDRGET HEADGet information about an applicant
/api/v10/applicants/ID/photoRGET HEADGet the applicant photo
/api/v10/applicants/ID/referenceRGET HEADGet the applicant reference code
/api/v10/applicants/ID/referenceRPUTSet the applicant reference code
/api/v10/applicants/ID/matriculationRGET HEADGet the applicant matriculation number
/api/v10/applicants/ID/matriculationRPUTSet the applicant matriculation number
/api/v10/applicants/ID/applicationsCGET HEADList all applications for an applicant
/api/v10/applicants/ID/applicationsCPOSTCreate an application with minimal initial data for an applicant
/api/v10/applicants/ID/applications/IDRGET HEADGet an application for an applicant
/api/v10/applicants/ID/consentsCGET HEADList all consents associated with an applicant
/api/v10/applicants/ID/consents/IDAGET HEADGet a consent associated with an applicant
/api/v10/applicants/ID/invoicesCGET HEADList all invoices issued for an applicant
/api/v10/applicants/ID/invoices/IDRGET HEADGet an invoice issued for an applicant
/api/v10/applicants/ID/trackersCGET HEADList all trackers assigned to an applicant
/api/v10/applicants/ID/trackers/IDAGET HEADGet a tracker assigned to an applicant
/api/v10/applicants/ID/trackers/IDAPUTAssign a tracker to an applicant
/api/v10/applicants/ID/trackers/IDADELETERemove a tracker from an applicant
/api/v10/applicants/ID/notesRGET HEADList all notes for an applicant
/api/v10/applicants/ID/notesRPOSTCreate a new note for an applicant
/api/v10/applicants/ID/notes/IDRGET HEADGet a note for an applicant
/api/v10/applicants/ID/notes/IDRPUTUpdate a note for an applicant
/api/v10/applicants/ID/emailsCGET HEADList all emails sent to an applicant
/api/v10/applicants/ID/emails/IDAGET HEADGet an email sent to an applicant
/api/v10/applicants/ID/emails/ID/attachmentsCGET HEADList all attachments to an email sent to an applicant
/api/v10/applicants/ID/emails/ID/attachments/IDAGET HEADDownload an email attachment (binary data)
/api/v10/applicants/ID/wishesCGET HEADGet the wishlist for an applicant
/api/v10/applicants/ID/wishes/IDRGET HEADGet a wishlist item for an applicant
/api/v10/applicants/consentsCGET HEADList all consents configured in DreamApply
/api/v10/applicants/consents/IDRGET HEADGet a consent configured in DreamApply
/api/v10/applicants/trackersCGET HEADList all trackers configured in DreamApply
/api/v10/applicants/trackersCPOSTCreate a new tracker in DreamApply
/api/v10/applicants/trackers/IDRGET HEADGet a tracker configured in DreamApply
/api/v10/applicants/trackers/IDRDELETEDelete a tracker and remove it from all applicants

Applications

API requestReturn TypeVerbDescription
/api/v10/applicationsCGET HEADList all applications that match the specified filters
/api/v10/applicationsCPOSTCreate an application with minimal initial data
/api/v10/applications/IDRGET HEADGet information about an application (data input by the application)
/api/v9/applications/IDRPATCHUpdate specific application data
/api/v10/applications/ID/coursesCGET HEADList all courses added to an application
/api/v10/applications/ID/coursesCPOSTAdd a course to an application
/api/v10/applications/ID/courses/IDAGET HEADGet a course added to an application
/api/v10/applications/ID/courses/IDADELETEDelete a course from an application
/api/v10/applications/ID/courses/ID/priorityAGET HEADGet the priority of a course added to an application
/api/v10/applications/ID/courses/ID/priorityAPUTSet the priority for a course added to an application
/api/v10/applications/ID/documentsCGET HEADList all documents attached to an application
/api/v10/applications/ID/documentsCPOSTUpload a new document to an application
/api/v10/applications/ID/documents/zipRGET HEADDownload all documents attached to an application (binary data)
/api/v10/applications/ID/documents/IDRGET HEADDownload a document attached to an application (binary data)
/api/v10/applications/ID/offersCGET HEADList all offers created for an application
/api/v10/applications/ID/offers/IDRGET HEADGet an offer created for an application
/api/v10/applications/ID/offers/ID/typeRGET HEADGet the type of an application offer
/api/v10/applications/ID/offers/ID/typeRPUTSet the type for an application offer
/api/v10/applications/ID/offers/ID/subjectRGET HEADGet the subject line for an application offer
/api/v10/applications/ID/offers/ID/subjectRPUTSet the subject line for an application offer
/api/applications/ID/offers/ID/commentsRGET HEADGet the offer letter text/comments of an application offer
/api/v10/applications/ID/offers/ID/commentsRPUTSet the offer letter text/comments of an application offer
/api/v10/applications/ID/offers/ID/attachmentsRGET HEADList all attachments for an application offer
/api/v10/applications/ID/offers/ID/attachments/IDRGET HEADGet an attachment for an application offer
/api/v10/applications/ID/offers/ID/attachments/ID/downloadRGET HEADDownload an attachment for an application offer (binary data)
/api/v10/applications/ID/offers/ID/lettersRGET HEADList all offer letters for an application offer
/api/v10/applications/ID/offers/ID/letters/IDRPOSTGenerate an offer letter for an application offer
/api/v10/applications/ID/offers/ID/letters/IDRGET HEADGet an offer letter for an application offer
/api/v10/applications/ID/offers/ID/confirmRPOSTConfirm an offer for an application
/api/v10/applications/ID/offers/ID/decisionRGET HEADGet the decision for an application offer
/api/v10/applications/ID/offers/ID/decisionRPUTSet the decision for an application offer
/api/v10/applications/ID/offers/ID/notesRGET HEADList all notes for an application offer
/api/v10/applications/ID/offers/ID/notesRPOSTCreate a new note for an application offer
/api/v10/applications/ID/offers/ID/notes/IDRGET HEADGet a note for an application offer
/api/v10/applications/ID/offers/ID/notes/IDRPUTUpdate a note for an application offer
/api/v10/applications/ID/offers/ID/score/extraRGET HEADGet the extra score for an application offer
/api/v10/applications/ID/offers/ID/score/extraRPUTSet the extra score for an application offer
/api/v10/applications/ID/offers/ID/score/extraRDELETEDelete the extra score for an application offer
/api/v10/applications/ID/tasksCGET HEADList all tasks created for an application
/api/v10/applications/ID/tasksCPOSTAdd a new task for an application
/api/v10/applications/ID/tasks/IDRGET HEADGet a task created for an application
/api/v10/applications/ID/tasks/IDRDELETEDelete a task for an application
/api/v10/applications/ID/tasks/ID/statusRGET HEADGet the status of a task
/api/v10/applications/ID/tasks/ID/statusRPUTSet the status for a task
/api/v10/applications/ID/tasks/ID/documentsCGET HEADList all documents attached to a task
/api/v10/applications/ID/tasks/ID/documentsCPOSTUpload a new document to a task
/api/v10/applications/ID/tasks/ID/documents/zipRGET HEADDownload all documents attached to a task (binary data)
/api/v10/applications/ID/tasks/ID/documents/IDRGET HEADDownload a document attached to a task (binary data)
/api/v10/applications/ID/interviewsCGET HEADList all interviews for an application
/api/v10/applications/ID/interviews/ID/RGET HEADGet an interview for an application
/api/v10/applications/ID/invoicesCGET HEADList all invoices for an application
/api/v10/applications/ID/invoicesCPOSTIssue an invoice for an application
/api/v10/applications/ID/invoices/IDRGET HEADGet an invoice for an application
/api/v10/applications/ID/flagsCGET HEADList all flags assigned to an application
/api/v10/applications/ID/flags/IDAGET HEADGet a flag assigned to an application
/api/v10/applications/ID/flags/IDAPUTAssign a flag to an application
/api/v10/applications/ID/flags/IDADELETERemove a flag from an application
/api/v10/applications/ID/referencesCGET HEADList all references submitted for an application
/api/v10/applications/ID/references/IDRGET HEADGet a reference submitted for an application
/api/v10/applications/ID/exportsCGET HEADList all exports generated from an application
/api/v10/applications/ID/exports/IDRGET HEADGet an export generated from an application
/api/v10/applications/ID/exports/ID/blobsCGET HEADList all downloadable files (blobs) related to an export
/api/v10/applications/ID/exports/ID/blobs/blobRGET HEADGet a downloadable file (blob) related to an export
/api/v10/applications/ID/pdfCGET HEADGenerate a PDF printout of an application
/api/v10/applications/ID/scoresCGET HEADList all scores for an application
/api/v10/applications/ID/freezeRPOSTFreeze an application
/api/v10/applications/ID/unfreezeRPOSTUnfreeze an application
/api/v10/applications/ID/closeRPOSTClose an application
/api/v10/applications/flagsCGET HEADList all flags configured in DreamApply
/api/v10/applications/flagsCPOSTCreate a new flag in DreamApply
/api/v10/applications/flags/IDRGET HEADGet a flag configured in DreamApply
/api/v10/applications/flags/IDRDELETEDelete a flag and remove it from all applications
/api/v10/applications/statusesRGET HEADList all application statuses
/api/v10/applications/offers/typesRGET HEADList all offer types
/api/v10/applications/offers/types/IDRGET HEADGet an offer type

Institutions

API requestReturn TypeVerbDescription
/api/v10/institutionsCGET HEADList all institutions that match the specified filters
/api/v10/institutions/IDRGET HEADGet an institution
/api/v10/institutions/ID/departmentsCGET HEADList all departments under an institution
/api/v10/institutions/ID/departments/IDRGET HEADGet a department under an institution

Academic years

API requestReturn TypeVerbDescription
/api/v10/academic-yearsCGET HEADList all academic years configured in DreamApply
/api/v10/academic-years/yearRGET HEADGet an academic year configured in DreamApply

Academic terms

API requestReturn TypeVerbDescription
/api/v10/academic-termsCGET HEADList all academic terms configured in DreamApply
/api/v10/academic-terms/IDRGET HEADGet an academic term configured in DreamApply
/api/v10/academic-terms/typesCGET HEADList all academic term types configured in DreamApply
/api/v10/academic-terms/types/IDRGET HEADGet an academic term type configured in DreamApply

Intakes

API requestReturn TypeVerbDescription
/api/v10/intakesCGET HEADList all intakes configured in DreamApply
/api/v10/intakes/ID/RGET HEADGet an intake configured in DreamApply

Courses

API requestReturn TypeVerbDescription
/api/v10/coursesCGET HEADList all courses that match the specified filters
/api/v10/coursesCPOSTCreate a new blank course in the catalog
/api/v10/courses/ID/RGET HEADGet a course from the catalog

Scoresheets

API requestReturn TypeVerbDescription
/api/v10/scoresheetsCGET HEADList all scoresheets
/api/v10/scoresheets/IDRGET HEADGet a scoresheet
/api/v10/scoresheets/ID/scoresCGET HEADList all scores from a scoresheet
/api/v10/scoresheets/ID/scoresCPOSTAdd an application to a scoresheet
/api/v10/scoresheets/ID/scores/IDRGET HEADGet a score (points & metadata)
/api/v10/scoresheets/ID/scores/IDRPUTSet (overwrite) a score (points and metadata)
/api/v10/scoresheets/ID/scores/IDRPATCHSet (update) a score (points and metadata)
/api/v10/scoresheets/ID/scores/ID/pointsRGET HEADGet the points of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/pointsRPUTSet the points of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/pointsRDELETEDelete the points of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/commentsRGET HEADGet the comments of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/commentsRPUTSet the comments of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/commentsRDELETEDelete the comments of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/dateRGET HEADGet the date of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/dateRPUTSet the date of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/dateRDELETEDelete the date of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/languageRGET HEADGet the language of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/languageRPUTSet the language of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/languageRDELETEDelete the language of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/referenceRGET HEADGet the reference of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/referenceRPUTSet the reference of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/referenceRDELETEDelete the reference of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/subjectRGET HEADGet the subject of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/subjectRPUTSet the subject of a score in a scoresheet
/api/v10/scoresheets/ID/scores/ID/subjectRDELETEDelete the subject of a score in a scoresheet

Rankings

API requestReturn TypeVerbDescription
/api/v10/rankingsCGET HEADList all ranking lists created in DreamApply
/api/v10/rankings/ID/RGET HEADGet information about a ranking list
/api/v10/rankings/ID/offersRGET HEADList all offers in a ranking list

Interviews

API requestReturn TypeVerbDescription
/api/v10/interviewsCGET HEADList all interviews to which applicants were invited
/api/v10/interviews/ID/RGET HEADGet an interview to which an applicant was invited
/api/v10/interviews/ID/responses/ID/downloadRGET HEADDownload the recorded answer to an interview question (original)
/api/v10/interviews/ID/responses/ID/download/webmRGET HEADDownload the recorded answer to an interview question (WEBM format)
/api/v10/interviews/ID/responses/ID/download/mp4RGET HEADDownload the recorded answer to an interview question (MP4 format)

Invoices

API requestReturn TypeVerbDescription
/api/v10/invoicesCGET HEADList all issued invoices
/api/v10/invoices/ID/RGET HEADGet an issued invoice
/api/v10/invoices/ID/RDELETEDelete an issued invoice
/api/v10/invoices/ID/transactionsCGET HEADList all transactions for an invoice
/api/v10/invoices/ID/transactionsCPOSTCreate a transaction for an invoice (collect an invoice)
/api/v10/invoices/ID/transactions/ID/RGET HEADGet a transaction for an invoice
/api/v10/invoices/seriesRGET HEADList all invoice series
/api/v10/invoices/transactionsCGET HEADList all transactions
/api/v10/invoices/transactions/ID/RGET HEADGet a transaction

Fees

API requestReturn TypeVerbDescription
/api/v10/feesCGET HEADList all fees configured in DreamApply
/api/v10/fees/ID/RGET HEADGet a fee configured in DreamApply
/api/v10/fees/ID/amountsCGET HEADList all fee amounts configured for different territories
/api/v10/fees/ID/amounts/TerritoryNameCGET HEADGet a fee amount configured for a territory

Classificators

API requestReturn TypeVerbDescription
/api/v10/classificatorsRGET HEADList all system classificators

Tableviews

API requestReturn TypeVerbDescription
/api/v10/tableviewsCGET HEADList all tableviews created in DreamApply
/api/v10/tableviews/IDRGET HEADGet a tableview created in DreamApply
/api/v10/tableviews/ID/tabledataRGET HEADGet the CSV data from a tableview

Reports

API requestReturn TypeVerbDescription
/api/v10/reportsCGET HEADList all reports
/api/v10/reports/ReportNameRGET HEADGet a report

Administrators

API requestReturn TypeVerbDescription
/api/v10/administratorsCGET HEADList all administrators
/api/v10/administrators/IDRGET HEADGet an administrator

Purged resources

API requestReturn TypeVerbDescription
/api/v10/purged-resourcesCGET HEADList all entities deleted from DreamApply

Ping

API requestReturn TypeVerbDescription
/api/v10/pingRGET HEADTest authentication

Version

API requestReturn TypeVerbDescription
/api/v10/versionRGET HEADGet the current API version

Return types

The DreamApply API defines the following object types:

  • Collection
  • Resource
  • Association

An association is an object that represents a relationship between two resources. It is used for one-to-many and many-to-many relationships. In some cases, an association can include its own data. For example, an association between an applicant and a tracker may include the time when the relationship was established. For this reason, the association is treated as a specialized resource.

When an endpoint supports the GET method, it also supports the HEAD method.

A HEAD request returns the same response metadata as a GET request, but it does not include a response body. For details, see Best practices.

ID conventions

All resources have unique numeric IDs, such as applicant ID, application ID, tracker ID and institution ID.

  • IDs carry no meaning or information
  • IDs are permanent and will never change
  • There may be gaps between IDs
  • Deleted IDs are never reused

Some resources have unique properties, such as a tracker or a flag name. While these properties uniquely identify a resource, they cannot be used as IDs. These properties may change over time, and an ID must remain constant throughout the life of the resource.

Resource IDs are typically used as object keys in API responses. For example, GET /api/v10/applicants will return a collection of applicants as a JSON object with the resource IDs as keys:

Example response
{
  "123": { .. applicant properties .. },
  "124": { .. applicant properties .. },
  "125": { .. applicant properties .. }
}

You can get detailed information about a specific resource by using its ID. For example, GET /api/v10/applicants/123 will return the data about an applicant with ID 123:

Example response
"123": {
  "id": "...",
  "type": "...",
  "registered": "...",
  "name": {
    "full": "...",
    "given": "...",
    "middle": "...",
    "family": "..."
  },
  "email": "...",
  "phone": "...",
  "reference": "...",
  "matriculation": "...",
  "citizenship": "...",
  "notes": "...",
  "applications": "...",
  "trackers": "...",
  "photo": "...",
  "consents": "...",
  "invoices": "...",
  "wishes": "...",
  "documents": "..."
}