FilesV2

Finalize a large (multipart) file upload

Changed on

Finalize an upload session created by Initiate large upload (POST /v2/files/large-upload). The parts array must include every part that was uploaded, with the etag returned by the storage backend for each part PUT.

On success the file is marked as uploaded and returned in the response. The file's processing status may still be pending while downstream processing runs. A 502 response indicates the storage backend rejected the finalization (for example, a part etag mismatch) — the client may retry.

Idempotent for already-DONE files: a retry of a previously-successful complete call (or a complete call arriving after the auto-finalize backstop has already finalised the row) returns 200 with the file metadata instead of 409. FAILED / CANCELLED still return 409.

To cancel an in-progress upload, simply stop calling the API: abandoned file records are garbage-collected after 24 hours, and any incomplete S3 multipart parts are reaped by an S3 bucket lifecycle rule.

Required scope: data:file_import or doc:file_import

post/v2/files/{file_id}/large-upload/complete

Request

  • Base URL
    https://dovetail.com/api
  • URL
    https://dovetail.com/api/v2/files/{file_id}/large-upload/complete
  • Auth
    HTTP bearer

Path parameters

file_idstring required

Unique identifier of the file.

Request body

upload_idstring required

Multipart upload_id returned by the large-upload initiate endpoint.

Response

200

Changes

    • breaking

      added subschema #1 subschema #2 to the / response property oneOf list for the response status

    • breaking

      the / response's property type changed from object to no type for status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • warning

      removed the optional property // from the response with the status