How do I attach files to an asset?
Quick answer
Section titled “Quick answer”Notory stores attachments (invoices, delivery notes, photos, manuals) on any
object via its type and ID. For assets, this currently works through the
API (POST /api/v1/attachments with entity_type=asset); in the web
interface, the file dialog is currently available on catalog records (the
Data module → the paperclip icon “Files”). The maximum file size is
25 MB by default.
Prerequisites
Section titled “Prerequisites”Attachments are available on all plans (no feature gating).
Instructions
Section titled “Instructions”As of today: The web interface’s upload dialog is wired up to catalog records (the Data module) — the asset detail view doesn’t have its own file area yet. For attachments directly on an asset, use the API tab. Here’s what the dialog looks like for records:
-
Open the “Data” module and select the object type. In the record’s row, click the paperclip icon (Files).
Screenshot pendingassets-anhaenge-01'Files' dialog for a record with the 'Upload file' button and a file listThe file dialog: upload, download, delete — with the file size for each entry. -
Click “Upload file” and select the file. It immediately appears in the list — with its name and size.
-
Download or delete. Use the icons on the right to download a file or remove it (with a confirmation dialog).
Attachments are attached via entity_type + entity_id — for assets, that’s
asset + the asset ID. The upload is a multipart form:
curl -X POST https://demo.notory.io/api/v1/attachments \ -H "Authorization: Bearer inv_dein_token" \ -F "file=@rechnung-thinkpad.pdf" \ -F "entity_type=asset" \ -F "entity_id=a2f1c9e4-7b3d-4a11-9c2e-8f6b1d0a7e55"{ "id": "f7e2a1b8-3c4d-4e5f-9a0b-1c2d3e4f5a6b", "entity_type": "asset", "entity_id": "a2f1c9e4-7b3d-4a11-9c2e-8f6b1d0a7e55", "filename": "rechnung-thinkpad.pdf", "content_type": "application/pdf", "size_bytes": 184227, "created_at": "2026-07-08T10:15:03+00:00"}List an asset’s attachments:
curl -H "Authorization: Bearer inv_dein_token" \ "https://demo.notory.io/api/v1/attachments?entity_type=asset&entity_id=a2f1c9e4-7b3d-4a11-9c2e-8f6b1d0a7e55"Download and delete:
curl -H "Authorization: Bearer inv_dein_token" \ https://demo.notory.io/api/v1/attachments/f7e2a1b8-3c4d-4e5f-9a0b-1c2d3e4f5a6b/download \ --output rechnung-thinkpad.pdfcurl -X DELETE -H "Authorization: Bearer inv_dein_token" \ https://demo.notory.io/api/v1/attachments/f7e2a1b8-3c4d-4e5f-9a0b-1c2d3e4f5a6bPossible errors: 401 (missing or invalid token), 413 (file larger than
the limit, 25 MB by default), 404 (attachment belongs to another tenant).
What happens behind the scenes?
Section titled “What happens behind the scenes?”- Tenant assignment: Every attachment belongs to your tenant; other tenants
can neither list nor download it (
404). - Uploader is recorded: Notory stores which user uploaded the file, along
with a timestamp (
created_at). - Size limit: 25 MB per file by default (instance setting
MAX_ATTACHMENT_MB); larger uploads are rejected with413. - Any object type: The same API also serves catalog records
(
entity_type=record) — this is what the file dialog in the Data module uses. - Storage: Files are kept in the installation’s storage backend (default: local filesystem; alternatively S3/MinIO, depending on server configuration).
- No gating: Attachments don’t count against the asset limit and are available regardless of plan.
Related topics
Section titled “Related topics”- Edit asset — manage notes directly on the asset
- Maintain records — the file dialog on catalog records
- API Getting Started — authentication, base URL, error codes