Skip to main content

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.

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/