ProjectsAttachments
Presign a form attachment upload
POST
The first of two steps: PUT the file to the URL, then register it. At most 25 MB, or 50 MB for a PDF on the record as a whole. Refused when a form does not take this file now.
Who may call it: Anyone on the project whose permission profile allows form.update — or form.update-own, on their own (forms they created or are assigned). API keys: yes, given form.update for this project.
cookie
gamma.session_token<token>The session cookie a sign-in sets. Over HTTPS its name carries the __Secure- prefix. Browsers send it on their own; other clients keep it from the sign-in response.
projectId*stringThe project's id.
formId*stringapplication/json- body
fileName*stringMatch
^[^/\\]+$Length
1 <= length <= 255contentType*stringLength
1 <= length <= 200sizeBytes*integerRange
0 < value <= 9007199254740991ownerField?|The owner's field the file goes on; absent or null for the record as a whole.
OK.
application/json- response
url*stringPUT the file's bytes here, before expiresAt.
Format
urifileKey*stringWhere it goes; send it back to register the upload.
expiresAt*stringFormat
date-timeExample Request
curl -X POST 'http://localhost:3000/api/projects/string/forms/string/attachments/upload-url' \ -H 'Content-Type: application/json' \ -d '{ "fileName": "string", "contentType": "string", "sizeBytes": 1}'Example Response
{ "url": "http://example.com", "fileKey": "string", "expiresAt": "2019-08-24T14:15:22Z"}