Attach a file to a record
Attaches one already-uploaded file to a record, optionally with a note and with the outside audiences that may see it.
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
uploadSessionIdstringrequiredThe upload session holding the file. A Snowflake id sent as a decimal string.
descriptionstringNote about the attachment, 1 to 1000 characters.
shareTypesenum<string>[]Which outside audiences may see the file. Only these three are allowed. Leave it out to keep the file internal.
Response
200 · The attachment that was created.
idstringThe attachment. A Snowflake id sent as a decimal string. Different from file.id, which is the stored file.
fileNamestringName shown for the attachment.
descriptionstringNote about the attachment. Absent when none was set.
createdstring · date-timeWhen the file was attached, in the company's timezone.
uploaderNamestringName of whoever attached it. Absent when it is not known.
uploaderTypestringWhat kind of user attached it, written in PascalCase: System, MagicDoor, PropertyManager, Tenant, Vendor or Owner. Absent when it is not known.
shareTypesstring[]Which outside audiences can see the file, written in PascalCase: Tenant, Vendor or Owner. Empty when it is internal only.
relationTypeenum<string>What kind of record the file hangs off.
relationIdstringThe record the file hangs off.
fileobjectThe stored file itself.
fileIdstringdeprecatedSame value as file.id.
fileUrlstringdeprecatedPre-signed URL for the file. Use file.secureUrl.raw instead.
fileThumbUrlstringdeprecatedPre-signed thumbnail URL. Use file.secureUrl.variantTemplate instead.
fileSizeBytesintegerdeprecatedSame value as file.size.
propertyIdstringdeprecatedSet to relationId when relationType is property, otherwise absent. Use relationType and relationId.
leaseIdstringdeprecatedSet to relationId when relationType is lease, otherwise absent. Use relationType and relationId.
400 · `shareTypes` held a value other than tenant, vendor or owner, or the upload session does not belong to this record.
401 · The access token is missing, expired, or not valid for this company.
Most enums in this API come back camelCased. These two do not: they are turned into strings by hand, so you get Tenant, not tenant. On the way in, shareTypes is a real enum and is read case-insensitively.