Download an attachment
GET /attachment/<uuid>
Downloads a file by its UUID. The response streams the file content with the correct Content-Type header and a Content-Disposition: attachment header to trigger a browser download.
Required permission: api.system.attachment.viewAuthentication: Bearer token required
UUID of the attachment to download. Obtain this from a case note attachment list (
GET /api/jobs/case-note-attachments) or job document list (GET /api/jobs/documents?action=list).200 is returned with headers:
| Status | Body |
|---|---|
400 | Attachment UUID is required |
403 | You do not have permission to download this attachment |
403 | Invalid security key |
404 | Attachment not found |
404 | File not found on server |
Download a thumbnail
GET /attachment/<uuid>/thumbnail
Returns a thumbnail-sized JPEG version of an image attachment. Thumbnails are generated automatically on upload and cached on disk.
Required permission: api.system.attachment.viewAuthentication: Bearer token required
UUID of the image attachment.
Thumbnail generation is only supported for image files (JPEG, PNG). Requesting a thumbnail for a non-image attachment (e.g. PDF) returns the original file instead.
Cache busting
You can append a version query parameter to the URL to bust browser caches when a file is replaced:Attachment sources
Attachments can be linked from several resources. Use the corresponding endpoints to list available UUIDs:| Source | List endpoint |
|---|---|
| Case note attachments | GET /api/jobs/case-note-attachments?case_note_uuid=<uuid> |
| Job documents | GET /api/jobs/documents?action=list&job_uuid=<uuid> |
| Job photos | GET /api/jobs/photos?action=list&job_uuid=<uuid> |
| Agent branch documents | GET /api/agents/document-thumbnail?branch_id=<id> |