Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
api:manual [2019/04/02 11:08]
Anton Smirnov [Throttling]
api:manual [2021/11/17 16:04]
Lauri Elevant
Line 38: Line 38:
 That's it! We derive most of the security mechanism from the use of HTTPS, most notably confidentiality (of the API key as well as the data sent and received), integrity (data cannot be altered while "in transit") and mitigation against man-in-the-middle and re-play attacks. That's it! We derive most of the security mechanism from the use of HTTPS, most notably confidentiality (of the API key as well as the data sent and received), integrity (data cannot be altered while "in transit") and mitigation against man-in-the-middle and re-play attacks.
  
 +Here is a quick way to make your first API request:
 +  
 +  curl -v -X GET -H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" https://apply.uni.edu/api/institutions
  
 +On the request above, ''apply.uni.edu'' is the domain for your DreamApply installation. It may also be in the form of "your-uni.dreamapply.com" if you have not yet configured the domain in DreamApply settings. Tip - you can add ''| python -m json.tool'' to the end of the command if you expect to receive JSON data (not all API queries return JSON) to prettify the output.
 ===== Versioning ===== ===== Versioning =====
  
Line 130: Line 134:
 | [[api:/api/applicants/ID/applications|/api/applicants/ID/applications]] | C | GET HEAD | List applications for this applicant | | [[api:/api/applicants/ID/applications|/api/applicants/ID/applications]] | C | GET HEAD | List applications for this applicant |
 | [[api:/api/applicants/ID/applications/ID|/api/applicants/ID/applications/ID]] | R | GET HEAD | Get information about an applicant application | | [[api:/api/applicants/ID/applications/ID|/api/applicants/ID/applications/ID]] | R | GET HEAD | Get information about an applicant application |
 +| [[api:/api/applicants/ID/reference|/api/applicants/ID/reference]] | R | GET HEAD | Get the reference code for this applicant |
 +| [[api:/api/applicants/ID/reference|/api/applicants/ID/reference]] | R | PUT | Store a new reference code for this applicant |
 | [[api:/api/applicants/consents|/api/applicants/consents]] | C | GET HEAD | Get a list of all consents | | [[api:/api/applicants/consents|/api/applicants/consents]] | C | GET HEAD | Get a list of all consents |
 | [[api:/api/applicants/consents/ID|/api/applicants/consents/ID]] | R | GET HEAD | Get information about a specific consent | | [[api:/api/applicants/consents/ID|/api/applicants/consents/ID]] | R | GET HEAD | Get information about a specific consent |
Line 136: Line 142:
 | [[api:/api/applicants/trackers/ID|/api/applicants/trackers/ID]] | R | GET HEAD | Get information about a specific tracker | | [[api:/api/applicants/trackers/ID|/api/applicants/trackers/ID]] | R | GET HEAD | Get information about a specific tracker |
 | [[api:/api/applicants/trackers/ID|/api/applicants/trackers/ID]] | R | DELETE | Delete a tracker, removing it from all applicants | | [[api:/api/applicants/trackers/ID|/api/applicants/trackers/ID]] | R | DELETE | Delete a tracker, removing it from all applicants |
 +| [[api:/api/applicants/ID/notes|/api/applicants/ID/notes]] | R | GET HEAD | Get the notes on the applicant |
 +| [[api:/api/applicants/ID/notes|/api/applicants/ID/notes]] | R | PUT | Set the notes box on an applicant card, overwriting existing |
 +| [[api:/api/applicants/ID/notes|/api/applicants/ID/notes]] | R | PATCH | Append to existing applicant notes |
 +| [[api:/api/applicants/ID/notes|/api/applicants/ID/notes]] | R | DELETE | Delete all applicant notes |
 | [[api:/api/applications|/api/applications]] | C | GET HEAD | Get a list of applications that match the set filtering criterion  | | [[api:/api/applications|/api/applications]] | C | GET HEAD | Get a list of applications that match the set filtering criterion  |
 | [[api:/api/applications/ID|/api/applications/ID]] | R | GET HEAD | Get the application contents (data input by the application).  | | [[api:/api/applications/ID|/api/applications/ID]] | R | GET HEAD | Get the application contents (data input by the application).  |
