# Upload File Document **POST /transactions/{transactionId}/documents/file** Uploads a file document to a transaction. If `Id` is omitted, a new document is created at version 1. If `Id` is provided and matches an existing document, a new version is added. **Supported MIME types:** `application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `image/jpeg`, `image/png`, `image/bmp`, `image/gif` ## Servers - Production: https://ws.zipformplus.com/api (Production) - Staging/QA: https://api.pre.zipformplus.com/api (Staging/QA) ## Authentication methods - Context auth ## Parameters ### Path parameters - **transactionId** (string(uuid)) Transaction GUID ### Query parameters - **Name** (string) Document name - **Description** (string) Document description - **ContainerId** (string) Optional folder ID to store the document in - **Id** (string) Optional document ID. If provided and found, adds a new version. ### Body: application/pdf (string(binary)) string(binary) ## Responses ### 201 Document uploaded. Returns the endpoint URL for the uploaded document. ### 401 Unauthorized ### 404 Document ID provided but not found ### 415 Unsupported media type [Powered by Bump.sh](https://bump.sh)