Attachments
File uploads linked to workspace resources (stored in S3).
Base path:
/api/v1/{workspace_id}/attachments/
List & upload
GET /api/v1/{workspace_id}/attachments/
POST /api/v1/{workspace_id}/attachments/
Authorization: Bearer <token>
Detail
GET /api/v1/{workspace_id}/attachments/{attachment_id}/
PUT /api/v1/{workspace_id}/attachments/{attachment_id}/
PATCH /api/v1/{workspace_id}/attachments/{attachment_id}/
DELETE /api/v1/{workspace_id}/attachments/{attachment_id}/
Presigned upload URL
POST /api/v1/{workspace_id}/attachments/presigned-url/
Content-Type: application/json
{
"filename": "receipt.pdf",
"content_type": "application/pdf"
}
Returns a presigned S3 URL for direct browser/mobile upload.
Download
GET /api/v1/{workspace_id}/attachments/{attachment_id}/download/
Returns file or redirect to signed download URL.
Related
Expense invoices and profile pictures use separate presigned-url endpoints:
/api/v1/{workspace_id}/expenses/invoices//api/v1/users/users/profile-picture/presigned-url//api/v1/users/workspaces/{workspace_id}/business-cards/presigned-url/