---
title: "Generate Presigned Upload Url Route"
method: POST
path: "/stored_objects/generate_upload_url"
tags: ["stored_objects"]
---

# Generate Presigned Upload Url Route

`POST /stored_objects/generate_upload_url`

## Request

- Base URL: `https://api.robopost.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.robopost.app/stored_objects/generate_upload_url`
- Auth: none declared

Generate a presigned S3/R2 upload URL for direct file uploads from the client.

Args:
    request: Contains filename, optional content_type, and expires_in seconds
    
Returns:
    JSON response with upload_url, key, and expiration details

## Request body

- PresignedUploadRequest
  - `filename` string, required
  - `content_type` string
  - `expires_in` integer

## Response `200`

Successful Response

- unknown

## Other responses

- `404`: Not found
- `422`: Validation Error

---

[API](https://skmtc.dev/robopost/apis/robopost-api.md) · [All operations](https://skmtc.dev/robopost/apis/robopost-api/llms.txt) · [OpenAPI document](https://skmtc.dev/robopost/apis/robopost-api/revisions/46b1cafa8808?raw)
