---
title: "Request file upload"
method: POST
path: "/signed-uploads"
tags: ["files"]
---

# Request file upload

`POST /signed-uploads`

Request a signed URL for uploading a file directly to storage. **The returned `id` is needed to create a file from the signed upload.**

## Request body

- CreateSignedUploadRequest
  - `content_type` string — Media type of the file.
  - `filename` string, required — Original name of the file.
  - `purpose` 'verification_evidence', required — The purpose of the uploaded file.

## Response `201`

Created

- SignedUpload
  - `created_at` string, date-time, required — The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was created.
  - `expires_at` string, date-time, required — Date and time the signed upload expires.
  - `filename` string, required — Name of the file to upload.
  - `id` string, required — Unique resource identifier.
  - `modified_at` string, date-time, required — The timestamp (in [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format) of when the resource was last modified.
  - `purpose` 'verification_evidence', required — Purpose of the file upload.
  - `signed_upload_url` string, required — Signed URL for uploading the file.

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/joinsophic/apis/sophic-engine-api.md) · [All operations](https://skmtc.net/joinsophic/apis/sophic-engine-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/joinsophic/sophic-engine-api/revisions/5b4c43e2941b/schema)
