Finish a file upload and add it to the folder (step 3 of 3)

posthttps://api.expiryedge.com/v1/completeFolderFileUpload
editor or admin, and the same user who started the upload60/minIdempotency-Key
Anfrage
curl -X POST 'https://api.expiryedge.com/v1/completeFolderFileUpload' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "upload_id": "pUp7x1"
}'
Antwort
{
  "file": {
    "id": "ff_7Qm2xKp",
    "name": "Liability Insurance Certificate 2026.pdf",
    "size": 184022,
    "type": "application/pdf",
    "url": "https://firebasestorage.googleapis.com/v0/b/expiryedge.appspot.com/o/organizations%2Forg_northwind%2Ffolder_files%2Ffld_Ins2026%2F1790518300000_Liability_Insurance_Certificate_2026.pdf?alt=media&token=3f0c8a52-6d1e-4b8e-9a51-0c2f7d9e1b44",
    "storage_path": "organizations/org_northwind/folder_files/fld_Ins2026/1790518300000_Liability_Insurance_Certificate_2026.pdf",
    "folder_id": "fld_Ins2026",
    "uploaded_at": "2026-09-27T14:05:00.000Z",
    "uploaded_by_name": "Dana Whitfield"
  }
}

Checks the uploaded file matches what was declared, counts it toward storage, and creates the file record exactly as the web app does. Each upload_id can be completed once.

Header

  • Idempotency-Keystring
    Optional client-generated key (1-255 characters of letters, digits, - _ : .).
    pattern: ^[A-Za-z0-9_\-:.]{1,255}$

Body-Parameter

application/json
  • upload_idstringerforderlich
    The upload_id from getFolderFileUploadUrl.
  • uploaded_by_namestring
    Name shown as "Owner" in the app. Defaults to your profile name.
    max length: 200

Rückgabe

201
File added to the folder.
  • fileobjecterforderlich
    A file in the Documents (Folders) file manager. Same record the web app creates.

Fehler

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
403
Authenticated, but your role or organization does not allow this action.
404
Upload not found (wrong id, another user or organization) or the target folder was deleted.
405
The endpoint does not accept this HTTP method.
409
This upload was already completed.; or a request with the same Idempotency-Key is still being processed (code IDEMPOTENCY_IN_PROGRESS).
410
UPLOAD_EXPIRED - the 15-minute upload link expired; start a new upload.
422
UPLOAD_MISSING (nothing was PUT yet) or UPLOAD_MISMATCH (size or type differs from what was declared; the file is discarded).
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.
500
Unexpected server error. Retry later; quote requestId to support.