Line 148: Line 158:
 | [[api:/api/applications/ID/offers/ID/type|/api/applications/ID/offers/ID/type]] | R | GET HEAD | Get the offer type of a specific application offer | | [[api:/api/applications/ID/offers/ID/type|/api/applications/ID/offers/ID/type]] | R | GET HEAD | Get the offer type of a specific application offer |
 | [[api:/api/applications/ID/offers/ID/type|/api/applications/ID/offers/ID/type]] | R | PUT | Set the offer type of the application offer in question | | [[api:/api/applications/ID/offers/ID/type|/api/applications/ID/offers/ID/type]] | R | PUT | Set the offer type of the application offer in question |
 +| [[api:/api/applications/ID/offers/ID/confirm|/api/applications/ID/offers/ID/confirm]] | R | POST | Confirm an offer |
 +| [[api:/api/applications/ID/offers/ID/decision|/api/applications/ID/offers/ID/decision]] | R | GET HEAD | Get the decision of a specific application offer |
 +| [[api:/api/applications/ID/offers/ID/decision|/api/applications/ID/offers/ID/decision]] | R | PUT | Set the decision of the application offer in question |
 +| [[api:/api/applications/ID/offers/ID/notes|/api/applications/ID/offers/ID/notes]] | R | GET HEAD | Get the notes on the offer |
 +| [[api:/api/applications/ID/offers/ID/notes|/api/applications/ID/offers/ID/notes]] | R | PUT | Set the notes box on an offer, overwriting existing |
 +| [[api:/api/applications/ID/offers/ID/notes|/api/applications/ID/offers/ID/notes]] | R | PATCH | Append to existing offer notes |
 +| [[api:/api/applications/ID/offers/ID/notes|/api/applications/ID/offers/ID/notes]] | R | DELETE | Delete all offer notes |
 | [[api:/api/applications/ID/offers/ID/score/extra|/api/applications/ID/offers/ID/score/extra]] | R | GET HEAD | Get the extra score of a specific application offer | | [[api:/api/applications/ID/offers/ID/score/extra|/api/applications/ID/offers/ID/score/extra]] | R | GET HEAD | Get the extra score of a specific application offer |
 | [[api:/api/applications/ID/offers/ID/score/extra|/api/applications/ID/offers/ID/score/extra]] | R | PUT | Set the extra score of the application offer in question | | [[api:/api/applications/ID/offers/ID/score/extra|/api/applications/ID/offers/ID/score/extra]] | R | PUT | Set the extra score of the application offer in question |
Line 164: Line 181:
 | [[api:/api/applications/ID/studyplans|/api/applications/ID/studyplans]] | C | GET HEAD | Get a list of study plans attached to this application | | [[api:/api/applications/ID/studyplans|/api/applications/ID/studyplans]] | C | GET HEAD | Get a list of study plans attached to this application |
 | [[api:/api/applications/ID/studyplans/ID|/api/applications/ID/studyplans/ID]] | R | GET HEAD | Get a specific study plan attached to this application | | [[api:/api/applications/ID/studyplans/ID|/api/applications/ID/studyplans/ID]] | R | GET HEAD | Get a specific study plan attached to this application |
 +| [[api:/api/applications/ID/pdf|/api/applications/ID/pdf]] | C | GET HEAD | Get The PDF printout of this application |
 | [[api:/api/applications/flags|/api/applications/flags]] | C | GET HEAD | Get a list of all flags | | [[api:/api/applications/flags|/api/applications/flags]] | C | GET HEAD | Get a list of all flags |
 | [[api:/api/applications/flags|/api/applications/flags]] | C | POST | Create a new flag  | | [[api:/api/applications/flags|/api/applications/flags]] | C | POST | Create a new flag  |
Line 174: Line 192:
 | [[api:/api/institutions/ID/departments|/api/institutions/ID/departments]] | C | GET HEAD | List departments under the given institution | | [[api:/api/institutions/ID/departments|/api/institutions/ID/departments]] | C | GET HEAD | List departments under the given institution |
 | [[api:/api/institutions/ID/departments/ID|/api/institutions/ID/departments/ID]] | R | GET HEAD | Show information about a given institution department | | [[api:/api/institutions/ID/departments/ID|/api/institutions/ID/departments/ID]] | R | GET HEAD | Show information about a given institution department |
-| [[api:/api/institutions/ID/contacts|/api/institutions/ID/contacts]] | C | GET HEAD | List contact persons under the given institution | 
-| [[api:/api/institutions/ID/contacts/ID|/api/institutions/ID/contacts/ID]] | R | GET HEAD | Show information about a given institution contact person | 
 | [[api:/api/courses|/api/courses]] | C | GET HEAD | List courses using filters set as parameters | | [[api:/api/courses|/api/courses]] | C | GET HEAD | List courses using filters set as parameters |
 +| [[api:/api/courses|/api/courses]] | C | POST | Create a new blank course |
 | [[api:/api/courses/ID|/api/courses/ID]] | R | GET HEAD | More detailed information about a specific course | | [[api:/api/courses/ID|/api/courses/ID]] | R | GET HEAD | More detailed information about a specific course |
 | [[api:/api/intakes|/api/intakes]] | R | GET HEAD | List configured intakes | | [[api:/api/intakes|/api/intakes]] | R | GET HEAD | List configured intakes |
 | [[api:/api/intakes/ID|/api/intakes/ID]] | R | GET HEAD | Get details of a specific intake | | [[api:/api/intakes/ID|/api/intakes/ID]] | R | GET HEAD | Get details of a specific intake |
 | [[api:/api/invoices|/api/invoices]] | C | GET HEAD | List all issued invoices | | [[api:/api/invoices|/api/invoices]] | C | GET HEAD | List all issued invoices |
-| [[api:/api/invoices/ID|/api/invoices/ID]] | R | GET HEAD | Get more information about an invoices |+| [[api:/api/invoices/ID|/api/invoices/ID]] | R | GET HEAD | Get more information about an invoice |
 | [[api:/api/invoices/ID|/api/invoices/ID]] | R | DELETE | Delete an invoice | | [[api:/api/invoices/ID|/api/invoices/ID]] | R | DELETE | Delete an invoice |
 +| [[api:/api/invoices/ID/transactions|/api/invoices/ID/transactions]] | C | GET HEAD | List transactions of a specific invoice |
 +| [[api:/api/invoices/ID/transactions|/api/invoices/ID/transactions]] | C | POST | Create transaction for invoice ("collect invoice") |
 +| [[api:/api/invoices/ID/transactions/ID|/api/invoices/ID/transactions/ID]] | R | GET HEAD | Get more information about a transaction |
 | [[api:/api/invoices/series|/api/invoices/series]] | R | GET HEAD | List invoice series | | [[api:/api/invoices/series|/api/invoices/series]] | R | GET HEAD | List invoice series |
 +| [[api:/api/invoices/transactions|/api/invoices/transactions]] | C | GET HEAD | List transactions |
 +| [[api:/api/invoices/transactions/ID|/api/invoices/transactions/ID]] | R | GET HEAD | Get more information about a transaction |
 | [[api:/api/academic-terms|/api/academic-terms]] | R | GET HEAD | Get a list of all academic terms configured | | [[api:/api/academic-terms|/api/academic-terms]] | R | GET HEAD | Get a list of all academic terms configured |
 | [[api:/api/academic-terms/ID|/api/academic-terms/ID]] | R | GET HEAD | Get information about an academic term | | [[api:/api/academic-terms/ID|/api/academic-terms/ID]] | R | GET HEAD | Get information about an academic term |
