Direct file uploads comply with the RFC 7578 standard.
In other words, you can perform a direct upload by making an HTTP POST request with the Content-Type
header set to multipart/form-data. A single request can include multiple files, each under its own
form field name. tags and metadata apply identically to every file in the request: there’s no way
to assign different values per file in a single call, so send separate requests, or update files
individually afterward via the REST API, if you need per-file values.
Note: The combined size of a direct upload request (all files and form fields together) must not exceed 100 megabytes. This is a limit on the whole request, not on each file individually, so uploading several files in one request counts their combined size toward it. If a single file exceeds 100 megabytes, use Multipart Uploads instead.
File upload example with curl:
Determines if an uploaded file should be marked as temporary or permanent.
The parameter can have the following values:
0 - do not mark an uploaded file as stored and remove it after 24 hours1 - mark the uploaded file as storedauto - delegate the choice of the file-storing behavior to a project-wide setting called
auto-store.The default value depends on the user registration date.
For all users registered after February 12, 2024 (UTC 13:30), the default value is auto.
File-storing behavior depends entirely on what is set in the
storage settings in the Dashboard.
For users registered before February 12, 2024, the default value is 0.
To ensure that file storage in the project matches the settings in the Dashboard,
change the value to auto.
Comma-separated list of string tags to attach to the uploaded file.
Tags are normalized before storage: lowercased, whitespace-stripped, duplicates removed.
Each tag may only contain Latin letters, digits, hyphens (-), underscores (_), and dots (.).
Maximum 50 tags; each tag must not exceed 100 characters.
Invalid tags cause a 400 error and the upload does not proceed.
signature must be sent along with your upload request if you would like to use signed uploads.
The signature should be generated on your backend.
Note: the process requires knowledge of your Uploadcare Project’s Secret key.
See signed uploads for details.
expire must be sent along with your upload request if you would like to use signed uploads.
The parameter defines the time during which your signature is valid. It’s a UNIX timestamp.
See signed uploads for details.