Sign upload parts
/document-mass-uploads/{id}/part-urlsReturns a presigned URL for each part number, 100 at most, valid 60 minutes. Numbers must be distinct and from 1 to the upload's part_count, else 422. PUT each part and keep its ETag for complete. Only uploading can be signed, else 409 invalid_state. Gate: view-all-documents or super admin only; no folder rights or locks are checked. Else 403 missing_permission. A replayed Idempotency-Key returns the same URLs, still expiring 60 minutes after the first call. dry_run adds meta.dry_run. It has no side effects, so nothing to undo.
Path parameters
The record's id.
Query parameters
Validate and run the call without committing it, returning what the real call would return with
meta.dry_runset.
Headers
Makes a retry safe. Send a new UUID for each new request and reuse it only to retry that request; the first response is replayed for 24 hours.
Request body
application/json, required · DocumentMassUploadPartUrlsRequest
Part numbers to sign, distinct, from 1 to the upload's part_count (at most 10000), at most 100 in one call.
{
"part_numbers": [
1
]
}Responses
{
"data": {
"urls": {},
"expires_at": "2026-06-12T10:00:00+00:00"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request conflicts with existing state (error.code = conflict),
e.g. a compliance flow with the requested name already exists.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/document-mass-uploads/{id}/part-urls\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"part_numbers": [
1
]
}'