Differences

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

Link to this comparison view

Next revision
Previous revision
api:api_applications_id_documents [2014/06/26 19:27] – created Lauriapi:api_applications_id_documents [2025/06/09 13:48] (current) Lauri
Line 5: Line 5:
 Get a list of documents that have been attached to this application. The ''HEAD'' verb is useful if you only want to test if this application has any documents attached at all (and how many). Use the ''GET'' verb to get the listing of documents. Get a list of documents that have been attached to this application. The ''HEAD'' verb is useful if you only want to test if this application has any documents attached at all (and how many). Use the ''GET'' verb to get the listing of documents.
  
-Note that an applicant may have more documents but may only choose to attach some (more relevant, perhaps) of them to a particular application. Use the [[api:api_applicants_123_documents|/api/applicants/123/documents]] call to see all of the documents that have been uploaded by an applicant.+In order to retrieve the binary data of the document, you need to call [[api:api_applications_ID_documents_ID|/api/applications/ID/documents/ID]]. In the example below, you will need to call ''/api/applications/123/documents/222'' to retrieve the first document as an image file.
  
 ==== Syntax ==== ==== Syntax ====
Line 24: Line 24:
   {   {
     "222": {     "222": {
 +      "id": 222,
       "uploaded": "2014-04-29T15:46:38+00:00",       "uploaded": "2014-04-29T15:46:38+00:00",
       "name": "Passport",       "name": "Passport",
Line 30: Line 31:
     },     },
     "333": {     "333": {
 +      "id": 333,
       "uploaded": "2014-04-29T15:46:38+00:00",       "uploaded": "2014-04-29T15:46:38+00:00",
       "name": "Diploma",       "name": "Diploma",
Line 36: Line 38:
     }     }
   }   }
 +
 +
 +===== POST =====
 +
 +Initiate an upload process to add a new document to the application.
 +
 +Please note that there is also a call to upload a document to a specific task: [[api:/api/applications/ID/tasks/ID/documents|/api/applications/ID/tasks/ID/documents]]
 +
 +The process is as follows:
 +
 +  - Client calls ''POST /api/application/123/documents''
 +  - API returns code 204 and an ingress URL on the ''Location'' header, such as `https://svcs-ingress.dreamapply.com/........` that contains a JWT token, authorising the upload. 
 +  - Client pushes a file using a standard multipart request, for example like ''curl -v -F upload=@somefile.jpg https://svcs-ingress.dreamapply.com/.......''.
 +  - The ingress service returns code 201 if the file was accepted.
 +
 +The ingress URL is valid for 30 minutes to upload the file (or files - the URL can be used multiple times to upload multiple files within the 30 minute window). Up to 10MiB are allowed, and any of the usual MIME-s are allowed (same as in the UI). **:!: The ingress URL should not be made public, but should be treated as secure material.**
 +
 +==== Syntax ====
 +
 +  POST /api/application/123/documents
 +  Host: apply.example.edu
 +  Authorization: DREAM apikey="..."
 +
 +==== Response codes ====
 +
 +| ''204 No Content'' | The ingress URL was returned in the ''Location'' header |