Asset management

Get an S3 presigned URL for secure uploads

Generates a temporary, cryptographically signed URL that allows secure direct upload of assets to S3 without exposing AWS credentials.

This is the recommended approach for uploading assets, especially large files, as it:

  • Avoids sending large payloads through the API server
  • Provides secure, time-limited access to S3
  • Enables resumable uploads for better reliability
  • Reduces API server memory usage and network overhead

Use the returned URL to make a PUT request with your asset file, then use the returned key for subsequent sign/verify operations.

POST
/v1/assets/presign
x-api-key<token>

API Key provided by Que. Obtain your key from the developer dashboard.

In: header

Response Body

fetch("https://dev-api.addque.org/v1/assets/presign", {  method: "POST"})

{
  "url": "https://que-customer-uploads.s3.amazonaws.com/new-asset-key?AWSAccessKeyId=...",
  "key": "uploads/user123/timestamp/asset.jpg"
}

{
  "type": "about:blank",
  "title": "unauthorized",
  "status": 401,
  "code": "unauthorized",
  "detail": "invalid API key"
}

{
  "type": "about:blank",
  "title": "forbidden",
  "status": 403,
  "code": "forbidden",
  "detail": "you do not have permission to perform this action"
}

{
  "type": "about:blank",
  "title": "rate_limited",
  "status": 429,
  "code": "rate_limited",
  "detail": "try again in 5000 ms",
  "details": {
    "try_again_in_ms": 5000
  }
}

{
  "type": "about:blank",
  "title": "internal_error",
  "status": 500,
  "code": "internal_error",
  "detail": "unexpected panic in verification engine"
}