Line 195: Line 217:
 | [[api:/api/scoresheets|/api/scoresheets]] | C | GET HEAD | List all scoresheets | | [[api:/api/scoresheets|/api/scoresheets]] | C | GET HEAD | List all scoresheets |
 | [[api:/api/scoresheets/ID|/api/scoresheets/ID]] | R | GET HEAD | Get info about scoresheet | | [[api:/api/scoresheets/ID|/api/scoresheets/ID]] | R | GET HEAD | Get info about scoresheet |
-| [[api:/api/scoresheets/ID/scores|/api/scoresheets/ID/scores]] | R | GET HEAD | Get scores |+| [[api:/api/scoresheets/ID/scores|/api/scoresheets/ID/scores]] | C | GET HEAD | Get scores | 
 +| [[api:/api/scoresheets/ID/scores|/api/scoresheets/ID/scores]] | C | POST | Append an application for scoring | 
 +| [[api:/api/scoresheets/ID/scores/ID|/api/scoresheets/ID/scores/ID]] | R | GET HEAD | Get information about a score | 
 +| [[api:/api/scoresheets/ID/scores/ID/points|/api/scoresheets/ID/scores/ID/points]] | R | GET HEAD | Get the points of a scoresheet score | 
 +| [[api:/api/scoresheets/ID/scores/ID/points|/api/scoresheets/ID/scores/ID/points]] | R | PUT | Set the points of a scoresheet score | 
 +| [[api:/api/scoresheets/ID/scores/ID/points|/api/scoresheets/ID/scores/ID/points]] | R | DELETE | Clear the points of a scoresheet score | 
 +| [[api:/api/scoresheets/ID/scores/ID/comments|/api/scoresheets/ID/scores/ID/comments]] | R | GET HEAD | Get the comments of a scoresheet score | 
 +| [[api:/api/scoresheets/ID/scores/ID/comments|/api/scoresheets/ID/scores/ID/comments]] | R | PUT | Set the comments of a scoresheet score | 
 +| [[api:/api/scoresheets/ID/scores/ID/comments|/api/scoresheets/ID/scores/ID/comments]] | R | DELETE | Clear the comments of a scoresheet score |
 | [[api:/api/tableviews|/api/tableviews]] | C | GET HEAD | List all tableviews created with the GUI | | [[api:/api/tableviews|/api/tableviews]] | C | GET HEAD | List all tableviews created with the GUI |
 | [[api:/api/tableviews/ID|/api/tableviews/ID]] | R | GET HEAD | Get more information about a tableview | | [[api:/api/tableviews/ID|/api/tableviews/ID]] | R | GET HEAD | Get more information about a tableview |
Line 201: Line 231:
 | [[api:/api/administrators|/api/administrators]] | R | GET HEAD | List all administrators in the system | | [[api:/api/administrators|/api/administrators]] | R | GET HEAD | List all administrators in the system |
 | [[api:/api/administrators/ID|/api/administrators/ID]] | R | GET HEAD | Get information about an administrator | | [[api:/api/administrators/ID|/api/administrators/ID]] | R | GET HEAD | Get information about an administrator |
 +| [[api:/api/ping|/api/ping]] | R | GET HEAD | A dummy call for testing authentication |
  
 ♦ The types are as follows: **C**ollection, **R**esource, **A**ssociation. The latter is an object that represents the relationship between two resources. It is used on one-to-many and many-to-many relationships. However, an association between an applicant and a tracker may carry some information itself, such as the time the association was established. Thus is a special kind of resource. ♦ The types are as follows: **C**ollection, **R**esource, **A**ssociation. The latter is an object that represents the relationship between two resources. It is used on one-to-many and many-to-many relationships. However, an association between an applicant and a tracker may carry some information itself, such as the time the association was established. Thus is a special kind of resource.