---
title: "Create an upload session link"
method: POST
path: "/v2/uploads/link"
tags: ["v2 - Upload Sessions"]
---

# Create an upload session link

`POST /v2/uploads/link`

## Request

- Base URL: `https://api.jubjubapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.jubjubapp.com/v2/uploads/link`
- Auth: HTTP bearer

Agent-authenticated. Creates an upload link for a user. The link accepts new files for 24 hours from creation (expires_at); a file that started inside the window always finishes.

## Headers

- `Authorization` string
- `X-JubJub-Service-Key` string
- `X-JubJub-Agent-Key` string
- `X-JubJub-Platform-Key` string
- `Origin` string
- `Referer` string
- `X-JubJub-Trial-Token` string

## Request body

- CreateUploadLinkRequest: Request to create an upload session link.
  - `workspace_id` string, required: Target workspace for uploaded media
  - `origin_surface` string, required: Control plane origin: chatgpt, claude, telegram, other

## Response `201`

Successful Response

- CreateUploadLinkResponse: Response after creating an upload session.
  - `upload_session_id` string, required
  - `upload_url` string, required
  - `expires_at` string, date-time, required
  - `workspace_id` string, required

## Other responses

- `422`: Validation Error

---

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