# Upload transaction attachment Upload an attachment for a transaction Endpoint: POST /transactions/{transactionId}/attachment Version: 1.0.0 Security: ApiKeyAuth ## Path parameters: - `transactionId` (string, required) Transaction identifier Example: "txn-abc-123" ## Request fields (multipart/form-data): - `file` (string, required) Attachment file ## Response 201 fields (application/json): - `id` (string, required) File identifier (DigitalOcean Spaces object key) Example: "files/2024/03/budget-report.pdf" - `name` (string, required) Original filename Example: "call-sheet-day-3.pdf" - `type` (string, required) MIME type Example: "application/pdf" - `size` (integer, required) File size in bytes Example: 1048576 ## Response 400 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR" ## Response 401 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR" ## Response 404 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR" ## Response 500 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR"