Attach files to a charge
Attaches one or more already-stored files to a charge. Each entry gives either a fileId for a file already in MagicDoor or an uploadSessionId from the charge's upload-session endpoint — exactly one of the two.
Authorization
AuthorizationstringrequiredPath parameters
leaseIdstringrequiredThe lease the charge is on. A Snowflake id, sent as a decimal string.
chargeIdstringrequiredThe charge to attach to. A Snowflake id, sent as a decimal string.
Body
application/json
filesobject[]requiredThe files to attach. At least one.
Response
200 · The charge, with the new files attached.
idstringId of the charge. A Snowflake id, sent as a decimal string.
createdstring · date-timeWhen the charge was created, in the company's timezone.
updatedstring · date-timeWhen the charge last changed.
companyChargebooleanWhether the company keeps this charge rather than passing it through to the owner.
billDatestring · dateThe date the charge is booked into the ledger.
dueDatestring · dateThe date the tenant has to pay by.
totalAmountnumberWhat the charge is for in total, as a decimal amount.
allocatedAmountnumberHow much of it has been covered by payments or credits.
dueAmountnumberWhat is still owing on it.
memostringFree-text note on the charge.
referencestringExternal reference carried on the charge.
portfolioIdstringPortfolio the charge rolls up to. A Snowflake id, sent as a decimal string.
propertyIdstringProperty the charge is on. A Snowflake id, sent as a decimal string.
unitIdstringUnit the charge is on. A Snowflake id, sent as a decimal string.
leaseIdstringLease the charge is on. A Snowflake id, sent as a decimal string.
recurringChargeIdstringThe recurring charge that raised this one. Absent on a one-off charge. A Snowflake id, sent as a decimal string.
leaseSubsidyIdstringThe lease subsidy that raised this one. A Snowflake id, sent as a decimal string.
lineItemsLeaseChargeLineItem[]What the charge is made up of.
filesLeaseChargeFile[]Files attached to the charge, by id.
metadataobjectFree-form key/value data carried on the charge.
creatorobjectWho created the record.
portfolioobjectThe portfolio the lease rolls up to.
propertyobjectThe property the lease's unit sits in.
unitobjectThe unit the lease is for.
leaseobjectThe lease the charge is on.
transactionsTransaction[]The transactions referenced by the allocations above.
bankAccountsBankAccount[]Bank accounts referenced above.
chartOfAccountsChartOfAccount[]Chart-of-account records referenced above.
hydratedFilesFile[]The files listed in files, resolved to full file records.
creatorInfoobjectThe full record of whoever created this, under whichever one key matches the creator's type.
400 · The body failed validation — for example a file entry gave both `fileId` and `uploadSessionId`, or neither.
401 · The access token is missing, expired, or not for this company.
404 · No charge matched the id, or it belongs to another company.
This endpoint does not upload anything. A fileId is the id of a file already stored in MagicDoor, and an uploadSessionId comes from the charge's upload-session endpoint after you have sent the bytes there.