Upload-Limit

The unofficial Upload-Limit response header field advertises the constraints an upload resource places on a resumable upload: how large the representation is allowed to grow, how big each append is allowed to be, and how long the resource stays alive.

Usage

The server sends Upload-Limit on the 104 interim response announcing an upload resource, on responses from the resource itself, and on OPTIONS responses for a target supporting upload creation, where a server without limits advertises min-size=0 rather than an empty value. On other responses a limitless server leaves the field out. A client reading the limits sizes its chunks to fit, declares an Upload-Length within the cap, and schedules resumption before the resource expires. Falling outside a limit produces an error response rather than silent truncation, normally carrying Upload-Limit restating the constraints, though intermediaries enforcing their own limits leave the field out. Reading the header up front saves wasted transfers.

Values

The value is a Structured Fields Dictionary. Each key names one constraint.

max-size

The largest representation, in bytes, the upload resource accepts in total.

min-size

The smallest representation, in bytes, for which the server offers resumability. Uploads below the threshold, or uploads whose length the server has no way to deduce, proceed as ordinary requests without an upload resource.

max-append-size

The largest request content, in bytes, accepted by a single append or creation request. A client with more data to send splits the remainder across further PATCH requests.

min-append-size

The smallest request content, in bytes, accepted by a non-final append or creation request. Creation requests with no content and requests marked final through Upload-Complete are exempt.

max-age

The remaining lifetime of the upload resource in seconds, counted from the generation of the response carrying the field. After the window passes, the resource is no longer guaranteed to stay reachable, and a resumption attempt starts over with a fresh upload. A client done with a resource ahead of the deadline cancels the upload with a DELETE request instead of letting the lifetime run out.

Example

The server announces an upload resource accepting up to one gigabyte in total, appends of at most eight megabytes each, and a lifetime of one day.

Response

HTTP/1.1 104 Upload Resumption Supported
Location: https://www.example.re/uploads/b3k2pp5k7z
Upload-Limit: max-size=1073741824, max-append-size=8388608, max-age=86400

See also

Last updated: August 18, 2026