---
title: "Get Schematic Upload Url"
method: POST
path: "/api/schematic_upload_url"
tags: ["schematics"]
---

# Get Schematic Upload Url

`POST /api/schematic_upload_url`

## Request

- Base URL: `https://backend.snapmagic.com` (the document declares no server; this is the origin it was published from)
- URL: `https://backend.snapmagic.com/api/schematic_upload_url`
- Auth: none declared

Generate a presigned S3 upload URL for a given file extension.
Expiration defaults to 300 seconds unless provided.

## Request body

- UploadRequest
  - `file_extension` string, required: File extension, e.g. png, jpg, svg
  - `expires_in` integer, nullable: Optional expiration time for the presigned URL in seconds (default: 300)

## Response `200`

Successful Response

- UploadResponse
  - `upload_url` string, required
  - `file_key` string, required
  - `public_url` string, required

## Other responses

- `422`: Validation Error

---

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