---
title: "Fetch upload-session state."
method: GET
path: "/api/upload-sessions/{id}"
tags: ["Artifacts", "Publisher"]
---

# Fetch upload-session state.

`GET /api/upload-sessions/{id}`

## Request

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

Fetch upload-session state.

**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.** Public read budgets apply by client IP and route group. This operation can have a smaller route-specific budget. Read Retry-After on 429 or retryable 503 responses.

**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.

## Path parameters

- `id` string, required

## Query parameters

- `refresh` '1'

## Response `200`

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

---

[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)
