---
title: "Request Upload Url"
method: POST
path: "/claims/{claim_id}/files/upload-url"
tags: ["files"]
---

# Request Upload Url

`POST /claims/{claim_id}/files/upload-url`

## Request

- Base URL: `https://api.claimkit.co` (the document declares no server; this is the origin it was published from)
- URL: `https://api.claimkit.co/claims/{claim_id}/files/upload-url`
- Auth: none declared

Request a signed URL for uploading a file to GCS.

Creates a pending ClaimFile record and returns a signed URL that
expires in 15 minutes.

## Path parameters

- `claim_id` integer, required

## Request body

- UploadUrlRequest: Request for a signed upload URL.
  - `filename` string, required
  - `content_type` string, required
  - `size` integer, required

## Response `200`

Successful Response

- UploadUrlResponse: Response with signed upload URL.
  - `file_id` integer, required
  - `upload_url` string, required
  - `expires_in` integer, required

## Other responses

- `422`: Validation Error

---

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