---
title: "Refresh signed PUT URLs for incomplete upload-session files."
method: POST
path: "/api/upload-sessions/{id}/resume"
tags: ["Artifacts", "Publisher"]
---

# Refresh signed PUT URLs for incomplete upload-session files.

`POST /api/upload-sessions/{id}/resume`

## Request

- Base URL: `https://huggingbay.xyz`
- URL: `https://huggingbay.xyz/api/upload-sessions/{id}/resume`
- Auth: HTTP bearer

Preserves already uploaded files, re-signs waiting/missing/mismatch files, extends expiry, and returns live progress.

**Inputs.** Path, query and header fields are listed below. No request body is required.

**Outputs.** See each status below for its media type, schema and headers. A missing record or unavailable capability is not a successful empty result.

**Errors.** API JSON failures use the documented response schema. Read code, message and next; retry only when the response allows it. Auth, invalid input and missing records need a caller change.

**Rate limits.** Write and protocol operations can have separate route-specific limits. Read Retry-After and retry_after_s when present; do not infer a write allowance from the public read budget.

**Example setup.** Use an identifier returned by the matching list, search or create operation. Sample identifiers are not a promise that a record exists. Set HUGGING_BAY_TOKEN to a credential with the role or scope stated by this operation. Reader tokens do not grant publisher or operator rights. This example is not executed by documentation checks. Review the operation and obtain any required user consent before sending it.

## Path parameters

- `id` string, required

## Response `200`

Resumed upload session

- UploadSession
  - `schemaVersion` 'hugging-bay.upload-session.v1', required
  - `id` string, required
  - `owner` string, required
  - `name` string, required
  - `status` 'created' | 'pending' | 'completed' | 'canceled' | 'expired', required
  - `storageProvider` string
  - `createdAt` string
  - `expiresAt` string
  - `completedAt` string, nullable
  - `files` UploadSessionFile[], required (unresolved $ref)
  - `progress` object
    - `filesTotal` number, required
    - `filesUploaded` number, required
    - `bytesTotal` number, required
    - `bytesUploaded` number, required
    - `percent` number, required
    - `readyToComplete` boolean, required
    - `missingFiles` string[], required
    - `mismatchFiles` object[], required
    - `expiresAt` string, nullable
    - `expired` boolean
  - `draftPatch` object, required
  - `links` object
  - `urls` object

## Other responses

- `403`: Session owner or admin token required
- `404`: Session not found
- `409`: Session is completed, canceled, or storage unavailable

---

[API](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api.md) · [All operations](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api/revisions/63c474bf0fe4?raw)
