Request an upload session for an attachment
Starts an upload for a file you want to attach to a record. Returns where to send the bytes and a session id to hand to the attach call. The session is tied to the record in the path, so it can only be attached there.
Authorization
AuthorizationstringrequiredPath parameters
entityTypeenum<string>requiredWhat kind of record the file hangs off. Written in the path in lower case, for example lease.
entityIdstringrequiredThe record the file hangs off, of the kind named by entityType. A Snowflake id sent as a decimal string.
Body
application/json
fileNamestringrequiredName to store the file under, 1 to 250 characters.
fileSizeintegerrequiredSize of the file in bytes. Must be at least 1.
contentTypestringrequiredMIME type of the file, 1 to 200 characters.
Response
200 · Where to send the file bytes.
sessionIdstringThe upload session. Hand this id back to the endpoint that attaches the file once the bytes are uploaded. A Snowflake id sent as a decimal string.
endpointstringAbsolute URL to send the file bytes to.
methodstringHTTP method to use when sending the bytes, for example POST.
fieldsobjectForm fields that must accompany the upload, as a name to value map. Send them as multipart/form-data together with the file itself.
expiresstring · date-timeWhen the session stops accepting an upload, in the company's timezone.
401 · The access token is missing, expired, or not valid for this company.
Attaching a file takes three calls.
- Ask for an upload session here. You get back an
endpoint, amethod, and a map offields. - Send the bytes to that
endpointasmultipart/form-data, including every entry infieldsplus the file itself. - Call
POST /company-app/file-attachments/{entityType}/{entityId}with thesessionIdyou got back.
The session stops working at expires. A session whose file is never attached is discarded.