# Finalize a Portfolio File Upload **POST /portfolio_files** Finalize a portfolio file after uploading it directly to S3. ## Servers - Production server: https://api.visible.vc (Production server) ## Authentication methods - Bearer auth ## Parameters ### Body: application/json (object) - **upload_request_id** (string(uuid)) ID of the upload request returned by the upload request endpoint - **portfolio_folder_id** (string | null) Optional portfolio folder ID - **file_tag_ids** (array[string(uuid)]) Optional file tag IDs to associate to the file ## Responses ### 201 Portfolio file successfully created #### Body: application/json (object) - **portfolio_file** (object) ### 401 Unauthorized - Invalid or missing authentication token #### Body: application/json (object) - **errors** (array[object]) ### 403 Forbidden - The authenticated user does not have access to the requested resource #### Body: application/json (object) - **errors** (array[object]) ### 422 Unprocessable Entity - The request is valid but contains semantic errors #### Body: application/json (object) - **errors** (array[object]) ### 429 Too Many Requests - Rate limit exceeded #### Body: application/json (object) - **errors** (array[object]) [Powered by Bump.sh](https://bump.sh)