upload

Initiate Presigned Upload

Step 1: Initiate presigned upload for 100K+ concurrent support.

Returns a presigned PUT URL for direct client→storage upload. Marks file status as "pending" in database.

Uses dedicated signing executor (4 workers) for CPU-bound operations. Non-blocking for event loop — supports 40K signs/sec per pod.

Flow: 1. Client calls POST /upload/initiate 2. Server validates file record exists 3. Server marks status="pending" 4. Server returns presigned URL 5. Client uploads directly to R2 (server NOT in data path) 6. Client calls POST /upload/confirm

Security: - SEAL: Requires X-Owner-Token header - AEON/Vault: Requires JWT Bearer token + org membership

post/upload/initiate

Request

  • Base URL: https://api.seal.net (the document declares no server; this is the origin it was published from)
  • URL: https://api.seal.net/upload/initiate
  • Auth: none declared

Request body

seal_idstring required

Seal ID (8-char base64url)

file_idstring uuid required

The file row from registration

content_typestring

MIME type

content_lengthinteger required

Ciphertext length: the registered size

Response

Successful Response

upload_urlstring required
keystring required
expires_ininteger required
use_presignedboolean
already_verifiedboolean

Changes

No recorded changes to this operation across all 1 revision of this API.