Combine uploaded chunks into one file

posthttps://api.expiryedge.com/v1/composeCollectionUpload
Public - no API key60/minAny method
Request
curl -X POST 'https://api.expiryedge.com/v1/composeCollectionUpload' \
  -H "Content-Type: application/json" \
  -d '{
  "token": "3f9a1c7e5b2d4f6a8c0e1b3d5f7a9c2e4b6d8f0a1c3e5b7d9f2a4c6e8b0d1f3a",
  "fieldId": "fld_insurance",
  "uploadId": "0f8e2b3c-5d6a-4e7f-9a1b-2c3d4e5f6a7b",
  "storagePath": "organizations/org_northwind/collection-submissions/req_9WkT/fld_insurance-0f8e2b3c-5d6a-4e7f-9a1b-2c3d4e5f6a7b-site-photos.pdf",
  "totalChunks": 3,
  "contentType": "application/pdf"
}'
Response
{
  "storagePath": "organizations/org_northwind/collection-submissions/req_9WkT/fld_insurance-0f8e2b3c-5d6a-4e7f-9a1b-2c3d4e5f6a7b-site-photos.pdf"
}

Second step of a chunked upload. storagePath, uploadId and totalChunks must be the values getCollectionUploadUrl returned. Fails with 400 if a chunk is missing or the combined file exceeds the field limit, 409 if already combined. The handler does not check the HTTP method.

Headers

  • X-Collection-Passwordstring
    Request password, when the sender set one. Preferred over the password body field / query parameter.

Body parameters

application/json
  • tokenstringrequired
    The token from the request link.
    pattern: ^[a-f0-9]{64}$
  • fieldIdstringrequired
    pattern: ^[a-zA-Z0-9_-]+$
  • uploadIdstringrequired
    format: uuid
  • storagePathstringrequired
  • totalChunksintegerrequired
    min: 1 · max: 32
  • passwordstring
    Request password, when set (or use the X-Collection-Password header).
  • contentTypestring
    Final content type; must match the field's allowed_types.

Returns

200
Combined.
  • storagePathstringrequired

Errors

400
Malformed token (Invalid link) or invalid input.
401
The request has a password and it is missing ({"requiresPassword": true}) or wrong.
403
The sender paused this request.
404
Unknown token (link rotated, deleted or mistyped), or the template no longer exists.
409
This upload was already combined.
410
The request was cancelled, already completed (alreadySubmitted: true) or has expired.
429
Password locked out after 5 wrong attempts (15 minutes, per request).
500
Unexpected server error.