---
title: "Generate presigned PUT URL"
method: POST
path: "/upload/presigned"
tags: ["upload"]
---

# Generate presigned PUT URL

`POST /upload/presigned`

Generates a presigned URL that allows the frontend to upload a file directly to S3 via PUT request.

## Request body

- InternalHandlersPresignedURLRequest
  - `content_type` string
  - `filename` string

## Response `200`

OK

- object

## Other responses

- `401` — Unauthorized
- `500` — Failed to generate URL

---

[API](https://skmtc.dev/grambo/apis/grambo-api.md) · [All operations](https://skmtc.dev/grambo/apis/grambo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/grambo/grambo-api/revisions/5d88d65e212e/schema)
