---
title: "Create a resumable upload session"
method: POST
path: "/videos/{videoId}/uploads"
tags: ["Videos"]
---

# Create a resumable upload session

`POST /videos/{videoId}/uploads`

## Request

- Base URL: `https://api.braiv.co/v1`
- URL: `https://api.braiv.co/v1/videos/{videoId}/uploads`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`

Creates a 30-minute signed Google Cloud Storage resumable-session URL
for a previously reserved upload video. Start the session by POSTing to
`url` with `x-goog-resumable: start`, then upload bytes using the session URL.
Required scope: `videos:write`.

## Path parameters

- `videoId` string, required

## Headers

- `Idempotency-Key` string

## Request body

- CreateVideoUploadRequest
  - `fileName` string, required: Filename without path separators.
  - `contentType` string: MIME type applied to the signed upload session.

## Response `200`

Signed resumable-upload initiation URL and import job identifier.

- CreateVideoUploadResponse
  - `url` string, uri, required: Signed URL used to initiate the resumable session; expires in 30 minutes.
  - `videoId` string, required: Reserved library video ID.
  - `storagePath` string, required: Server-authoritative upload object path.
  - `jobId` string, required: Import job ID to poll after upload.

## Other responses

- `400`: Request fields are missing, malformed, out of bounds, or mutually inconsistent.
- `401`: A supported authentication header is missing or contains an invalid Public API key.
- `403`: Authentication succeeded, but the required scope, workspace role, or resource permission is missing.
- `404`: The resource does not exist or is not accessible to the caller.
- `409`: The Idempotency-Key was reused with a different path or request body.
- `429`: The API key exceeded its allowed concurrency or request rate. Retry after in-flight work completes or the limit resets.
- `500`: An unexpected server error occurred.

---

[API](https://skmtc.dev/braiv/apis/braiv-public-api.md) - [All operations](https://skmtc.dev/braiv/apis/braiv-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/braiv/apis/braiv-public-api/revisions/8ed0fd0d0a6f?raw)
