---
title: "Create file upload session"
method: POST
path: "/api/public/v1/uploads/create-session"
tags: ["Public API v1 — File Uploads", "Public API v1 — File Uploads"]
---

# Create file upload session

`POST /api/public/v1/uploads/create-session`

## Request

- Base URL: `https://api.thebetterhire.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.thebetterhire.ai/api/public/v1/uploads/create-session`
- Auth: HTTP bearer

Creates a temporary upload session with a unique URL. Share this URL with the user to upload JD and resume files. Session expires in 1 hour.

## Request body

- CreateSessionRequest
  - `role` string, nullable
  - `source` string: Upload source: mcp, dashboard, api

## Response `201`

Successful Response

- CreateSessionResponse
  - `token` string, required
  - `upload_url` string, required
  - `expires_at` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api.md) · [All operations](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/revisions/c8ad03e900ea?raw)
