---
title: "Get a presigned S3 URL for direct file upload"
method: GET
path: "/uploads/presign"
tags: ["Custom Files"]
---

# Get a presigned S3 URL for direct file upload

`GET /uploads/presign`

Returns a presigned S3 URL for uploading files directly to our S3 bucket. Use this
endpoint to upload large files before creating templates or custom files. S3 will
respond with a JSON object that you can include in your DocSpring API request.

Uploaded files can be used to:
- [Create templates](https://docspring.com/docs/api/#tag/templates/post/templates?endpoint_variant=create_template_from_cached_upload)
- [Update templates](https://docspring.com/docs/api/#tag/templates/put/templates/{template_id}?endpoint_variant=update_template_pdf_with_cached_upload)
- [Create custom files](https://docspring.com/docs/api/#tag/custom-files/post/custom_files) and then [merge them with other PDFs](https://docspring.com/docs/api/#tag/combine-pdfs/post/combined_submissions)

## Response `200`

presign URL generated

- UploadPresignResponse
  - `fields` object, required
    - `key` string, required
    - `policy` string, required
    - `x-amz-algorithm` string, required
    - `x-amz-credential` string, required
    - `x-amz-date` string, required
    - `x-amz-signature` string, required
  - `headers` object, required
  - `url` string, required
  - `method` 'post'

## Other responses

- `401` — authentication failed

---

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