---
title: "Start a blob upload"
method: POST
path: "/v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/uploads/"
tags: ["vcr"]
---

# Start a blob upload

`POST /v2/{teamSlug}/{projectSlug}/{repositoryName}/blobs/uploads/`

POST /v2/:teamSlug/:projectSlug/:repositoryName/blobs/uploads/[?mount=<digest>&from=<repo>] Initiate a blob upload. Returns a UUID in the Location header that the client uses for subsequent PATCH (chunk) and PUT (complete) requests.

## Path parameters

- `teamSlug` string, required — Single Docker repository team slug component.
- `projectSlug` string, required — Single Docker repository project slug component.
- `repositoryName` string, required — Single Docker repository name component.

## Query parameters

- `mount` string — Digest of the blob to mount from another repository.
- `from` string — Source repository to mount the blob from.

## Response `202`

- unknown

## Other responses

- `400` — One of the provided values in the request query is invalid.
- `401` — The request is not authorized.
- `402` — The account is missing a payment so payment method must be updated
- `403` — You do not have permission to access this resource.
- `404`
- `410`

## Changes

- **2026-08-12** `b7b824605094` — 2 warning
  - changed the pattern of the `path` request parameter `teamSlug` from `^(?:[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?|team_[a-zA-Z0-9]+)$` to `^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$`
  - changed the pattern of the `query` request parameter `from` from `^(?:[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?|team_[a-zA-Z0-9]+)\\/[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?\\/[a-z0-9]+(?:(?:\\.|_|__|-+)[a-z0-9]+)*$` to `^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?\\/[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?\\/[a-z0-9]+(?:(?:\\.|_|__|-+)[a-z0-9]+)*$`
- **2026-08-11** `0a04f9c0168d` — 2 warning
  - changed the pattern of the `path` request parameter `teamSlug` from `^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$` to `^(?:[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?|team_[a-zA-Z0-9]+)$`
  - changed the pattern of the `query` request parameter `from` from `^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?\\/[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?\\/[a-z0-9]+(?:(?:\\.|_|__|-+)[a-z0-9]+)*$` to `^(?:[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?|team_[a-zA-Z0-9]+)\\/[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?\\/[a-z0-9]+(?:(?:\\.|_|__|-+)[a-z0-9]+)*$`
- **2026-08-06** `b8027f4efeda` — 1 info
  - api tag `vcr` added
- **2026-08-04** `0b0420c2223a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/vercel/apis/api/changes/v2/:teamSlug/:projectSlug/:repositoryName/blobs/uploads/post.md)

---

[API](https://skmtc.dev/vercel/apis/api.md) · [All operations](https://skmtc.dev/vercel/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vercel/api/revisions/4191ba96b0c1/schema)
