Skip to main content
NoCloud uses a two-step upload process:
  1. Get a signed URL from the Generate Signed URL endpoint
  2. Upload the file directly to the signed URL
There are two modes depending on whether you provide query parameters:
  • Non-allocated: No query parameters — returns a signed URL. Upload with a POST request using form data.
  • Pre-allocated: Pass contentType and size as query parameters to pre-allocate storage — returns a signed URL along with mediaId and mediaUrl. Upload with a PUT request.
This approach allows for efficient, direct-to-storage uploads without proxying through your backend.

Simple Upload (Non-allocated)

Pre-allocated Upload

Pass contentType and size to pre-allocate storage. The response includes mediaId and mediaUrl so you know the file’s location before uploading.

Upload with Metadata (Pre-allocated)

When using the pre-allocated flow, you can attach metadata via query parameters:
Metadata constraints: - Maximum 10 keys - Key names: alphanumeric, underscores, hyphens only (max 128 chars) - Values: string (max 512 chars), number, or boolean - Total metadata size: max 2KB

Upload with Progress Tracking

For larger files, you may want to track upload progress. This example uses the pre-allocated flow:
Signed URLs expire after 15 minutes. Generate a new URL if the upload doesn’t complete in time.