uploads
Create upload
Creates a new upload session. This allows you to upload the data for a new mod file version.
⚠️ Files larger than 100 MiB must use a multi part upload.
Next steps
- Call PUT with your file data to the returned presigned_url. Recommended for files up to 100 MiB.
- ⚠️ You must send a Content-Disposition header of attachment; filename="<filename>", using the filename from your request. This value is part of the presigned URL signature, so the upload is rejected if the header is missing or does not match.
- Once all data is uploaded, finalise the upload.
Content integrity (md5)
Supplying md5 binds the presigned URL to that one file. The digest forms part of the URL signature, so the URL cannot be reused to upload different content, and storage rejects a body that does not match it.
⚠️ md5 is optional today and becomes required on or after 2026-12-01. Send it now to avoid a breaking change later.
- md5 in your request body is the hex digest — the 32 characters md5sum prints, in upper or lower case.
- Your PUT must also carry a Content-MD5 header holding the base64 encoding of the same digest (openssl dgst -md5 -binary <file> | base64). As with Content-Disposition, this value is part of the signature, so the upload is rejected if it is missing or does not match.
- Retrying the same bytes to the same URL still succeeds, so this does not affect resumed or repeated uploads.
post/uploads
Request
- Base URL: https://api.nexusmods.com/v3
- URL: https://api.nexusmods.com/v3/uploads
- Auth: one of:
- API key in header apikey
- HTTP bearer
Request body
Response
Upload ID and presigned URL
Changes
No recorded changes to this operation across all 1 revision of this API.