Complete an upload

POST/uploads/{upload_id}/completions

Completes a multipart upload after all parts have been sent to the storage service. Provide every part number together with the ETag returned by the storage service for that part.

The storage service verifies the integrity of the assembled content. On success, the session moves to completed and the response includes the resulting file.

If the content does not match the declared size, checksum, or content type, the API returns upload_integrity_mismatch with the exact cause in details[].reason. The session is then permanently marked as failed, and a new upload session is required.

AuthorizationBearer <token>

Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.

In: header

Path Parameters

upload_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/uploads/string/completions" \  -H "Content-Type: application/json" \  -d '{    "parts": [      {        "etag": "string",        "part_number": 0      }    ]  }'
{  "data": {    "expires_at": "2019-08-24T14:15:22Z",    "failure_reason": "string",    "file": {      "checksum": {        "md5": "string",        "sha256": "string"      },      "content_type": "string",      "created_at": "2019-08-24T14:15:22Z",      "extension": "string",      "filename": "string",      "id": "string",      "object": "file",      "purpose": "string",      "size_bytes": 0,      "status": "ready"    },    "filename": "string",    "id": "string",    "object": "upload",    "part_size": 0,    "parts_total": 0,    "purpose": "string",    "size_bytes": 0,    "status": "open"  }}