Files, folders, uploads, and associations.
$files = $xero->files()
->orderBy('CreatedDateUTC', 'DESC')
->page(1)
->perPage(50)
->get();$file = $xero->files()
->find('file-id');
$content = $file?->content();
$name = $file?->getName();
$folderId = $file?->getFolderId();$uploaded = $xero->files()
->upload('contract.pdf', $binary)
->mimeType('application/pdf')
->toFolder('folder-id')
->save();$renamed = $file?->rename('contract-v2.pdf')
->moveToFolder('folder-id')
->save();$file?->delete();$association = $xero->files()
->associations('file-id')
->attach('invoice-id', 'Invoice', 'Invoices')
->save();$files = $xero->files()
->forObject('invoice-id')
->orderBy('CreatedDateUTC', 'DESC')
->page(1)
->perPage(25)
->get();$xero->files()
->associations('file-id')
->delete('invoice-id');$counts = $xero->files()
->associations('file-id')
->countFor('invoice-id', 'contact-id');
$firstCount = $counts->first();
$objectId = $firstCount?->getObjectId();
$count = $firstCount?->getCount();$folders = $xero->files()
->folders()
->orderBy('CreatedDateUTC', 'DESC')
->get();$folder = $xero->files()
->folders()
->create()
->name('Contracts')
->save();$inbox = $xero->files()
->folders()
->inbox();
$isInbox = $inbox?->getIsInbox();$folder = $xero->files()->findFolder('folder-id');
$folder?->delete();$uploaded = $folder?->upload('terms.pdf', $binary)
->mimeType('application/pdf')
->save();
$uploadedName = $uploaded?->getName();files.read: list files, find files, read file content, read inbox, read associationsfiles: upload, rename, move, delete files; write folders; write associations